📜 ⬆️ ⬇️

How do we build a magical SSD hosting in the Netherlands and the USA with new principles of charging and working, is it really magic?

The article does not claim to be absolute truth and does not reflect the full problems of providing and using hosting services, raises questions, describes problems and some of the methods of solution. It will be useful for webmasters to better understand the specifics of the services used, to facilitate the selection of the desired solution, and perhaps it will be useful for hosting providers.

Full perfection is unattainable, but striving for perfection is important, we are constantly improving solutions offered to customers, carefully listening to criticism and doing everything to meet the basic principle of our work - we are glad to make you happier. Sometimes we make mistakes, sometimes making our partners unhappy, but we always try to find a way out of the current situation together, because the client is primarily a partner for us, and we are a partner for the client. And listening to each other is extremely important in this relationship.

Developing a completely new hosting service, which did not yet exist on the hosting services market, we tried to solve a number of issues that were acutely facing us recently, and possibly some other hosting providers, to take into account the wishes of our customers. We tried to make the service more reliable and understandable, first of all, for an ordinary user of hosting services. It is too early to talk about the success or failure of the project, but the first results show that we are not working in vain, but we'll see ...
')

Problem hosting services


The first thing to start solving any problem is a correctly formulated task and correctly posed questions for it. From personal experience, I can say that the correctly posed question is not just the most part of the solution, the question may well become a full-fledged answer if the problem is divided into components.

So, what do hosting users care about? Website availability (reliability, fault tolerance), speed, price. At the same time, most people can pay special attention to the price, bringing it to the fore, for both objective and subjective reasons. And because the biggest problem, both for beginners and advanced webmasters - the choice of a tariff plan.

Choosing a tariff plan


This choice can have a significant impact on the relationship between the provider and the webmaster during the collaboration. And this is not about the fact that some hosting providers have a better attitude towards those who pay more (we refrain from giving estimates for such cases, the article is not about that), but about how easy it is to make a mistake because of inexperience and save too much thus provoking a conflict situation in the future, but it will certainly be. Beginners webmasters are often sincerely offended by providers for letters about increased load, write angry reviews on the Internet. Probably everybody went through it, including us. They firmly believe that the site, almost devoid of attendance, can not create such a problem. And they are right! Because they are not too experienced and can not yet know that the content management system (CMS), burdened with many modules, and even not optimally tuned, can create significant consumption. Or because they do not realize that the provider, in order to reach more potential customers, could create a too inexpensive tariff plan, calculated only for a small homepage.

At the same time, the choice of more expensive tariffs is no less complicated. Hosting infrastructures of different providers differ significantly, as well as methods of accounting for consumed resources. As a result, such an indicator of resource consumption, such as processor time, turns out to be practically meaningless when moving from one service provider to another, as with a high degree of probability the processors on the hosting nodes are different. And even if the user is experienced and can imagine the difference in performance, the degree of optimality of setting up the server software is already problematic, since it depends solely on the experience of the technical department specialists of the service provider. And there is also an unwritten secret parameter - occupancy of the hosting node. Sometimes the provider keeps certain users with increased load without disturbing and not demanding additional payments, simply to sell resources for any money, since other customers do not consume, or the node is too free and it is profitable to get at least something with it than nothing.

What do we have in the end? Unpleasant situations, even with clients on more expensive tariff plans, when a user moving from one provider to another is surprised to find that what worked there creates excessive consumption here. We get the next "letters of happiness." Everybody is dissatisfied, both providers and customers.

Output?


For several years we have been looking for him. We provided a low price for hosting not at the expense of a low resource limit, protected ourselves from spammers and unscrupulous customers by introducing a pricing system that was unfavorable for them, when it’s profitable to order the service exclusively for a long-term period, which makes no sense in the case of dark goals. Significantly increased the stability of the service without complex technical solutions, a thousand customers created no more than 1 request to those. department for a day, minimized possible conflicts. The solutions and results were described in detail in our 2012 article “Stable hosting - myth or reality?” .

