Hybrid clouds: a reminder for novice pilots

Hybrid clouds: a reminder for novice pilots

Hello, Khabrovites! According to statistics, the cloud services market in Russia is constantly gaining momentum. Hybrid clouds are trending more than ever, despite the fact that the technology itself is far from new. Many companies are thinking about how expedient it is to maintain and maintain a huge fleet of hardware, including the one that is needed situationally, in the form of a private cloud.

Today we will talk about in which situations the use of a hybrid cloud will be a justified step, and in which it can create problems. The article will be useful to those who have not previously had a serious experience with hybrid clouds, but are already looking at them and do not know where to start.

At the end of the article, we provide a checklist of tricks that will help you when choosing a cloud provider and setting up a hybrid cloud.

All interested, please go under the cut!

Private cloud VS public: pros and cons

To understand what drives businesses to move to a hybrid, let's look at the key features of public and private clouds. Let's focus, first of all, on those aspects that in one way or another concern most companies. To avoid confusion in terminology, here are the main definitions:

Private (or private) cloud is an IT infrastructure, the components of which are located within the same company and only on equipment owned by this company or cloud provider.

public cloud is an IT environment, the owner of which provides services on a reimbursable basis and provides a place in the cloud to everyone.

hybrid cloud consists of more than one private and more than one public cloud, the computing power of which is shared.

Private clouds

Despite its high cost, a private cloud has several advantages that cannot be ignored. This is high manageability, data security, full monitoring of resources and equipment operation. Roughly speaking, a private cloud meets all the ideas of engineers about an ideal infrastructure. At any time, you can adjust the architecture of the cloud, change its properties and configuration.

There is no need to rely on external providers - all infrastructure components remain on your side.

But despite the strong pros, a private cloud can be very costly to get started and maintain later on. Already at the stage of designing a private cloud, it is necessary to correctly calculate the future load ... Saving at the start can lead to the fact that sooner or later you will face a lack of resources and the need to grow. And scaling a private cloud is complex and expensive. Every time you have to buy new equipment, connect it and configure it, and this can often take weeks - versus almost instantaneous scaling in the public cloud.

In addition to the cost of equipment, it is necessary to lay financial resources for licenses and personnel.

In some cases, the balance "price/quality", or rather "price of scaling and maintenance/obtained benefits" is finally shifted towards the price.

public clouds

If only you own the private cloud, then the public cloud is owned by an external provider that allows you to use your computing resources for a fee.

At the same time, everything related to the support and maintenance of the cloud falls on the powerful "provider" shoulders. Your task is to choose the best tariff plan and make payments on time.

Using a public cloud for relatively small projects is an order of magnitude cheaper than maintaining your own equipment fleet.

Accordingly, there is no need to maintain IT specialists and financial risks are reduced.

At any time, you are free to change the cloud provider and move to a more suitable or more profitable location.

As for the disadvantages of public clouds, everything is quite expected here: much less control over the client side, lower performance when processing large amounts of data and low data security compared to private ones, which can be critical for some types of business.

hybrid clouds

At the junction of the advantages and disadvantages listed above, there are hybrid clouds, which de facto are a bundle of at least one private cloud with one or more public ones. At first (and even at second) glance, it may seem that a hybrid cloud is a philosopher's stone that allows you to β€œinflate” computing power at any time, perform the necessary calculations and β€œblow off” everything back. Not a cloud, but David Blaine!

Hybrid clouds: a reminder for novice pilots

In practice, everything is almost as beautiful as in theory: a hybrid cloud saves time and money, has many standard and non-standard use cases ... but there are nuances. Here are the most important ones:

At first, it is necessary to correctly dock β€œown” and β€œforeign” clouds, including in terms of performance. A lot of problems can arise here, especially if the data center with a public cloud is physically removed or built on a different technology. In this case, there is a high risk of delays, sometimes critical.

Secondly, the use of a hybrid cloud as an infrastructure for a single application is fraught with uneven performance on all fronts (from the CPU to the disk subsystem) and a decrease in fault tolerance. Two servers with the same parameters, but located in different segments, will show different performance.

Thirdly, do not forget about the hardware vulnerabilities of β€œalien” hardware (fiery hello to Intel architects) and other security problems in the public part of the cloud, already mentioned above.

