Popular open source - part two: 5 tools for managing the cloud

    Last time we talked about the most popular and discussed tools and services for working with logs and databases. The topic of today's material is container management and load balancing in the cloud .


    / photo by Nicolas Henderson CC BY


    Apache OpenWhisk



    Apache OpenWhisk is an open cloud platform for serverless computing. This concept assumes that cloud computing resources are used as services. Thus, developers and administrators do not need to take care of the infrastructure and server maintenance. It turns out that OpenWhisk deals with issues of scalability, code support and environment security.

    Work on OpenWhisk started by IBM Research staff in 2015. And in 2016, the source code of the project appeared on GitHub . The platform quickly gained popularity due to the actively developing trend for serverless computing. Markets & Markets forecastthat by 2021 the value of this market will be 7.7 billion dollars (at a cost of 2 billion in 2016). Already today, in addition to IBM, in their solutions the platform is used by such companies as Adobe and Naver (the most popular search engine in South Korea).

    The advantages of the platform were also appreciated in Red Hat. Representatives of the company believe that other open projects - Fission, Kubeless, IronFunctions - are inferior to OpenWhisk in the amount of code base, the quality of functions and the number of contributors. Therefore, Red Hat themselves work with OpenWhisk and help the project evolve.

    There are also flaws in the platform. Users note that OpenWhisk has too many tools. It includes: CouchDB, Kafka, Nginx, Redis and Zookeeper. By itself, the presence of additional functionality is not something bad, just in all this diversity it is difficult to understand.

    In addition, in 2018 the reputation OpenWhisk « spoiled " vulnerability that allows attackers under certain conditions to change custom function. They were promptly closed , but the developers needed to update the Docker or Git tags to the latest version. Therefore, the exact number of systems remaining vulnerable is unknown. Read more about the protection of OpenWhisk in the article on Medium . Those who want to learn more about the platform and try it out at work should pay attention to the guide from the blog of James Thomas (James Thomas), developer of IBM Cloud.


    Pulumi



    This is a new cloud platform for the development of programs in JavaScript, Python, Go and others . Finished applications can be run in any cloud, including the use of containers Kubernetes. At the same time, Pulumi is based on the concept of a programmable infrastructure (infrastructure-as-code). Users get the opportunity to work with hardware as with a code (manage the hardware settings programmatically).

    It is still difficult to assess how effective the tool will be on real projects. A number of Hacker News residents in a thematic thread said that Pulumi is not suitable for work on bare metal. Plus, the tool has no serious advantages over similar tools like Terraform., which exists on the market for four years and managed to gain a community.

    If you are still interested to evaluate the capabilities of Pulumi, a quick start guide can be found in the repository on GitHub .


    GLB Director



    GLB Director is a GitHub load balancer, which developers have opened access to at the end of last summer. We told about this event in one of the materials of our blog .

    The tool itself was the answer to the problem encountered in the company. The previous solution - haproxy - did not cope with the loads on GitHub. When using haproxy, services can only be scaled vertically - to add processor, memory, disk resources, which did not give a noticeable performance boost. Therefore, the developers have created their own solution, sharpened by the load of the web service.

    GLB Director does not send packets to a single node, but distributes them between primary and secondary proxy servers using a rendezvous-hashing ( HRW ) system. If one server fails, the packets are redirected to the second. Due to this, the balancer supports the fault tolerance of TCP connections.

    Hacker News users believe that immediately understand how to work with a balancer is difficult. However, it is effective for load distribution in large data centers. In this case, GLB Director can be inconvenient when distributing the load between backend servers. For this task, it makes sense to draw on another open solution - Katran balancer from Facebook.


    / photo by Christopher A. Dominic CC BY


    Crossplane



    Crossplane is an open multi-cloud platform for managing loads. It allows you to transfer applications between multiple cloud environments and does not depend on the types of clusters and libraries used. The platform helps to delineate the responsibilities of developers and administrators, while monitoring the stability of services.

    The platform architecture is based on the resource allocation model that Kubernetes uses . In general, it can be said that the Crossplane is a hybrid of Kubernetes and the aforementioned Terraform.

    The difference with Crossplane is that in this platform all configuration files are collected in one place. However, it is believed that the new tool will have to be used with Terraform, and not instead.

    To get acquainted with the platform in practice, the authors propose to launch the Wordpress application with the help of a guide in the community blog.


    Titus



    Titus is a container management platform from Netflix that was transferred to open source last year. It allows the company to work with 200 thousand computing clusters daily. The solution is based on the Apache Mesos management system , which integrates virtual machines into one cluster. A similar approach is used in the Linux kernel when it is necessary to divide iron resources between local processes.

    There is an opinionThat opening code is an attempt by Netflix to keep the project afloat. The solution for managing container environments took Netflix before Kubernetes appeared. Therefore, their system has almost no advantages over the Google tool (only companies that already work with Apache Mesos can benefit). It was developed later and with an eye on multi-cloud environments, so a large community has already formed around it.

    In this regard, it is likely that in the future Netflix developers themselves will abandon Titus and switch to Kubernetes.



    Next time we’ll continue to talk about popular open source tools. Let's talk about solutions that simplify the tasks of software developers.



    Materials from our corporate blog:


    Additional reading in our Telegram channel:


    Also popular now: