📜 ⬆️ ⬇️

High performance and hosting infrastructure: 1cloud project experience

image

In our blog, we already talked about building the infrastructure of a hosting provider and creating an API for it, described the automation of accounting tasks, and even revealed the theme of redesigning our own website.

In today's topic, we will discuss another interesting topic - the possibility of ordering so-called “large configurations”, that is, high-performance and simply “large” servers.
')

What is it and for whom?


By “large” servers are meant machines with up to 32 CPUs and up to 128 GB of RAM (per server). We also developed a mechanism to allow customers to migrate their infrastructure to a more productive pool as they go along.

Such a need may arise, for example, with the rapid growth of a project that is rapidly gaining attendance, for which the current technological stack simply does not keep up. Then it is logical to decide on a quick and painless transition to more productive servers and vertical scaling.

At the same time, in the end, horizontal scaling is often the most profitable option in the long term.

The base pool is suitable for, for example, terminal servers or for not very loaded applications and web sites. For performance-demanding or heavily loaded resources, you can use a productive pool.

All 1cloud virtual servers are located on NetApp FAS6240 / FAS8040 disk arrays. The equipment is located in the Tier III data processing center (SDN) in St. Petersburg, and all communication channels have physical redundancy.

image

What makes a productive pool different


The base server's 1cloud server infrastructure is built on HP ProLiant blade servers with Intel Xeon x5675 processors. Servers with up to 12 CPUs in the production pool are hosted on Cisco UCS servers with Intel Xeon E5 processors.

They look like this:

image

image

Virtual servers from 14 CPUs to 32 CPUs are hosted on Dell PowerEdge servers with Intel Xeon E7 processors:

image

How is the migration


After the site was redesigned, a convenient calculator appeared on it, which allows not only ordering standard configurations, but also creating “custom” applications. After the implementation of the high-performance server pool, new controls appeared in the calculator:

image

In addition, the ability to order large servers appeared in the internal hosting control panel. Thanks to this, users can not only conveniently order such a server from scratch, but also quickly migrate their infrastructure to a more productive pool in just a couple of clicks:

image

Quite often, productive servers are required at the testing stage of the provider infrastructure - in order to facilitate this process, we have implemented the ability to provide servers with up to 8 CPUs and 32 GB of RAM for testing.

Large configurations allow you to implement vertical scaling of the infrastructure - thanks to the API 1cloud you can configure automatic scaling if necessary.

In the near future we plan to work in two directions:

  1. Creating a server load tracking function - clients should be able to see how loaded their server is in the hosting control panel and be able to set alerts when load thresholds are exceeded.
  2. Implementing the load balancer - in the same way, customers will be able to distribute the load across servers in a couple of clicks directly from the control panel interface.

The implementation of these two "features" will allow us to lay the foundation for the introduction of other services, such as elastic cloud and automatic horizontal scaling with increasing load.

That's all for today. We will be happy to answer questions in the comments. If any topic related to the hosting infrastructure, you are especially interested - say, and we will make a new post.

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


All Articles