fbpx
vshosting~

It’s no secret that servers aren’t exactly the most attractive topic, passionately discussed at e-commerce conferences. The hottest trends in full-text search optimization or tips for most efficient social media campaigns are much more en vogue.

Then there’s the core business itself, to which every e-shopper dedicates the bulk of their time. Considerations regarding server infrastructure quality and the reliability of the entire hosting solution rarely make it to the tightly packed schedule.

Underestimating hosting pays bitter dividends

Why worry about the details of your hosting solution anyway? It does work somehow.

Well, if you’ve been in the world of e-commerce for a while, you’re likely painfully aware that “it” sometimes doesn’t work. At all. As chance would have it, this tends to happen during the least convenient times. Such as just before Christmas when your pricey marketing campaigns are in full swing and everybody shops like their lives depend on it. If your e-shop goes down then, nobody will care how wonderful your products are. Even if your full-text reads your customers’ minds and your social media campaign makes thousands swoon, it’ll all have been for naught.

„Experience shows that hosting and the technology behind it (infrastructure, servers) are just as important in e-commerce as logistics or customer support,“ says Damir Špoljarič, CEO of vshosting~

As our CEO, Damir Špoljarič, discussed in a recent interview (Czech only – sorry) – infrastructure is absolutely essential in e-commerce and one shouldn’t underestimate it.

Unfortunately, on top of servers’ lack of sex appeal, most e-shop owners aren’t primarily technically oriented and tend to delegate tech stuff to developers. They often offer to take care of hosting as well, which sounds great – because hey, one less thing to worry about. But developers aren’t hosting experts and too often opt for a less than ideal solution. Therefore, we recommend entrusting your hosting solution to specialists with relevant experience. After all, you wouldn’t want a bunch of Linux admins coding your new e-shop either, would you?

In addition, many hosting providers strive to cut down prices as much as possible, which leads them to compromise on quality and in turn raises the risk of an outage. Such risk, however, proves difficult to imagine – calculating how much I save by opting for a cheaper solution, on the other hand, is a piece of cake. As a result, many e-shoppers take the “as cheap as possible” route. They only get to quantify the risk they took when the cheap hosting faults show in lost revenues.

Christmas in e-commerce: easily half of the yearly revenues

Outages happen most often when the servers are under most pressure – the Christmas season is a textbook example of that. Unsurprisingly, at that time it’s also least convenient because most sales in e-shops take place before Christmas. Based on the data from e-shop infrastructure providers, Shoptet and Shopsys, for many e-shops the revenues during the time between 1.9. and 23.12. may even exceed half their total yearly revenues. Both companies entrusted their infrastructure to vshosting~, which is therefore ready for seasonal traffic fluctuations and their data is unaffected by any outages as a result.


The customers of e-shops on Shoptet made approximately 21 million orders last Christmas. That is almost three-quarters of all the orders made there that year. In the case of Shopsys, which is used by somewhat larger e-shops on average compared to those on Shoptet, Christmas orders comprised between 34 and 49 percent of the total yearly numbers. The data suggests that the smaller the e-shop, the more significance the Christmas season holds for it. Underestimating hosting can thus backfire especially unpleasantly for them. Unfortunately, it is the smallest e-shops that tend to compromise on hosting the most.

E-shop Christmas according to Shoptet

E-shop down: how much money are you losing?

Every e-shopper understands that a web outage translates into money lost. But how much? Would it even pay off to invest in a more robust hosting solution?

Using Shopsys data, we’ll show how much of its revenue an average large, medium and smaller e-shop loses in the event of an hour-long or even a day-long outage. A typical outage “only” takes a few hours but longer ones that exceed a full day may also occur. 

Large e-shops

The category of large e-shops at Shopsys includes e-shops with annual revenue exceeding CZK 1 billion. Their average large e-shop at Shopsys has annual revenue of 1.1 billion CZK. According to the available data, a typical large e-shop will earn around 425 million CZK – almost 40% of total annual revenue – during the Christmas season alone.

Effect of Christmas on large e-shops

If during the Christmas season, i.e. in the period 1.9. – 23.12., even an hour-long web outage occurs, the revenue lost amounts to 155 000 CZK on average. If the e-shop ends up down for the entire day, it will lose 3,720,000 CZK on average.

Medium e-shops

Medium e-shops on Shopsys are those with revenues in the hundreds of millions CZK. The average yearly revenue of a medium e-shop on Shopsys is 400 million CZK but ca. 155 million, i.e. 39 % of that is earned during the Christmas season.

Effect of Christmas on medium e-shops

Potential losses from non-realized orders given an hour-long outage thus amount to 57 000 CZK – or up to 1 400 000 CZK in the event of a day-long outage.

Small e-shops

The annual sales of smaller e-shops at Shopsys are in the tens of millions CZK and the average annual sales are about 60 million CZK. The Christmas season accounts for 45 % of total sales, i.e. 27 million CZK.

Effect of Christmas on small e-shops

A smaller e-shop can, therefore, lose around 10 000 CZK in the event of an hour-long outage, an all-day outage will rack up losses of 240 000 CZK. Despite those numbers being much lower than in the case of larger e-shops, proportionally the impact of an outage is much higher on smaller e-shops because the holiday season is so important for their business.

Which category does your e-shop fall into? Try to estimate, how much would just an hour-long outage cost you. Compared to how much you save by opting for a less reliable hosting solution, it’s likely that the very real possibility of an outage and the resulting losses far exceed your savings. 

Not to mention it’s not just about lost revenue…

Lost revenue is just the beginning

If you invest intensively in an advertising campaign, which is typical during the Christmas season, an “e-shop down” will cause losses twice: firstly, you lose the money from people who want to buy from you, and secondly, you throw your advertising investment out the window.

And don’t even get us started on the loss of customer trust, damage to the brand or negative SEO effects. Nowadays, customers quickly put an e-shop that is down even for a moment into the “I’m not coming back here” category. The impression of the unreliability of your e-shop is immediately reflected in your brand perception too.

Last but not least, an e-shop outage affects your SEO – e.g. Google penalizes websites that have been down for some time. Therefore, you’re risking falling down in organic search results and every SEO expert will confirm that getting back up takes a lot of work.

Solution: choosing a high-quality provider

The answer to the above-mentioned horror stories seems obvious – just pick out great hosting. But how? The “hosting solution quality” is a rather inconceivable concept so how can you tell that your provider is the one that doesn’t compromise on infrastructure?

To be honest: it’s really hard to tell. Because paper doesn’t blush and some providers are willing to promise you the world and the cancellation of gravity to boot. Nonetheless, there are a few quality indicators around: references, recommendations, and a couple of well-formulated questions. Simply put: ask around.

Ask hosting providers about their clients. Are there any well-known companies among them? Are any of them from your industry? Get their contact information and verify the references. A reputable company will give you that information – if they try to talk their way out of it, watch out.

Take a look at vshosting~ references

Ask your friends from your industry about their providers. What is their experience with them? How long have they been using them? Would they recommend their services? There’s nothing better than a brutally honest review from someone you trust.

And lastly: ask your potential providers about their expertise. What proven experience do they have with projects similar to yours? How do they deal with traffic spikes? How quickly can they deal with unexpected issues in the middle of the night? What if there’s a hardware malfunction at 3 am on a Saturday? 

Ask us anything

Why 50 % of Czech and Slovak e-commerce hosts at vshosting~

Half of all the Czech and Slovak e-shops have entrusted their infrastructure to us. We dare to say this is no coincidence. At vshosting~, we have extensive experience even with the most demanding e-commerce projects – be it companies such as Shoptet and Shopsys that provide background for thousands of e-shops, or well-known projects like Pilulka or Notino. 

Check out our references

Because we’ve been providing hosting for e-commerce projects for over 13 years, we’ve accumulated a lot of know-how. All servers are running in our very own modern datacenter that meets demanding security standards. As a result, we have the entire process under control: from hosting solution design and migration to daily operation and optimization.

Our infrastructure is prepared for seasonal traffic changes as well as unpredictable spikes so the fact that there are five times as many people on your website before Christmas won’t faze us in the least. We also ensure resistance to the malfunction of any part of the hosting solution – you won’t have to worry about infrastructure at all and just focus on your core business. 

All our servers have redundant connections, power supplies, and other features. We have doubled all the elements within the data center and backed up the network connection many times. At the same time, in case of a problem, we guarantee a response within 60 seconds – 24 hours a day, 7 days a week.

Right in the data center, we have qualified technicians and admins who immediately solve unexpected situations, nonstop. Even in the middle of the night, we have experts in the data center ready for customer support – you call them directly, there are no call centers or middlemen.

Have questions for us? Let us know.


vshosting~

Are you picking out a new dedicated or managed server and wondering which SSD disk would be best for you? At vshosting~, we put great emphasis on maximum possible quality but because the needs of our clients often differ, we offer 2 types of professional SSD disks: 2,5“ SATA SSD and 2,5“ NVMe (both from Intel). Let’s take a look at the differences between each type. 

SATA disk models

2,5“ SATA SSD Intel, S4510 series

– sequential read and write operations in the hundreds of MB per second

– typically up to 500 MB/s, depends on the exact model

2,5“ SATA SSD Intel, S4610 series

– better disks with higher durability than S4510

– more suitable for database servers than S4510

– sequential read and write operations on a similar level as the S4510 series

NVMe disk models

2,5“ NVMe (PCIe 3.1 x4 interface) Intel, P4510 series

– sequential read and write operations in the thousands of MB per second

– typically up to 3200MB/s, depends on the exact model

– this is several times faster than the standard SATA SSD disks

2,5“ NVMe (rozhraní PCIe 3.1 x4 interface) Intel, P4610 series

– better disks with higher durability than P4510

– more suitable for database servers than P4510

– sequential read and write operations on a similar level or slightly better level than the P4510

We design both SATA and NVMe servers so that the hard disks are “hot-swap”, i.e. changeable while the machine and the system are running. Eventual repairs or exchanges are very easy to do as a result. We don’t use NVMe disks with the M.2 PCIe interface that are installed directly to the motherboard and as such are physically inaccessible to the technicians.

RAID on NVMe disks compared to SATA SSD

We mostly configure SATA disks in HW RAID (RAID is managed by a separate disk controller). However, NVMe disks operate with the PCIe interface, so disk controllers of this kind are either performance inadequate or unreasonably expensive. As a result, NVMe disks are directly attached to the motherboard connectors in the server where each PCIe link is served by the CPU itself. We implement NVMe servers on SuperMicro solutions because SuperMicro developed a suitable solution for this situation. 

As opposed to SATA disks, RAID can be solved in two possible ways in the case of NVMe disks. The first option is the installation of an additional hardware key onto the motherboard, which activates the Intel function VRAID on CPU. In the BIOS of the server, we are then able to configure RAID 0/1/10/5 from the NVMe disks, the operating system then works with one virtual disk. The second option is not configuring RAID for the system at all and subsequently, take care of it on the software front with the OS (e.g. using ZFS, etc.).

So SATA or NVMe?

Simply put, NVMe disks are 6.5 x faster than SATA, which is a big plus. On the other hand, they are a bit more expensive so the choice between the two isn’t exactly straightforward. 

NVMe disks are a more suitable solution for someone looking for extreme data throughput on the storage, be it for a demanding database server, web server, or anything else where we expect high load. At vshosting~, we’re able to operate these disks both in managed servers with Linux (Ubuntu 18, Debian) or in dedicated servers using Windows Server 2016, Windows Server 2019 or Linux (Ubuntu 18, Debian). In the case of dedicated servers, OS management is up to each client.

However, it is worth considering that we only operate NVMe disks with the current Intel Xeon Scalable CPUs. In contrast, SATA disks can be combined with pretty much any generation of Intel Xeon processors thanks to our disk controllers.


vshosting~

Our clients often ask how our new service Platform for Kubernetes differs from similar products provided by e.g. Amazon, Google, etc. There are quite a few distinctions so we decided to describe them in detail in this article.

Individualized Infrastructure Design

Most of the traditional clouds provide a platform for the infrastructure but the design and creation itself remains the clients’ responsibility – or more accurately, the clients’ developers’ responsibility. Most developers, however, would much rather spend their time developing (surprise!) as opposed to reading a 196-page manual on how to use Amazon EKS. Unlike most manuals in life, this one really needs to be read – setting up Kubernetes on Amazon is not particularly intuitive.

In addition, we’re happy to assist you in analyzing your application readiness for transfer to Kubernetes, if it’s not utilizing it yet. Based on your requirements, we’ll also help you select the most suitable technologies (at no extra cost!) to make sure everything works the way it should and so that eventual scaling is as easy as possible. 

At vshosting~, we understand how frustrating this can be for many companies. The development team should concern themselves with development and not waste time on something outside their expertise. Therefore, unlike traditional clouds, we put great emphasis on custom designing the Kubernetes solution ourselves for each client. There’s no need to engage in complicated selection among predefined packages, read lengthy manuals or wreck your brain thinking about the best infrastructure design. We’ll prepare the Kubernetes infrastructure precisely based on the needs of your application, including load balancing, networking, storage, and other necessities.

Speaking of scaling: that’s exceedingly simple with our Kubernetes solution. Again: no package selection required. At vshosting~, you simply scale up or down with full flexibility, exactly according to your current needs. We also offer the option of fine scaling of only the necessary resources. Does your application need more RAM or disc space because you got a lot of new clients? No problem.

Once we finish designing your fully customized infrastructure, we conduct an individualized installation and set up Kubernetes and load balancers before transferring everything to live traffic. Just to clarify – all of these tasks would be your responsibility if using Google’s, Amazon’s, or Microsoft’s Kubernetes solution. We’ll carefully tweak everything in close cooperation with you. After launching, Kubernetes will run on our cloud or hardware in our own data center ServerPark.

Option to Combine Physical Servers with Cloud 

Another advantage of Kubernetes from vshosting~ is that you can combine cloud and physical servers as needed – other Kubernetes providers don’t offer this. Thanks to this feature, you can e.g. start testing Kubernetes on a Virtual Machine with lower performance and only after that transfer the project to production by adding physical servers (all that with zero downtime) with eventual maintenance of the current VMs for development purposes.

Point of comparison: e.g. Google offers either the option of on-prem Google Kubernetes Engine or running Kubernetes in the cloud but you have to choose one or the other. Plus you have to manage the on-prem variant on your own. You won’t find a physical server + cloud combo option at Amazon or Microsoft either.

At vshosting~, you can mix and match physical servers and cloud as you please and we take care of the entire management to boot. You can focus solely on development and leave the operations to us. We take care of managing the operating systems of all Kubernetes nodes and load balancers, ensure upgrades of operating systems, kernel, etc. (we can even upgrade Kubernetes itself if you like). 

High SLA and 24×7 Senior Support 

One of the most important criteria when choosing a good Kubernetes platform is its availability. Which is why it may come as a surprise that neither Microsoft AKS nor Google GEK offer an SLA (i.e. a „financially-backed service level agreement“) and only claim that they’ll “do their best to ensure the availability of at least 99,5%“.

Amazon EKS does mention a 99,9% SLA but considering their credit refund conditions, it is, in fact, more of a 95% availability guarantee – only below that level does Amazon refund 100 % of your credit. In the event of only a small drop below 99,9% availability, just 10 % of your credit gets refunded.

At vshosting~, we contractually guarantee 99,97% availability: that is even more than the somewhat theoretical SLA at Amazon and much more than the not-guaranteed 99,5% availability at Microsoft and Google. In reality, our availability hovers around 99,99 %. In addition, our managed Kubernetes solution also operates in the high-availability cluster mode, so if a server or a part of the cloud malfunctions, the solution immediately starts running on a backup server or in a different part of the cloud.

Moreover, we guarantee high-speed connectivity as well as unlimited data streams to anywhere in the world. Each client also gets a guaranteed dedicated bandwidth. Our network has a capacity of up 1 Tbps and each pathway is backed up multiple times. 

Thanks to the high-availability cluster mode, high network capacity, and backed up connection, the vshosting~ Kubernetes solution is exceptionally resistant to outages of any part of the cluster. Besides, our experienced teams are continually monitoring your solution and quickly identify eventual beginning problems before they can manifest to the end-user. We also have robust AntiDDoS protection which effectively prevents any cyberattacks on the cluster.

Debugging and Monitoring of the Entire Infrastructure

In contrast to the traditional clouds, at vshosting~, teams of senior administrators and technicians that sit directly in our datacenter watch over your solution 24/7. In the event of a problem, they react within 60 seconds – even at, say, 2 am on a Saturday. These experts are monitoring dozens of parameters of the entire solution (hardware, load balancers, Kubernetes) and as a result, can eliminate most of the problems before they start causing trouble. On top of all that, we guarantee a repair or an exchange of a malfunctioning server within 60 minutes.

For maximum simplification, you’ll get a single contact from us that you can use for all services you have with us: be it Kubernetes itself, its management, or anything regarding infrastructure. We’ll take care of standard maintenance as well as complicated debugging. Consultations regarding the concrete form of Docker files (3 hours monthly) are also included in the price of our Platform for Kubernetes service.


vshosting~

“That hosting partner of ours isn’t worth much – our website even goes down a few times a year – but most of the time, everything works somehow. Most importantly, we don’t want to migrate anywhere!”

The biggest obstacle to switching from the current hosting provider to a better one is almost always migration. The dreaded data transfer from one hosting solution to another is without exception accompanied by an outage and quite a few risks. Moreover, it is often the case that when contemplating migration, the necessity to make changes to the client’s application is discovered, without which the migration cannot move forward (i.e. the application wouldn’t work properly after migrating it to the new solution).  All in all, web migration is no picnic. 

But what about the risks that go along with not migrating? Many don’t even consider them since “everything works” but these invisible dangers are often much larger and their potential consequences much more severe.

Let’s take a look at the main anti-migration arguments, how we address those at vshosting~, and what dangers go along with preserving the status quo at all costs. 

Application or technology changes 

The number one factor deterring from web migration is most often the necessity to make application or technology changes. This is a usual requirement for migration given the current application runs on outdated technology or is incompatible with the new hosting solution. 

The necessity of such change unequivocally presents extra workload for the client’s development team that needs to update the app or learn to work with a different technology.  This might be further complicated by the fact that some clients don’t have a development team at their disposal which happens to be quite common among smaller projects. 

On the other hand, the outdatedness or inadequacy of the technologies used is in no way merely an obstacle to migrating to another hosting provider. It is also, and perhaps more importantly, a hindrance to further growth of the internet project, a risk for its security and more.  Therefore, it is advisable to implement the recommended applicational and technological changes regardless of migration. After they have been put in place, switching over to virtually any provider will have become a piece of cake.  

Outdated technologies

An application using a no longer supported or utterly obscure technology often proves to be an obstacle to migration. For example,  an app written in PHP 5.2 is essentially un-migratable because it lacks compatibility with virtually any of the current technologies. It is, therefore, necessary to update it to a more recent, fully supported version. 

Application changes are no picnic, that’s for sure, and they cost a lot of developer time. On the other hand, running an application using outdated technology is exceptionally dangerous – migration or no migration. For instance, PHP 5.2 is no longer supported and eligible for neither security updates or bug fixes. Aside from incompatibility with modern hosting solutions, such application is then vulnerable to various security attacks and hacks. Considering the current GDPR legislation, this presents a risk of fines that can be catastrophic for the business (fine value of up to 4 % of revenue). Besides, outdated applications don’t tend to be prepared to deal with a significant rise in traffic so if you wish to further grow your business, updating your app is unavoidable either way. 

Simply put: if an application cannot be migrated, it pays off to thoroughly consider why that is and to fix the problem. Since with extremely high probability, something is terribly wrong. Regardless of migration and hosting, serious risks endanger your business. 

Compatibility with the hosting solution

Another common scenario is the necessity to shift towards a new technology that will be compatible with the newly selected hosting solution. This typically happens in the event of a client deciding to migrate from simple, non-redundant infrastructure to a cluster or if he aims to move towards a scalable solution but his application is not prepared for scaling.

An example would be migration from a single database server to a database cluster, where we recommend to our client to switch to Galera from a single node to ensure ideal functionality. Galera is the perfect solution for a cluster and will prove to be an advantage for the client in the long run. However, his developers will have to learn to work with a new technology, which is rarely a welcome situation. 

Service windows and other inconveniences

A further source of worry when it comes to migration is the necessity of a certain service window, where the client’s app simply doesn’t run. This step cannot be circumvented and in the case of large projects can even encompass an entire night. Even the toughest e-shoppers feel distressed by the idea.

At vshosting~, we do everything in our power to make the outage as short as possible. Unfortunately, the entire process has its technological limitations that are set in stone. For this reason, it is key to schedule the service window so that the impact on the client’s business is as small as possible. Furthermore, we thoroughly test the new hosting solution before the migration itself to prevent the emergence of complications that would prolong the out-of-operation period. 

What if something goes wrong?

migration complications

Migration is a complicated process and there is a lot of room for making mistakes. In consequence, it is important to only switch over to providers who have extensive migration experience. Those can minimize the potential risks via thorough analysis and diligent testing of the new hosting infrastructure. And should something go sideways nonetheless, they’re capable of rapidly solving the situation. 

A good example can again be the migration from a single node database to e.g. a 3-node one. Should the balancing among the nodes not work perfectly after migration, experienced administrators are able to temporarily direct the database solution to a single node. As a result, the application can function without any issues and the administrators have time to get to the bottom of the balancing issue in the background. When all is resolved, they switch the database over to the 3-node solution.

In emergency cases, there is always the option of doing a rollback, that is returning everything to its original, pre-migration state. Based on our experience, however, it is more effective to try and solve the given problem as quickly as possible (e.g. by an emergy change of server settings as in the database example above) and finish migrating. The problem, which tends to be of the application sort, can be addressed after that. Unsurprisingly, even here we recommend choosing an experienced hosting provider who is capable of dealing with such unexpected situations in an agile manner. 

At vshosting~, you don’t need to fear migration 

Migration to vshosting~ is no reason for concerns – we have an experienced team of professionals directly in our datacenter who migrate internet projects on a daily basis. When it comes to very large migrations, we conduct dozens of those each year. Thanks to our extensive know-how, we are able to prevent the vast majority of potential risks and make sure everything runs smoothly. 

Before the migration itself, we thoroughly analyze and test the application – we are, among other things, able to evaluate the performance of the entire solution using specialized tests. Based on the initial analysis, we provide recommendations regarding application changes to the client and point out what to pay attention to, what to change, and what to steer clear of. 

Moreover, we design hosting solutions individually and customize them to the needs of each application. The new solution is then thoroughly tested including its compatibility with the client’s app and its synchronization with all implemented systems (e.g. the warehousing system, CMS, redaction system, etc.). Thanks to that, the new solution gets tweaked to perfection before we even start with the migration.

In specific cases, for instance, when the client has no IT team of his own, we are even capable of conducting the entire migration process for him (although only in cases where no application changes are necessary). The client then needs to put in only minimal effort: to test the functionality of the new solution, to agree to migration start and so on.

To minimize the impact of migration on the client’s business, we carefully plan its date and time together with him. Because our experienced administrators and technicians are present in the datacenter nonstop, we have no problem whatsoever with conducting the migration in the middle of the night, any day of the week.

Should complications arise, preventative measures notwithstanding, we very quickly identify their causes and solve the problem because our experts monitor dozens of the web’s parameters, 24/7. 


vshosting~

Are you considering launching your very own e-shop? Then you have a couple of decisions ahead of you, that will either make the future expansion of your business easier or a hell of a lot more complicated. 

Take a look whether it pays off to use a ready-made e-shop solution or if it’s better to have it custom made. We’ll also cover why you shouldn’t underestimate hosting and how to select the best hosting provider. 

What is an e-shop?

An e-shop is not only what the customer sees on their screen. In the background, many processes are unfolding, that affect the quality of customer experience and thus the profitability of the e-shop. Among other things, an e-shop consists of a piece of code that forms the entire e-shop application. However, even the server this application runs on is a part of the e-shop, as well as connectivity and last but not least the human factor. 

Complex approach to e-shops

At vshosting~, we look at every e-shop holistically: the client hands us his e-shop application (i.e. the code) and we analyze it thoroughly. We are looking for weaknesses in the application, that could pose problems, for example, when the e-shop is experienced heavy traffic as a result of an intensive marketing campaign.

Based on our findings, we provide the client and their developers with possible recommendations on what to improve on the application side, while minimizing the weaknesses by designing the most appropriate hosting solution and architecture on our side.

After the migration to our managed solution, we take care of all operations related to hosting and server infrastructure. The client can focus only on his business and can always rely on that his e-shop not only runs but that it runs quickly and safely.

E-shop creation: ready-made vs. own solution

The beginning e-shop owner asks himself a simple question: where do I get the e-shop? Nowadays, the options are plentiful but the primary choice is between opting for a ready-made e-shop solution (e.g. from Shopsys or Shoptet) and having the e-shop custom developed.

Ready-made e-shop advantages

  • low price 
  • perfectly suitable in the beginning 
  • stable solution
  • no need for deep technical knowledge
  • simple implementation
  • fast realization (a functional e-shop in a matter of minutes)
  • the provider deals with legislation too (GDPR etc.)

Custom made e-shop advantages

  • more suitable for a quick expansion
  • individualization as needed
  • option to use many plug-ins
  • choice from a wide array of frameworks
  • code ownership

So is a ready-made solution better or should you opt for a custom made e-shop? As they say: it depends.

You need to consider whether you want to have a smaller e-shop (a ready-made solution is great here) or whether you have a vision of rapid international expansion (the ready-made solution not such a great idea anymore). It is also important how specific your e-shop design and functionality requirements are – if very specific, you’ll need to go with a custom design. Should you choose to have your e-shop custom-designed, you also need to take into account that you’ll have to be more invested in the technical side of things and legal stuff. Unsurprisingly, a custom solution is also more expensive. 

E-shop hosting options 

If you choose to use a ready-made e-shop solution, your worries about choosing hosting end there (which does not mean that hosting can’t cause trouble for you), because the e-shop solution provider will include hosting in the overall package. However, you cannot avoid choosing a hosting solution and provider if you decide to have your e-shop custom-made.

When it comes to hosting, you can pretty much choose from four options: web hosting, VPS (virtual private server), dedicated server or managed server. Let’s take a closer look at each of them.

Web hosting

Web hosting is a beginner’s classic because it is the most affordable solution with very fast and easy implementation. It is shared hosting, where, for example, 100 projects share a single server. The disadvantage is that heavy traffic directed to any of the other 99 projects can adversely affect your e-shop’s performance and you can’t do anything about it at all. Webhosting does not provide any (or only small) guarantees and does not have ultra-fast (or ultra-professional) support. Therefore, for an e-shop or any other slightly more demanding website that is intended to sell something, web hosting cannot be recommended.

VPS

In the case of a virtual private server, your e-shop has dedicated hardware parameters, ie. you don’t share resources with anyone. The price is a little higher than in the case of web hosting, but in exchange, you get much better control over performance, more flexibility and even the option of hosting management. Therefore, in our experience, VPS is perfectly suitable when you’re just starting out with your e-shop.

Dedicated server

If you need more performance than a VPS can provide, it pays to invest in your own dedicated physical solution: a dedicated server. With a dedicated server, you have full control over its performance, and the unit of power will cost you less at that level of volume than it would with a VPS.

Managed server

A managed server is basically a dedicated server along with complete solution management. If you don’t want to deal with your own DevOps, just focus on your business and still be sure your e-shop runs smoothly at all times, a managed solution is the best choice.

Server management

If you have e-shop custom-made, you can come across an offer from the developer studio that they will also manage it (including hosting). In our experience, this is not optimal, with rare exceptions, because the solution management is not the main activity of the creator of the application, who tries to simplify it as much as possible. In contrast, a hosting provider that is primarily focused on managing your server solution has the highest security as a priority.

For this reason, at vshosting~, we recommend separating the application creator (developer studio, etc.) from the server solution manager (a company specializing in hosting).

How to choose the best hosting provider

Choosing the right hosting provider is more important than many e-shoppers think. Many of them make decisions only based on price, and after the first outage they find out that all of the money saved and much more gets “paid” in lost profits.

Of course, price matters, but besides it, we recommend that you pay attention to references from other e-shoppers when choosing a hosting provider. Another important factor is the contractual guarantees of individual providers – do they guarantee 99%+ availability? fast reaction times in case of a problem? quick server repair if something goes wrong?

The level of support is also not negligible – it can be easily accessible nonstop but if the phone gets picked up by a temporary worker who knows about servers about as much as he does about the aerodynamics of the blue jay, it may not be very useful to you. At vshosting~, we are well aware of this and that is why our senior administrators and technicians are always available directly in our datacenter.

Last but not least, it is also advisable to ask how the hosting provider is prepared to deal with outages. Because if something is for sure, it is that each server breaks down at a certain point.

Outages can be prevented in many cases. For those unexpected and unpreventable outages, solving them as fast as possible is essential. It is important that your hosting provider of choice implemented appropriate internal processes, built redundancy directly into the solution (backup servers, etc.), and uses correct software architecture and network security (i.e. protection against cyberattacks).

The takeaways

1) decide in the beginning what you’re aiming to achieve with your e-sho

2) no e-shop should use web hosting

3) separate the developers and managers of your e-shop

4) when choosing a hosting provider, look into references and contractual guarantees


Damir Špoljarič

Summer is in full swing and we’re working like men (and women) possessed to improve our services and infrastructure. Take a look at what’s new at vshosting~.

Application Protection

We’re finalizing our new protection system for Managed Servers called L7 DDoS Protect, which will shield our clients from http floods, SQL injections, and many more attack types. It is a unique kind of protection that is fully decentralized and that we’re creating, just like our successful service DDoS Protect, all on our own with our team of infrastructure specialists and C developers.

CDN Extension and New DNS (CloudDNS)

We will soon be expanding our CDN into another location: Singapore. It will be our first CDN location in Asia! We expect the installation of the pop in Singapore sometime in September.

In addition, we’re developing a number of new functions for our CDN. Any day now, it will support the webp format for additional acceleration of image loading, purging of files via API, “on the fly” image resize function and their subsequent caching, and we’ll also support PUSH CDN with Object Storage access (S3 API) and much more.

During the summer, we’ll also be migrating our current DNS to the new CloudDNS that will be integrated into the client zone and accessible via API. CloudDNS will be utilizing our global anycast CDN network.

Expanding the Network with Additional 100Gbps Upstream

At the end of the summer or first thing in the fall, we will be implementing yet another 100Gbps upstream to a Tier1 operator abroad in order to further increase the robustness of the vshosting~ network.

New Clients

We’re very happy to welcome additional noteworthy internet projects, that are migrating to vshosting~ this summer. Among them are e.g. FootShop, telecommunications operator WIA, agencies BlueWeb and Proof&Reason, or the CBRE and obchody24.cz companies.

New Dedicated Servers and the Popular NVMe Discs

During this summer, we will present new dedicated server configurations. You can look forward to servers with XEON E-2100 processors and with up to 128GB RAM and 2x NVMe discs. In general, NVMe discs are increasingly more popular. As a result, we will be installing tens of new managed servers with NVMe discs, often for the heavily loaded database servers.

Blackout Test and Datacenter Third Phase Prep

This past week, we’ve conducted a blackout test including a simulated diesel aggregate malfunction. All went perfectly well, just as expected. We are also preparing for the last expansion of the data center.

Rising Interest in Kubernetes

Our service Platform for Kubernetes is becoming continuously more popular. We’re newly providing this service e.g. for the well-known Shopsys Framework.

Affiliate Program in the Works

In the fall, we’ll launch our first official affiliate program. In the beginning, it will only be in service for dedicated servers but we’ll soon expand it to all of our other services.

Upcoming Move

A while back, our sales and marketing teams have moved to temporary offices at the Wenceslas square (WorkLounge coworking) due to capacity reasons: for almost a year, we can no longer fit into ServerPark. In a few months, we will be opening a new modern vshosting~ subsidiary in Prague for sales, marketing and development teams that’ll hold up to 60 of our colleagues.

Have a nice rest of the summer,

Damir Špoljarič

CEO


vshosting~

Whether we like it or not, we live in the cloud era. We have gotten used to easily and almost immediately adding more output and subsequently subtracting it when the demand goes down.

At first glance, everything looks great – we only pay for the capacity we really need and only when we really need it. We don’t need to worry about a spare parts storage space or get up at 3 am to deal with a broken server. However, this “ideal world” also has its drawbacks that might not be obvious at first.

By transferring applications to the cloud, we have given up the option to set up the entire environment according to our wishes, we now have to increase or decrease output via predefined “packages”, we give our data over to a third party thinking that “they won’t give a damn about a Czech mini project’s data”, and we introduce unnecessary vendor lock-in into the application via various SDK and API cloud services. We have sacrificed architectonical freedom and gotten comfort in exchange.

But what if there’s another way? What if we could take the advantages of the cloud and deploy them onto a solution that would be fully under our control? What if we could build our own, private cloud?

Proxmox – the Virtualization Platform

The first step is always the hardest: as it was when we at vshosting~ were choosing the best platform on which we were going to build the private cloud solution. Several software options made it to our shortlist and in the end, we were choosing between two candidates: OpenNebula and Proxmox. Both of these tools allow for a wide spectrum of use cases. In the end, we have chosen Proxmox, among other things because of the ease of its administration.