However, this still did not provide a transparent approach to the pricing of consumed services , and also did not solve a number of other equally important issues in the process. Despite the fact that the variety of tariff plans was reduced to a minimum, as the menu of a good restaurant, the user still did not understand which tariff plan would be able to withstand the number of visitors he needed, how the consumed resources are taken into account when he can be “asked” to go to a more expensive level. or even "drive" on a VPS or server.

Entering a clear rating of CPU / RAM / IOPS / BANDWIDTH consumption, as on cloud services, alas, would not be the answer and solution. Ordinary webmasters do not care and should not care about these parameters, they are only concerned about visiting their sites and their magical work. So why not start to rate resources solely in terms of how webmasters' income is measured in visitors?

Task setting: CPU / RAM / IOPS resources are practically unlimited, only traffic is taken into account (attendance)


The result was the formulation of the task of implementing a fundamentally new hosting service, which did not exist on the market before, where only attendance and traffic is taken into account, since there is a clear and understandable factor between these parameters. For example, take 100 GB of traffic, is it a lot or a little? For visualization in visitors, we take an average web page size of 700 KB, the number of views is the result of dividing traffic by the average size of a web page, for example, for 100 GB of traffic we get 100 * 1024 * 1024/700 = 149 796.57 views. Thus, if the average page size of your website is smaller, for example, 200 KB, not 700, you can get much more views - 100 * 1024 * 1024/200 = 524 288, and vice versa. Of course, these values ​​should be perceived solely as indicative. They do not take into account service traffic, traffic consumed by search engines and parasitic traffic, which can appear and disappear at any time.

And what about the load? Between the consumption of server resources and traffic, there is also a more or less stable connection for 99.5% of Internet projects, so the need to take the load into account disappears. It is enough to include the cost of resources in the cost of traffic and disagreements with webmasters due to the load created by them will be completely excluded, it really will not be counted separately. Yes, someone may have a more optimized script, someone less, but on average, the result is really predictable and it can be taken into account in the hosting account, and most importantly, the webmaster’s expenses can be predicted with a high degree of accuracy, selected best priced solution.

Requirements and problems


The absence of billing and an explicit CPU / RAM / IOPS limit places special demands on the hardware and solution architecture. Our task is to ensure the fastest and uninterrupted operation of all web hosting sites. This means that the solution should be built on the basis of the nodes with the highest possible performance and at the same time be distributed in order to increase reliability, to provide the possibility of scaling.

Since modern multiprocessor solutions have tremendous performance and are able to meet the needs of thousands of hosting users hosted within the node, there are special requirements for the performance of the array under the file storage database. Arrays of SATA / SAS disks are simply unsuitable, as they are not able to effectively handle the requests of thousands of subscribers - one disk can provide no more than 70-210 read / write operations per second (IOPS), which may not be enough even in the case of an array of 12 discs.

The only correct option in this case would be to build a solution solely on solid-state (SSD) drives providing 50,000 IOPS or more, which is almost 1000 times more than conventional HDD in performance. A few years ago, the use of such drives significantly increased the solution budget, encouraging hosting providers to create crutches in the form of hybrid raids or caching CDN servers when ssd is used for cache or only for databases. And they called it SSD hosting, which, in principle, some people do not disdain even now, misleading customers in order to save money as much as possible. Yes, drives are still much more expensive than SATA, but the advantages that they open up, both in terms of performance and in terms of reliability, are indisputable.

Moreover, as amarao wrote recently in his article “SSD + raid0 - not everything is so simple” , these disks in the array may not be effective in increasing recording performance due to different latencies, unlike HDD - raid0 will expect confirmation from the slowest disk in the array. Accordingly, it is better to use disks independently and achieve performance improvement due to scripts, and not at the expense of raid.