Fourthly, the use of a hybrid cloud threatens to significantly reduce fault tolerance if it hosts a single application.

Special bonus: now two clouds can "break" at once instead of one and / or the connection between them. And at once in a set of combinations.

Separately, it is worth mentioning the problems of hosting large applications in a hybrid cloud.
In the vast majority of cases, you can’t just take and get in a public cloud, for example, 100 virtual machines with 128GB of RAM. Most often, even 10 of these machines will not be allocated to you.

Hybrid clouds: a reminder for novice pilots

Yes, public clouds are not Moscow, not rubber. Many providers simply do not keep such a reserve of free capacity - and first of all this concerns RAM. You can "draw" as many processor cores as you like, the volume of SSD or HDD - to give out many times more than is physically available. The provider will hope that you do not use the entire volume at once and it will be possible to increase it along the way. But if there is not enough RAM, the virtual machine or application can easily collapse. And not always the virtualization system allows such tricks. In any case, it is worth remembering this development of events and discussing these points with the provider β€œon the shore”, otherwise you risk being left behind during peak loads (Black Friday, seasonal load, etc.).

In summary, if you want to use a hybrid infrastructure, keep in mind that:

  • The provider is not always ready to provide the necessary capacity on demand.
  • There are problems and delays in the connectivity of elements. You need to understand which pieces of the infrastructure and in what cases will make requests through the β€œjunction”, this can affect performance and availability. It is better to consider that in the cloud there is not one node of the cluster, but a separate and independent piece of infrastructure.
  • There is a risk of problems in large parts of the landscape. In a hybrid solution, either one or the other cloud can completely β€œfall off”. In the case of a conventional virtualization cluster, you run the risk of losing a maximum of one server, but here - a lot at once and overnight.
  • The safest thing to do is to treat the public part not as an β€œextensor”, but as a separate cloud in a separate data center. True, in this case you actually ignore the β€œhybridity” of the solution.

We smooth out the shortcomings of the hybrid cloud

In fact, the picture is much more pleasant than you might think. The most important thing is to know the tricks of β€œcooking” a good hybrid cloud. Here are the main ones in checklist format:

  • You should not take out to the public cloud separately from the main software parts of the application that are sensitive to delays: for example, cache or databases under OLTP load.
  • Do not bring to the public cloud the entire parts of the application, without which it will stop working. Otherwise, the probability of system failure will increase several times.
  • When scaling, keep in mind that the performance of machines deployed in different parts of the cloud will vary. The flexibility of scaling will also be far from perfect. Unfortunately, this is an architectural design problem and you won't be able to completely eradicate it. You can only try to reduce its impact on work.
  • Try to ensure the maximum physical proximity of the public and private clouds: the smaller the distance, the lower the delays between segments. Ideally, both parts of the cloud should β€œlive” in the same data center.
  • It is equally important to ensure that both clouds use identical network technologies. Ethernet-InfiniBand gateways can present a lot of problems.
  • If the same virtualization technology is used in the private and public clouds, this is a definite plus. In some cases, you can negotiate with the provider to migrate entire virtual machines without reinstallation.
  • To benefit from the use of a hybrid cloud, choose a cloud provider with the most flexible pricing. Best of all - according to the actually used resources.
  • Scale with data centers: it was necessary to increase the capacity - we raise the β€œsecond data center” and put it under load. Finished the calculations? "We extinguish" excess power and save.
  • Individual applications and projects can be moved to the public cloud for the duration of the private cloud scaling, or just for a certain period. True, in this case you will not have hybridity, only general L2 connectivity, which in no way depends on the presence / absence of your own cloud.

Instead of a conclusion

That's all. We talked about the features of private and public clouds, considered the main opportunities for improving the performance and reliability of hybrid clouds. Nevertheless, the design of any cloud is the result of decisions, compromises and conventions dictated by the business objectives and resources of the company.

Our goal is to motivate the reader to take seriously the choice of a suitable cloud infrastructure based on their own tasks, available technologies and financial possibilities.

We invite you to share your experience with hybrid clouds in the comments. We are sure that your expertise will be useful to many novice pilots.

Source: habr.com

Add a comment