What is Cloud Computing?
If you work on the technology field, you have probably heard the term “Cloud Services” and because of this you may have also heard the terms PaaS, IaaS and SaaS. If you don’t know what those terms mean, this blog will help you understand them.
First, let’s define what is “Cloud Computing”; cloud computing is the use of the Internet to access apps, information or services that are working on remote servers. Any organization that offers an Internet-based approach to computing can be called a cloud company, but, not every cloud company is the same.
There are different cloud service models in which cloud services may be offered, but we are going to focus just on the most important models.
Infrastructure as a Service - IaaS
IaaS is the model by which the cloud consumer outsources responsibility for their infrastructure to an external cloud provider. The cloud provider not only owns the equipment that provides the infrastructure resources but is also responsible for the ongoing operation and maintenance of those. This way the consumer save time and money.
While the cloud consumer deploys and run their own application and operating system, the IaaS provider can handle the following:
- Storage resources, including replication, backup, and archiving.
- Compute resources, which are the resources traditionally provided by servers or server farms, including processor, memory, disk, and networking.
- Connectivity domains, including infrastructure management and security, such as network load balancing and firewalls.
IaaS allows an organization to spin up additional resources quickly and efficiently without having to purchase physical hardware, also this model is charged on a “pay-as-you-use” or “pay-as-you-grow” basis charging you for what you are actually using.
Some examples of IaaS providers are:
- Amazon Web Services (AWS)
Is the most popular and dominant choice because of the vast variety of services that can be offered to us such as Elastic Compute Cloud (EC2), a service that provides resizable compute capacity in the cloud.
- Windows Azure
Despite his name, is not a Windows-only IaaS and his compute and storage services are similar to what you will find in others IaaS providers but with and easy to use administration tool, especially for windows users.
Offers core cloud computing services and it is as a strong as customer service.
Platform as a Service - PaaS
Since we are talking about a cloud service, Paas model allows the customer to run, manage and develop web applications without the hassle of maintaining the hardware and software infrastructure at your company, saving time and money. With paas model, the only concern for the consumer is the construction of the application.
In addition to an infrastructure, these users also have access to both tools and programming languages that are required to create PaaS applications through their cloud provider via an Application Programming Interface (API).
Here are some examples of services offered by a PasS provider:
Heroku is a cloud platform based on a managed container system, with integrated data services and a powerful ecosystem, for deploying and running modern apps. The Heroku developer experience is an app-centric approach for software delivery, integrated with today’s most popular developer tools and workflows.
- Google App Engine
Google App Engine enables developers to run Web apps on Google's infrastructure. It features dynamic Web serving, automatic scaling and load balancing. It supports Java and languages using a JVM-based interpreter or compiler, as well as Python and Google's Go.
- Microsoft Azure Web Sites
Microsoft Azure Web Sites is a platform as a service which allows publishing Web apps running on multiple frameworks and written in different programming languages (.NET, nodeJS, PHP, Phyton and Java), including Microsoft proprietary ones and 3rd party ones.
- Microsoft Azure Web Sites
AWS Elastic Beanstalk is a PaaS offered from Amazon Web Services that allows users to create applications and push them to a definable set of AWS services, including Amazon EC2, Amazon S3, Amazon Simple Notification Service (SNS), Amazon Cloud Watch, Auto Scaling, and Elastic Load Balancers.
For developers who ignore the infrastructure that must be mounted, and only want to worry about writing software, paas model is the alternative to follow.
Software as a Service - SaaS
Software as a Service (SaaS) is a cloud service model that allow a cloud consumer to take advantage of a software delivery model that provides on-demand applications over the Internet using a web browser.
In other words, SaaS can be defined as "software deployed as a hosted service and accessed over the Internet”. When an organization deploys SaaS, they no longer have to manage the installation or the infrastructure that supports the application hosted at the cloud providers.
Services offered by a SaaS provider:
- Other line of business application
- Microsoft Office 365 which is a Web-based version of Microsoft's Office suite of enterprise-grade productivity applications
- Mail services like Gmail, Yahoo, etc
- Social networks like Facebook, Twitter and LinkedIn.
We can describe all these models as layers, sitting on top of another; at the bottom we have Infrastructure as a Service (IaaS), Platform as a Service (PaaS) on the middle, and Software as a Service (SaaS) on the top and every model is handled by different persons: IaaS is primarily used for IT service providers, PaaS is primarily used by developers, and SaaS is used by end users.
Businesses are relying more and more on Cloud computing every day. The choice of solution depends in most cases on the budget and the level of control that you need. In the case of a small startup, it might prefer to use a PaaS, but a large enterprise could prefer IaaS for example.
Building and designing a IaaS is a complex process and a waste of internal resources where you could focus in your business goals; Our DevOps engineers can help you assess and evaluate your infrastructure needs and transform your business into a Cloud service delivering an Agile and Efficient Infrastructure".