Also important is the efficient utilization of these disks. Everyone knows that SSDs are “killed” by rewriting cycles, so creating separate database servers is meaningless, since disks will be unevenly disposed of. Among other things, individual database servers reduce reliability, since in case of problems they can be immediately felt by a significant part of subscribers.

Implementation


In order to increase the degree of resiliency and ensure the lowest possible cost for subscribers, we decided to move away from assigning individual roles to individual nodes. To build the solution, 4 x-processor platforms with ten-core Intel Deca-Core Xeon E7-4850 processors were used with the ability to install up to 1TB of RAM and up to 16 SSD drives. At the same time, in order to avoid the “mega-server” effect, when a problem with one subscriber (increased load, attack), causes problems in the websites of all subscribers, we have divided the node into several virtual machines, using virtualization, in which each of the machines can use maximum available resources, but not to the detriment of the work of other virtual machines. This made it possible to increase the degree of fault tolerance, since now in the event of a serious problem with the load / attack on some of the users, only a part of the subscribers of the node can sense it (from 1/16 to 1/32 on our nodes). Among other things, the software allows you to immediately block such a problem client and transfer it to a separate virtual environment to solve the problem, and in the case of an attack going to an IP address, move all its neighbors.

For this purpose, we connected each of the nodes with an Internet channel of guaranteed bandwidth of 10 Gb / s with the possibility of expansion, which not only allows us to provide almost any necessary traffic for our subscribers, but also quickly migrate both individual subscribers and entire virtual machines , quickly create backups to remote repositories and deploy them. The clear interrelation between the generated traffic and consumed computing resources already described above allowed us to rate only the traffic (visitors), making the pricing transparent and convenient, and choosing a tariff plan as simple and clear as possible.

results


Since the launch of the new hosting project (January 2015), we have not received a single dissatisfied customer, the uptime is 100% and in the future, we hope that this value will be close to 100. Of course, too little time has passed to evaluate all Advantages and disadvantages of the solution, but so far we have not seen any significant disadvantages of this solution. Perhaps you will see?

For all habrahabr readers, we offer a unique opportunity to order the “Magic Hosting” service with a 60% discount using the promotional code (valid until the end of June): HABRHM2015

http://www.ua-hosting.company/hosting - waiting for your criticism and feedback.

What do we offer?

- You have the power of at least 4 decimal-core Intel Deca-Core Xeon E7-4850 processors;
- we are sure that we must ensure that you can consume as much traffic as you need, because each of the hosting servers has an Internet connection with a bandwidth of at least 10 Gb / s, with the possibility of increasing to 40 Gb / s;
- while most hosting servers still use “slow” SATA hard drives, providing no more than 50-140 read / write operations per second (IOPS), we build solutions exclusively on SSD solid-state drives that provide 50,000 IOPS and more! Up to 1000 times faster than traditional SATA hosting! Let your sites fly!

And in addition, with long-term cooperation - magic discounts, which makes the price affordable even for the site-viztki!

What are the limitations?

- for the chosen tariff plan, only the maximum number of visitors per month is limited — traffic, nevertheless, you can purchase as much traffic as you need, increase your tariff plan to the limit you need;
- since the consumed traffic is inextricably linked with the consumed CPU / RAM / IOPS resources - we practically do not apply their restrictions, because thanks to the productive equipment, consumption is instantaneous, which allows using the resource of hosting servers fully and more efficiently;
- hosting of projects for the purpose of traffic proxying, media file conversion or carrying out other similar complex calculations is prohibited on the hosting server (standard sites do not fall under these restrictions, meaning computing processes take up minutes of CPU time, as when converting large video files);
- the placement of political sites, sites subject to DDOS attacks, as well as resources blocked for users from Russia by Roskomnadzor or with a high potential risk of such blocking is prohibited;
- the network use standards adopted by the OFISP Working Group, as well as the Offer Agreement, must be fully respected.

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


All Articles