How does PaaS work?
3 main advantages of using PaaS
Cloud computing has made application deployment seamless. With simple virtual machines, you get IaaS. There are many providers that offer IaaS but there is a downside, as a huge amount of responsibility falls on you: application installation, middleware, application server, databases.
PaaS, for example, allows you to simply click on several options in the interface and have your application up and running.
Are you still deciding between PaaS and IaaS? If so, this article will help you understand how PaaS works and how it can benefit you.
Let's go ? Just imagine that PaaS consists of four main elements.
Every application consists of and depends on a variety of components. These components can be libraries, frameworks, application servers, databases, caching servers, message queues, etc.
One of the main advantages of PaaS, as opposed to IaaS, is that it provides properly configured and optimised models on software stacks, which are available in a runtime for any application. Good PaaS solutions provide support for different programming languages and databases. For example, you may find support for the Tomcat web server to run your Java application, or Nginx for a PHP-based application.
All the stacks you select must be running somewhere. Typically, the cloud environment is used by multiple users and the cloud provider needs to isolate the applications of different users from each other. As most PaaS providers operate on top of the IaaS layer, the stacks are usually isolated using virtual machines or containers.
Virtual machines are attractive because they allow some users' components to be isolated from other users' components, as well as to scale independently and run on different physical servers in different data centres. Virtual containers are lighter than virtual machines and more cost effective.
In general, having a stack model is not enough to deploy a PaaS service, as there are many other tasks outside of the deployment. For example, when you need to scale and properly add new web servers to the load balancer or perform horizontal scaling, and properly configure application servers to work with server caching.
There are many things you need to automate: backups, managing database or application server configurations, and most importantly, upgrading from one version to another and patching components. Staying on the old version puts application security and business success at risk.
To prevent security breaches, PaaS providers issue patches for components that were vulnerable and apply these security patches to all users.
This automation greatly simplifies the work of developers and considerably reduces the risks for companies.
One of the main features of PaaS is the automation of application deployment. It really depends on the case, but many PaaS providers offer both source code deployment via Git/SVN, or binary application distribution.
This feature significantly reduces development time and can include options such as continuous upgrading to minimise application downtime while the version is upgraded.
The user interface gives you the flexibility to manage all the necessary services. The user interface includes not only a web interface, but also an API and a CLI.
Good PaaS providers offer a user-friendly interface that reduces the percentage of human error. Since the interface is part of the automation and many things do not have to be done manually, all deployments and updates can be done much faster.
3 main advantages of using PaaS
The scalability of PaaS involves the automatic allocation and release of the necessary resources according to the number of users served by the application.
Typically, supported PaaS solutions scale horizontally across multiple physical servers, but some supported PaaS platforms automatically scale vertically, making it easy to handle the demands of more users with the same number of instances.
"During the Black Friday 2017 sale day, we received a huge peak of 300K visits including organic and paid sources from all over Switzerland. We had a lot of front and back office activity at that time and the infrastructure coped without any problems, the peaks were absorbed without reducing the response time."
#2 Rapid development. Faster time to market.
PaaS primarily helps developers speed up application development, saving them money and, more importantly, reducing time to market by allowing them to focus on what they do best: developing applications, not configuring and managing servers and databases.
Other features that favour the use of PaaS are the streamlining of the application deployment process, integrated high availability, and monitoring, which reduce costs and development time.
"In simple terms, git keeps the source code and the CI/CD system helps to automatically retrieve new versions. When the developer registers his code in the git repository, the CI/CD system automatically transfers it to the Hidora environment. In a sustainable way, the CI/CD system ensures that versions are always updated and all changes made by developers are merged automatically."
#3 Value for money
The pay-as-you-use pricing model is able to adapt to your needs. When creating a cloud server, you can specify the amount of resources that will be reserved and/or dynamically allocated to handle all incoming requests during peak loads.
Pay-per-use pricing automatically adjusts to your resource usage and allows you to pay less, compared to traditional pay-per-use pricing. For example, if you have fewer visitors to your site at night, you pay less than during the busier day.
"For all applications, every expense is important. We paid 5 times more on AWS than we do now on Hidora. The price difference is huge and we are very happy with our current hosting bill."
If you have a small or medium-sized business, PaaS is the best option for you. This is because it offers a pay-as-you-go pricing model, does not require a large investment to start using it, automates processes, simplifies deployment and reduces time to market. PaaS handles automatic scaling up and down, load balancing and disaster recovery, handles all security requirements, reliability, high availability and many third party add-ons for you.
Matthieu Robin is the CEO of Hidora, an experienced strategic leader, a former system administrator who has managed and configured more environments manually than anyone else on the planet and after realising that it could be done with a few clicks created Hidora SA. He is a regular speaker at conferences and helps companies optimise their business processes with DevOps. Follow him on Twitter @matthieurobin.