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 startup virtual infrastructure. In addition, we pay attention to foreign experience - we analyze everything related to the operation of complex IT systems, infrastructure and hardware.

    For example, recently we told:

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

    Some terminology

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

    What we are talking about:

    • Infrastructure as a Service (IaaS);
    • Platform as a Service (PaaS).

    Pros and cons of dedicated servers (bare metal):

    • Performance - direct access to hardware, but also more difficult to manage;
    • Reliability - but only if you yourself do not make a mistake in the service;
    • Resource use - when using dedicated servers, processes do not fight with other processes or virtual machines for the computing power of the processor, memory and network resources;
    • Price - you pay only for the hardware (rent it from the provider).

    Unfortunately, the disadvantages here often outweigh the opportunities for which you need serious experience. Virtualization comes to the rescue when several physical servers share one physical server. Technologies: Xen, KVM, VMware and Hyper-V and many more.

    Advantages and disadvantages:

    • Fast cloning of virtual machines;
    • Simple backups of virtual machine images;
    • Working with virtual machines requires expertise.

    Infrastructure as a Service

    This refers to programmatic access to computing power and storage, as well as network resources and configurations. You need to pay only for the time you use the data center resources.

    Now, the business does not need to think about buying its equipment and spend money on administration. You can run pilot projects very quickly and quickly scale those that have become successful.

    Automation of various parts of the data center has already occurred: storages, network technologies and a huge number of other systems that required a certain set of skills began to be 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 fully runs on top of AWS. Without IaaS, platforms like Heroku would most likely not have appeared. PaaS providers use IaaS to provide their services.

    PaaS allowed us to further reduce the time elapsing from the moment the idea came to the deployment of the application - even greater automation of the processes that were to be performed manually, as well as a decrease in the required level of knowledge for working with specialized systems.

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


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

    Neighbors running on the same PaaS provider can affect each other's performance. In the case of IaaS, you can use large 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. Bribing is the ease with which you can duplicate entire environments. You can launch a clone of your entire system in just a couple of minutes. That's just the cost of some platforms, for example, Heroku, can quickly become too large (even by IaaS standards).

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

    Additional reading:

    Also popular now: