Cloud 101
Cloud Computing Services
There are three main types of cloud services on the levels of abstractions they provide: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
IaaS
Infrastructure as a Service (IaaS) is a type of cloud computing service that provides access to computing resources such as servers, storage, and networking. IaaS customers can rent these resources on an as-needed basis, and they can scale their resources up or down as needed.
IaaS is a good choice for businesses that need a flexible and scalable IT infrastructure. For example, a business that experiences seasonal spikes in traffic may use IaaS to scale its infrastructure up during peak periods and then scale it back down during off-peak periods.
Analogy for IaaS
Imagine that you are a restaurant owner. You need to have tables, chairs, and dishes for your customers. However, you don't want to buy all of this equipment upfront, because you don't know how many customers you will have.
Instead, you could rent tables, chairs, and dishes from a company that specializes in renting equipment to restaurants. This way, you can only rent the equipment you need, and you can scale your rental up or down as needed.
Eg: Amazon Elastic Compute Cloud (Amazon EC2)
PaaS
Platform as a Service (PaaS) is a type of cloud computing service that provides a platform for developing, deploying, and managing applications. PaaS customers do not need to worry about managing the underlying infrastructure, such as servers, storage, and networking. Instead, they can focus on developing and deploying their applications.
PaaS is a good choice for businesses that want to focus on developing applications without having to worry about managing the underlying infrastructure. For example, a software company may use PaaS to develop and deploy its web applications.
Analogy for PaaS
Imagine that you are a chef and you want to open a restaurant. You need to have a kitchen, cooking equipment, and ingredients to prepare your food. However, you don't want to buy all of this equipment upfront, because you don't know how many customers you will have.
Instead, you could rent a kitchen from a company that specializes in renting kitchens to chefs. This company would provide you with everything you need to prepare your food, such as stoves, ovens, and refrigerators. You would then be able to focus on preparing your food and serving your customers.
Eg: AWS Elastic Beanstalk
SaaS
Software as a Service (SaaS) is a type of cloud computing service that provides software applications as a service over the internet. SaaS customers do not need to install or maintain any software on their own devices. Instead, they can access the software applications through a web browser or mobile app.
SaaS is a good choice for businesses of all sizes. It is a convenient and affordable way to access software applications. For example, a small business may use SaaS to manage its customer relationship management (CRM) system, or a large enterprise may use SaaS to manage its human resources (HR) system.
Analogy for SaaS
Imagine that you want to use a word processing application. You could buy a copy of Microsoft Word and install it on your computer. However, this would require you to pay for the software upfront and you would need to worry about installing and maintaining it.
Instead, you could use a SaaS word processing application such as Google Docs. Google Docs is a free word processing application that you can access through a web browser. You do not need to install or maintain any software, and you can access Google Docs from anywhere with an internet connection.
Factors for choosing
When choosing between IaaS, PaaS, and SaaS, there are a number of factors to consider, including:
- Your needs and requirements: What are you trying to achieve with cloud computing? What kind of applications do you need to run? What are your security and compliance requirements?
- Your budget: How much can you afford to spend on cloud computing?
- Your expertise and resources: Do you have the expertise and resources to manage your own infrastructure?
Factor | IaaS | PaaS | SaaS |
---|---|---|---|
Level of control | High | Medium | Low |
Scalability | High | Medium | Low |
Cost | High | Medium | Low |
Security | Medium | High | High |
Compliance | Flexible | Flexible | Less Flexible |
Use case | High-performance computing, big data, machine learning, custom applications | Web applications, mobile applications, databases | CRM, ERP, HR, email, productivity tools |
Business Need | Businesses that need a high level of control and scalability | Businesses that want to focus on developing and deploying applications | Businesses that need software applications |