📜 ⬆️ ⬇️

What to choose: PaaS and IaaS

In our blog on Habré, we like to sort out interesting cases related to the practical side of using virtual infrastructure by startups. In addition, we draw attention to foreign experience - we analyze everything related to the work of complex IT systems, infrastructure and hardware.

For example, recently we told:


Today we will tell about the main differences between PaaS and IaaS.
')
/ photo by Fondo Antiguo de la Biblioteca de la Universidad de Sevilla CC

A bit of terminology


The main difference is the level of abstraction over the equipment, which is somehow located in the data center. Each solution is suitable for the respective tasks.

What are we talking about:


Pros and cons of dedicated servers ("bare metal"):


Unfortunately, the disadvantages here often outweigh the possibilities, which require serious experience. Virtualization comes to the rescue when a single physical server shares several virtual servers. Technologies: Xen, KVM, VMware and Hyper-V and many more.

Advantages and disadvantages:


Infrastructure as a service


This means software access to computing power and storage, as well as network resources and configurations. You only need to pay for the use of data center resources.

Now, businesses do not need to think about buying their equipment and spend money on administration. You can very quickly launch pilot projects and quickly scale those that have become successful.

Automation of various parts of the data center has already happened: storage, network technologies and a huge number of other systems that required a certain set of skills were managed through the API, which opened up new horizons of opportunities for the developer community.

Platform as a service


An example of a PaaS provider is Heroku. It runs completely on top of AWS. Without IaaS, platforms like Heroku most likely would not have appeared. PaaS providers use IaaS to provide their services.

PaaS allowed us to further reduce the time that passes from the moment the idea came to the deployment of the application - even more automation of the processes that had to be performed manually, as well as a reduction in the required level of knowledge to work with specialized systems.

Creating a PaaS is very difficult. Here you will need to create an application management database that monitors changes in Git, working versions and meta data of the application. In addition, cluster task scheduler, load balancer, automate DNS operation and implement a certain form of containerization (FreeBSD Jail, Solaris Zones, Linux Containers).

findings


In simple terms, IaaS resembles leasing a server for a certain period of time. PaaS can be described as something more complex: a bundled set of tools to start and manage your web application.

Neighbors working on the same PaaS provider can affect each other's performance. In the case of IaaS, you can use larger instances, which most often means dedicated access to a physical machine that does not have “neighbors”. More PaaS system components mean more risk points where intervention may be required.

Although most PaaS platforms provide a universal interface for managing applications. Bribes the ease with which you can duplicate whole environments. You can run a clone of your entire system in just a couple of minutes. Here are just the cost of some platforms, for example, Heroku, can quickly become too large (even by the standards of IaaS).

It turned out that PaaS wins in some areas, and IaaS wins in others. That is the reality. If you can afford a greater degree of risk, then PaaS offers flexible application management capabilities that significantly speed up the process, compared to IaaS.

Additional reading:

Source: https://habr.com/ru/post/275085/


All Articles