📜 ⬆️ ⬇️

How Jelastic placed its platform on Microsoft Azure

We continue to talk about solution development companies (ISVs) using the Microsoft Azure cloud. In this issue, we present the story of how Jelastic , which develops DevOps PaaS with the support of advanced orchestration of Docker containers, does it. Dmitry Lazarenko, director of business development Jelastic.




Good day!

Jelastic is a universal cloud platform that combines the ability to use PaaS (platform as a service) and IaaS (infrastructure as a service). Using Jelastic, you can greatly simplify the development of cloud services by setting up your environment in Java, Ruby, Python, PHP and / or Node.JS in a few minutes and placing a project in this environment using Eclipse, NetBeans or IDEA plugins. Last year, at the flagship Microsoft / build conference, support for Jelastic PaaS on Microsoft Azure platform resources was announced. About how it was, what led to and how everything works from the technical and technological side, read under the cut.

At present, the “coupling” of Jelastic and Azure from the side of technological solutions is as follows - the platform interacts with Azure in two ways:

Both of the above solutions can be installed automatically from the Azure Marketplace, a partner solutions store that is available to Microsoft Azure users.
')
The story of autoscaling to the Azure public cloud is also very relevant among large customers. Azure cloud, available in a large number of countries around the world, allows you to allocate the necessary resources as close as possible to the private data center of customers and, thereby, minimize network delays and time spent on data transfer. In addition, we integrated Azure Traffic Manager to enable highly available geo-balancing.

Now let's look at the technical component. The architecture of our solution is as follows - Jelastic will include a set of control services written in Java. These services include: orchestrator, security system, metrics collection system, billing, template pool management, etc. There is also a distributed entry point consisting of a reverse Nginx proxy server and the Bind domain name server. HTTP or TCP requests to end-user applications go through this entry point and are distributed to specific applications.



Jelastic users usually create environments with an architecture similar to the following:



In the process of deployment, despite the fact that, in general, the deployment took place without any problems, we had to adapt in some way the well-established architecture of the application to the specifics of Azure, which we would like to share. At first, there were several problems:
  1. Low performance of Azure Premium Storage on Linux. It turned out that this was a consequence of the incorrect size of the file system block, which was used by default. After we changed the block size from 63 to 4096, the performance of the Azure Premium Storage disk subsystem increased by several orders of magnitude.
  2. Strong filtering of network packets in virtual networks. This problem is relevant for us, because we use virtual containers distributed across multiple Azure virtual machines, and in fact Jelastic independently manages the internal network of containers. The problem was solved by creating an overlay network that works according to our rules.
  3. Restrictions on the number of external IP addresses that can be assigned to one virtual machine. At the moment, no more than 2 external IP addresses can be set for one VM. Since multiple virtual containers can work in one Azure VM, they could need more than 3 IP addresses. The problem was solved by applying reserved IP (Reserved IP).

We have several goals to interact with Microsoft Azure and provide our platform through the Azure Marketplace:

At the moment there are already some excellent results:

There are some positive aspects in using Azure, as the platform gave us the opportunity to significantly simplify and speed up the installation of Jelastic for the end user. Previously, this process took several days and required the involvement of our deployment engineers. Now, using the Azure Marketplace, the client can independently deploy an isolated Jelastic cluster and this will take only half an hour. If we talk about how we did it, how we moved, then, as such, there was no transition: with the help of Azure and Azure Marketplace, we simplified and accelerated the installation of the product, leaving behind alternative options. The work on creating a solution for the Azure Marketplace took about a month and a half of the work of our developers and deployment engineers, but these costs paid off after 3-4 months.

A detailed tutorial on how to use Jelastic on Azure is available on the Jelastic website .

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


All Articles