Proxmox in and of itself is a distribution built on recent Debian with a few improvements. It includes out-of-the-box KVM virtualization (full-fledged virtual machines) as well as LXC containerization (Linux-only containers), high availability, clusterization, virtual migration between nodes, scaling while the virtual machines are in operation and much more. All that is package in a user-friendly web interface, CLI or REST API. You can find the detailed function description on the Proxmox website.

Proxmox itself is very easily scalable from one node to up to 100 nodes in one cluster. Based on our practical experience, however, we have decided to limit the cluster size to 12 nodes. In any case, any unit bigger than that typically works best when divided into more smaller clusters which can have very high performance on their own.

Putting 12 machines together into one virtualization cluster where each one of the machines contains 4 powerful Xeon processors with 12 physical cores (24 strings) together with 512 GB RAM provides sufficient output even for the most extensive projects that are running at vshosting~. Although, if you like, we are more than able to create even larger and crazier setups 🙂

Light Containers as well as “Full fat” Virtual Machines

As we’ve already mentioned, Proxmox offers two types of virtualization – full virtualization via KVM and containerization with LXC. The advantage of KVM is full hardware emulation: as a result, it’s no problem to install on it not only Linux but also MS Windows, Mikrotik RouterOS or Android (if you have the necessary license). A disadvantage of KVM is the fact that it shares no parts of the system with the hypervisor. Virtual machines in KVM are then more demanding in terms of storage.

If you’d like to operate Linux applications, using LXC contanerization is the suitable option. In this case, the kernel is shared with the hypervisor, therefore, the need to account for kernel storage space in the container becomes obsolete. A significant disadvantage of containers, however, is only partial insulation of the environment that not all applications are capable of dealing with. For example, we’ve been unable to properly run GlusterFS servers or NFS exports on LXC.

Both virtualization technologies can be combined at will in a cluster.

You Provide the App, We Do the Rest

We offer our private cloud in the managed mode. Tha means we take care of everything below the level of virtual machines. Hardware, discs, network, connectivity, electricity, cooling, and even the hypervisor software itself – all of that is on us. Up to this point, there’s no difference between public clouds. Where the first point of significant difference manifests is high performance. Private Proxmox runs on physical machines dedicated only to a specific cluster.

As a result, the client has 100% of the capacity at his disposal. No sharing of resources, no aggregation. The client then divides the performance among single containers and virtual machines, he himself chooses the operation system, applications (and their configuration) that run on them.

Storage, Firewall, and Other Services

In the basic setup, the discs of virtual machines are stored directly on the discs inside the servers. This solution is very powerful but doesn’t allow for live migration of virtual machines between nodes or VM restart on a different node should the original one fail.

This can be solved by network storage, which we offer under the name Cloud Storage. In Proxmox, you’ll see it as basic storage accessible throughout the cluster. Virtual machines and containers that have their discs placed in this storage can be easily migrated between nodes or automatically start them on different machines in the event of failure.

Besides the disc storage, you can also use Cloud Storage as object storage compatible with S3 – but that is a topic for another article. As is the case with each of our managed services, you can add managed firewall Cisco ASA, DDoS Protect protection or up to 10Gbps global connectivity to your Private Cloud.


Damir Špoljarič

Throughout the last few months, the most typical request of vshosting~ clients has unanimously been horizontal scaling. Let’s take a look at what this requirement truly represents and where it comes from.

It’s important to mention right from the start that nowadays, horizontal scaling is often required mostly for business reasons. The technical side typically lags behind. In addition, in more than one instance, horizontal scaling is a requirement that shouldn’t be a priority for the application operator.

Horizontal vs. Vertical Scaling

Scaling can be either vertical or horizontal. Vertical scaling has been here with us for many years and, simply put, concerns increasing the output of a given server (be it physical or virtual) or container. It is the easiest way to provide more computing resources for that given app.

A disadvantage of this method is primarily its limitation (the server output cannot be increased infinitely). The answer to this drawback, at least theoretically, is horizontal scaling. That allows for parallel additions of independent computing capacities and distribution of load among these capacities – infinitely in an ideal case. From the point of view of scaling a business, this sounds amazing. However…

When it comes to extensive applications with the vision of rapid growth, horizontal scaling truly is the only option to ensure maximum scalability. Nonetheless, it is still more advantageous for many services to scale vertically rather than horizontally (e.g. load balancers, etc.). Unfortunately, many platforms (such as AWS) to this day force the user to choose from pre-defined packages of processor and storage capacity. At vshosting~, we consider this to be an anachronism.

Cloud platforms and hosting should be able to dynamically adjust to the real needs of concrete computing resources of each and every client. In other words, every time a client needs to increase their application output, they should have the option of simply adding x amount of storage and y number of processors without having to go through an elaborate investigation into which of the offered “packages” is most appropriate for them at that moment.

Horizontal Scaling Stumbling Blocks: Practical Experience

As we have already mentioned, in some cases, not even the option of dynamic vertical scaling remains sufficient and horizontal scaling thus becomes necessary. However, it pays off to thoroughly consider whether this really is the case. No matter how attractive horizontal scaling may seem in theory, it clashes with multiple conceptual disadvantages in reality.

First of all, horizontal scaling puts pressure on developers to create applications that are prepared for parallel operation and task fulfillment. We know from experience, that writing such applications is much more demanding on developer knowledge, time, and testing (and, as a result, on finances).

Furthermore, the limitations of external services need to be taken into account. Typically, the biggest complication arises in the event that the application meant to operate in a parallel mode uses a shared filesystem. Scalability is then reduced for the entire application simply due to the way this decades-old technology operates (object storage would be a suitable replacement). Even cloud platforms or infrastructure built on a distributed solution (e.g. GlusterFS) sooner or later run into the limitations of the technology used, that tend to be very difficult to overcome during operation.

Another problematic aspect is usually relational databases that also due to their conceptual design don’t account for being clustered. Technology in this area has advanced significantly, for instance, we have a great experience with MariaDB Galera Cluster – we have been successfully operating the Shoptet platform for tens of thousands of e-shops on it. From this point of view, it is a more advanced solution than what Amazon offers with AWS Aurora.

AWS Aurora only allows for horizontal scaling using so-called “replicas”, which are read-only replicas of one database instance. It is, therefore, a very limited form of horizontal scaling that loses its meaning this day and age because by limiting the operation from a relational database (to make the application more horizontally scalable), especially read operations are limited – for the offloading of which, tools such as ElasticSearch are used. These tools, on the other hand, are very easily horizontally scaled but aren’t in principle suitable for storing data of key importance.

Read-only replicas are once again a decades-old mechanism that we don’t consider to be a suitable technology for horizontal scaling. That is the case primarily because this method cannot ensure 1:1 scaling for all operation types. AWS offers no alternatives for horizontal scaling of SQL databases.

Hassle-free Horizontal Scaling Thanks to vshosting~

