Cloud Computing Overview
In April 2012, I had a chance to join a very big project to build a finance system which could serve multiple tenants. At the first day, I found some words mentioned about SaaS and Cloud Computing, the things have taken me quite a lot of time to study and investigate until now.
So what’s the Cloud Computing? What’s the SaaS? I found the answers and want to share to you.
What’s Cloud Computing?
Cloud Computing is computing in which large groups of remote servers are networked to allow the centralized data storage, and online access to computer services or resources.
The term of Cloud Computing appeared from 1950s and in 2007 it came into popularity. The following reasons shows us why Cloud Computing became popular.
Figure 1 – Cloud Computing Characteristics
Cloud Computing Solution
When you need to create an application for your business you have a couple different options. The following diagram shows us all relevant solutions.
Figure 2 – Cloud Computing Solutions
The first one is traditional approach, you need to manage everything by yourself. IaaS, PaaS and SaaS are all Cloud Computing solutions.
IaaS (Infrastructure as a Service)
- The provider has created the infrastructure. This allows the developer to create their own platform and software.
- The developer takes responsibly to maintain and update the system not the provider. The service providers more flexibility and requires a higher amount of technical knowledge.
Below are some of features that can be included with an IaaS offering:
- Virtual Machine
- Data Storage
PaaS (Platform as a Service)
- PaaS is going to offer you the hardware and the infrastructure for running applications over the internet.
- The service provider has already built the infrastructure and the platform, so all the developer has to do is write their program and deploy it.
- Maintenance falls on the PaaS provider; so that’s one less thing the developer has to worry about.
Below are some of the features that can be included with a PaaS offering:
- Operating system
- Server-side scripting environment
- Database management system
- Tool for design and development
SaaS (Software as a Service)
- SaaS comes with infrastructure, the platform and even the software.
- Depending on the SaaS’s purpose, it could include e-commerce, enterprise or other types of software already installed on the platform.
- SaaS are for businesses who don’t want to deal with the maintaining or creating the software for their applications.
- SaaS doesn’t offer the flexibility of creating custom software like IaaS, but instead offers more generic software for consumers.
You can also hear other terms like DaaS (Desktop as a Service, Data-center as a Service), BaaS (Business as a Service) and etc. But from my perspective, they will be matched with 3 main solutions I described above. New names are the providers’ strategy to make us forget the old one.
Cloud Computing Models
In term of the different levels of security and management required we have three models of Cloud Computing: Public, Private and Hybrid Cloud.
Figure 3 – Cloud Computing Models
|Model||Characteristics||The Obvious choice when|