Despite the convenient ease of using STRATUS MaaS, it may be useful to understand the underlying technology infrastructure of our Magento-as-a-Service platform.
STRATUS is built on top of a micro-services architecture powered by Kubernetes. Through micro-services, we can assign resources dynamically and provide your store exactly what it needs. This saves money compared to traditional dedicated hosting solutions where you pay for a limited amount of resources whether you use them or not. The STRATUS stack combined with our dynamic pricing plans means you only pay for what you use it, and it is provided for your store as needed.
How Your Traffic Requests are Handled
For non cacheable requests, load balancers send traffic requests directly to your STRATUS services, starting with Vanish (if enabled). After the services, the requests are then passed to the webserver (Nginx) backend. Nginx receives the request and sends it to the PHP Fast CGI Process Manager (PHP-FPM) where all the heavy lifting works to coordinate any auxillary services (e.g. Redis, Elasticsearch, Memcache, Sphinx, etc.) and return everything requested back to the requesting web browser.
The biggest limiting factor to scaling a Magento site is the amount of CPU memory available to PHP when page requests are processed. With Autoscaling enabled, Magento code and other needed files are automatically copied across additional PHP-FPM containers. Except for our Resource-Based plans, all STRATUS plans have access to Autoscaling. Once a store is easily enabled for auto-scaling, it has nearly limitless resources available to PHP-FPM.
If a high traffic event occurs, more containers come into existence automatically to handle the load.
Unlike PHP-FPM, MySQL databases does not scale. MySQL resources are based on your STRATUS plan. Occasionally, stores with poor query or code design can experience bottlenecks in MySQL. However, the majority of Magento stores effectively utilize query caching and are able to sustain high traffic. Your developer can assist with reviewing your store for possible MySQL bottlenecks and optimizing database performance.