We see the biggest issue with modern applications built for horizontal scaling in their complexity. This makes it difficult to predict which part of the application or its component will reach its limit.

At vshosting~, we assist our clients’ developers in order to make their applications more easily and quickly scalable. We advise them which elements in their applications are or will become limiting for further growth and prepare individual, robust, and fully scalable infrastructure without compromises.

There is no point in reinventing the wheel: thanks to our unique know-how at vshosting~, we will let you know what to focus on when designing an application. We will prepare your project for global expansion, also thanks to our own CDN, which we’ll soon be launching on a third continent (Asia).

Damir Špoljarič

CEO & Co-Founder


Damir Špoljarič

E-shop development costs can climb up to millions, not to mention the time such development requires. Therefore, it is especially important that such investment isn’t made in vain.

At vshosting~, we host thousands of e-shops and have seen a lot in our 13 years on the market. That’s why we put together a list of things we recommend our clients to watch out for when developing an e-shop. Provided their goal is to maximize the return on their investment, that is.

How to Approach the Overall App Design

Stick to Tried and Tested Technologies

There’s a good chance your developers will try to persuade you that proven technologies are “old and boring” and that you should use some new hot tech instead. Here it’s important to back up for a moment and consider this: brand new technologies are indeed cool but also carry a significant risk of becoming obsolete within a year or two.

Should that become the unfortunate reality, incompatibility with many systems necessary for your e-shop operation would ensue. As would, of course, the issue with trying to find developers who are able to work with such niche tech. All this combined would lead to a compromised functionality of your e-shop and, as a result, to loss of revenue.

If you don’t feel comfortable taking that risk, we recommend you stick to the most popular technologies used to develop e-shops such as PHP, MySQL, ElasticSearch, MongoDB, or Redis.

Think about Horizontal Scalability

Undoubtedly, you’re developing your new e-shop with a vision of future growth. In order for your technical solution to keep the pace with increasing demand, it needs to be easily scalable. As a result, we recommend minimizing the use of relational databases and avoiding the ones that are difficult to scale (e.g. PostgreSQL) to our clients.

Another appropriate measure that makes horizontal scaling easier is the elimination of a shared file system and the use of object storage in its place. Just like a relational database, a shared file system can quickly become an unnecessary hindrance to growth.  

Don’t be Afraid to Develop Using Technologies in Testing

The development of a complex e-shop can easily take a year or two which is, given the lifecycle of many technologies, a rather long time. A nightmare scenario is that where after investing millions and spending 1-2 years developing, you launch your new e-shop only to find out it’s already pretty much technologically outdated.

In order to increase the length of your e-shop’s lifecycle, it is ideal for your developers to use new versions of proven technologies that are only in their testing phase. Thanks to that, your e-shop will age more slowly and the return on your investment will thus be much better.

Move on to Microservices

Monolithic (i.e. “built in one piece”) applications are on the decline in today’s development world, and for good practical reasons. Whenever you need to change or fix a part of such an application, it often leads to errors all over it. As a result, any changes or implementation of new features are very problematic.

For this reason, so-called microservices, thanks to which it is possible to develop sustainable applications with the option of only replacing their parts, are gaining popularity. If using microservices, your developers won’t spend all of their time fixing bugs and will be able to devote their efforts to developing new features instead.

Hidden Threats of E-shop Development

Technologies to Stay Clear of

Here are the top 3 technologies that can become a stumbling block when developing and operating an e-shop: Varnish, PostgreSQL, and Magento.

Varnish

Varnish is an application cache designed to speed up the application. However, an application that needs Varnish in order to run fast enough is quite suspicious. To give you the big picture, out of our thousands of clients only 2% use Varnish. Others don’t need it because their applications are fast enough without it.

PostgreSQL

As has been already mentioned with relation to horizontal scalability, PostgreSQL can very quickly become a hindrance for large e-shops. It is very difficult to scale and until today can’t do synchronous replica very well. Therefore, we recommend more scalable technologies for large e-shops (or small ones with the ambition to grow).

Magento

At vshosting~, we nicknamed Magento “solution for those with unlimited budgets and no need for scaling”. As you can imagine, we can’t in our experience recommend Magento to e-shops that aim to grow. While it does make development easier, it lacks scalability.

Watch out for Hidden Vendor Lock-in or Licences

Another threat to e-shop development can be too much dependence on an external service. Providers often make it difficult to migrate to another service in the event of issues or say a significant price increase. Interestingly, it tends to be quite easy to provide most of such services in-house. For example, a full-text search doesn’t need to be outsourced to an external service at all if you use ElasticSearch in-house.

A proprietary database is another such example: if it is custom-written to fit an external service, it cannot be transferred to another one. It is also important to watch out for licenses such as Java SDK.

How Not to Blow Money Invested in Advertising

Last but not least, here are a few pieces of technically-operational advice that’ll help you ensure that the money you invest in advertising will not be spent in vain due to the limitations of your e-shop.

Separate Development, Testing, and Production Environments

Tip number 1 is the separation of development, testing, and production environments. Production environment (i.e. the one making money) is sacred – one shouldn’t touch it unless absolutely necessary because each issue promptly turns into lost profit.

Developers should create new features in the development environment, then test them in the testing environment and only after that deploy them into production. Only by thoroughly testing things outside of production can you avoid the situation where a bug is discovered in production on a Friday night during Christmas shopping season.

Know the Limits of Your E-shop and Test Regularly

Presumably, we can all agree that only just discovering the limits of your e-shop shortly after launching a costly TV ad campaign is not the most opportune moment. Therefore, we recommend our clients to invest in so-called performance tests. Those serve to find limits and weaknesses by simulating high traffic to the website.

Moreover, good performance tests don’t only overload the application with traffic but emulate the behavior of an actual website visitor – e.g. by viewing product details, adding products to the shopping cart, full-text searching, etc. Thanks to that, you can find out more precisely where the weak spots of your web are and will be able to act on it accordingly.

Security (Beyond a Secure Application Design)

Not only due to GDPR is the old saying “security above all” more valid now than ever. Nowadays, if passwords are leaked from your e-shop, you risk having to pay a handsome fine and facing other legal consequences on top of losing the trust of your customers.

To minimize the risk of anything like that happening, we can recommend 3 most important measures to take:

  • Regular penetration tests (they test application weaknesses from a security standpoint)
  • AntiDDOS protection (just this year, we have noted over 1500 attacks on our clients’ webs, a large portion of which was conducted automatically)
  • Backups + the option of a quick restore (how long does it take to restore the system from backups? A few minutes or a few days?)

vshosting~

Database servers are key parts of any web project’s infrastructure and with the project’s increasing in size the database grows in significance. Sooner or later, however, we come to a point where database performance requirements can no longer be solved by the mere addition of extra memory and processor improvements. Increasing resources within one server has its limits and eventually, it becomes necessary to distribute the load among multiple servers.

