Every business starts from little and grows. Technical solutions should certainly grow within businesses. Otherwise, sooner or later you will have to decide how to speed up your eCommerce website due to the increased loads. In this article you are going to find out what a scalable distributed architecture is and why does your business need it.
Single Server Approach
As our observations show, the majority of our customers have chosen the simplest solutions for their online services. Among them the most popular being a “Single Server” solution with LAMP pre-installed and fully controlled by a hosting company.
Hosting companies are selling this solution under different promotion names: Shared Hosting, Cloud Server, Managed Server, Dedicated Server and countless others.
All these solutions implement the same “Single Server” architecture. What differs them from one another is their price and volume of resources (CPU, RAM, HDD etc.).
When your system’s technical capacity is exceeded, the only thing you can do is migrate to a bigger server. The costs are growing dramatically while the resources remain locked and limited. Adopting such approach results in disabling your business growing above a certain limit.
This case is typical for any up scaling eCommerce. And any big eCommerce that has hardware server limitations starts slowing down, it’s overall performance worsens, and the store needs immediate upgrade to Enterprise eCommerce architecture.
When your service/eCommerce has grown to this level, it is time to think about a new distributed scalable architecture implementation to let your business live and grow further. This is the time to change your simple hosting provider to a more advanced one. This means you need to get Enterprise services, and this doesn’t always mean such services will cost you more. In many cases we uncovered that the price for a new Enterprise architecture was lower than a price for a single server bought from traditional hosting providers.
At the moment, there are two leading enterprise hosting providers:
- Amazon AWS – well prepared and tested
- Google Cloud – expensive, mostly beta, but quite ambitious
Whatever you choose, now you should think about the architecture creating and implementation. It may vary for different projects. For example, in case of Magento, our experience shows that it costs about 40 hours of DevOps and Magento developer to get this implemented and up-runnning. The most simple and popular architecture we implemented looked like:
Big Data Architecture
There are many different models which can be offered by experienced DevOps Engineers, and either can be optimized for a specific area. However, as practice has shown, the majority of requirements can be covered by the following general architecture with some simple changes/additions:
- Load Balancer (Reverse Proxy) – accepts all incoming requests and forwards them further. Usually this is a separate instance.
- Varnish caching server – This is installed as another instance if the site produces a lot of static content.
- A cluster with a scaling group of backend servers – main load processes application logic. Usually there are two or more instances with an ability to run more automatically or manually on demand.
- Database server (RDS) – One master database server or with a number of slave servers with a replication set up if supported by application. Solution for Magento 2 CE can be found here.
When your Magento store or any other eCommerce has grown to a big data eCommerce, the solution to allow it grow further and speed it up will cost for you:
about 40 working hours for implementation and
starting from $300 per month for hosting services.
And this architecture will never die as this easily can be horizontally scaled (that is why it is called scalable distributed architecture). As much eCommerce grows you as more instances you are adding, and it has little to no limitations.
If you have any questions or want to know more – feel free to contact Skynix for a free consultation.