Before implementing such a step, it is more than appropriate to clarify, what it is that we aim to accomplish. Some load distribution models will only allow us to manage an increase in the number of requests while others can also solve the issue of potential unavailability of one of the machines.

Scaling, High Availability, and Other Important Terms

First of all, let’s take a look at the basic terms we’ll be needing today. There are not many of them but without their knowledge, we won’t be able to move on. Experienced scalers can feel free to skip this section.

Scalability

The ability of a system (in our case a database environment) to react to increased or decreased resource need. In practice, we distinguish between two basic types of scaling: vertical and horizontal.

In the case of vertical scaling, we increase the resources the given database has at its disposal. Typically, this means adding accessible server memory and increasing the number of cores. Practically any application can be scaled vertically but sooner or later we run into hardware limits of the platform.

An alternative to this is horizontal scaling where we increase the performance of the application by adding more servers. This way we can increase the application’s performance almost limitlessly, however, the application must account for this kind of distribution.

High Availability

The ability of a system to react to a part of that system being down. The prerequisite for high availability is the ability to run the application in question in multiple instances.

The other instances can be fully replaceable and process requests in parallel (in this case we’re talking about active-active setup) or they can be in standby mode, where they only mirror data but aren’t able to process requests (so-called active-passive setup). Should a problem occur, one of the instances in passive mode is selected and turned into an active one.

Master node

The driving component of the system. In the case of databases, the master node is an instance operating in both read and write mode. If we have multiple full-featured master nodes, we speak of a so-called multi-master setup.

Slave node

A backup copy of data. In a standard situation, it only mirrors data and operates only in read mode. In the event of a master node failure, one of the slave nodes is selected and turned into a master node. Once the original master node is operational again, the new master will either return to being a slave node or it remains to be the master and the original master becomes a slave node.

Asynchronous replication

After inserting data into the master node, this insertion is confirmed to the client and written into the transaction log. At a later time, this change is replicated to slave nodes. Until the replication is completed, the new or changed data is only available on the master node and should it fail they would become inaccessible. Asynchronous replication is typical for MySQL.

Synchronous replication

The data insertion is confirmed to the client only after the data is saved to all nodes in the cluster. The risk of new data loss is eliminated in this case (the data is either changed everywhere or nowhere) but the solution is significantly more prone to issues in the network connecting the nodes.

Should the network be down, the performance of the cluster becomes temporarily downgraded. Alternatively, the reception of new requests for data change may even become temporarily suspended. This type of replication is used in the case of multi-master setups in combination with the Galera plugin.

Master-Slave Replication

Master-slave is the basic type of database cluster replication. In this setup, there is a single master node that receives all request types. The slave node (or multiple slave nodes) mirror changes using asynchronous replication. Slave nodes don’t necessarily have the newest copy of the data at their disposal.

Should the master node fail, the slave node with the newest data copy is selected to become the new master. Each slave node evaluates how delayed it is compared to the master node. This value can be found within the Seconds_behind_master variable and it is essential to monitor it. An increasing value indicates an issue in change replication at the master node.

The slave node operates in a read-only mode and can thus deal with select type requests. In this case, we’re talking about the so-called read/write split, which we’ll discuss in a moment.

Master-Master Replication

Master-master setup is such where we have two master nodes. Both are able to deal with all types of requests but between the two of them, asynchronous replication is the modus operandi. This presents a disadvantage when the data inserted into one node may not be immediately accessible from the second one. In practice, we set this up in such a way, so that each node is also a slave node to the other.

This setup is advantageous when we install a load balancer before the MySQL servers, which directs half of the connections to each machine. Each node is a separate master at the same time and knows not the other server is a master too. It is, therefore, necessary to set up the auto-increment step to the value of 2. If we don’t do this, a collision of primary keys that use auto-increment will ensue.

Each of the master nodes can have additional slave nodes that can be used for data reading (read/write split) and as a backup.

Multi-Master Replication

If there are more than two master nodes in a cluster, we’re talking about a multi-master setup. This setup cannot be built in basic MySQL but an implementation of the wsrep protocol, e.g. Galera, has to be used.

Wsrep implements synchronous replication and as such is very sensitive to network issues. In addition, it requires time synchronization of all nodes. On the other hand, it allows for all request types to be sent to all nodes in the cluster which makes it very suitable for a load balancing solution. A disadvantage being that all replicated tables have to use the innodb engine. Table utilizing a different engine will not be replicated.

Sharding

Sharding is dividing the data into logical segments. In MySQL, the term partitioning is used to describe this type of data storage and in essence, this means that the data of a single table is divided among several servers, tables or data files within a single server.

Data sharding is appropriate, if the data we have, forms separate groups. Typical examples are historical records (sharding according to time) or user data (sharding according to user ID). Thanks to such data division, we can effectively combine different storage types where we store the most recent data on fast SSD discs and older data that we don’t expect to be used very often on cheaper rotation discs.

Sharding is very often used in NoSQL databases, e.g. ElasticSearch.

Read-Write Splitting

In the Master-Slave replication mode, we have the performance of slave nodes at our disposal but cannot use it for write operations. However, if we have an application where most of the requests are just selects (typical in web projects), we can use their performance for read operations. In this case, the application directs write operations (insert, delete, update) to the master node but sends selects to the group of slave nodes.

Thanks to the fact that a single master node can have many slave nodes, this read/write splitting will help us increase the response rate of the entire application by distributing the read operations.

This behavior doesn’t require any configuration on the side of the database server but it needs to be dealt with in the application side. The easiest option is to maintain two connections in the application: one for read and one for write operations. The application then decides on which connection to use for every given request based on its type

The second option, which is useful if we are unable to implement read/write splitting at the application level, is using application proxy that understands requests and is able to automatically send them to appropriate nodes. The application then maintains only one connection to the proxy and doesn’t concern itself with request types. A typical example of this solution is Maxscale. Unfortunately, this is a commercial product but it provides a free version limited to three database nodes.

We Scale for You

Don’t have the capacity to maintain and scale you databases? We’ll do it for you.

We will take care of even very complex maintanance and optimization of a wide range of databases. We’ll ensure their maximum stability, availibility, and scalability. Our admin team manages tens of thousands of database servers and cluster so you’ll be in the hands of true experts.


We have successfully assisted with migrations for hundreds of clients over the course of 17 years. Join them.

  1. Schedule a consultation

    Simply leave your details. We’ll get back to you as soon as possible.

  2. Free solution proposal

    A no commitment discussion about how we can help. We’ll propose a tailored solution.

  3. Professional implementation

    We’ll create the environment for a seamless migration according to the agreed proposal.

Leave us your email or telephone number




    Or contact us directly

    +420 246 035 835 Available 24/7
    consultation@vshosting.eu
    Copy
    We'll get back to you right away.