Storage & Databases
With a Software-as-a-Service solution like Zento, as a merchant, you don't need to worry about servers, databases or storage, but this article will give a high level overview of how Zento handles databases & storage.
Shops running on Zento take advantage of the best databases, caching and file storage systems available in the cloud.
A shop, as any application, has data which is stored in one of the following systems:
We'll go through each of them and explain how Zento handles it.
Magento is built to run on a MySQL database and it uses it to store all the data: the catalog (products, categories or attributes), customers, orders, configurations, static pages etc.
Zento runs the MySQL database of Magento on AWS's RDS Aurora database system. Aurora combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
Depending on the specifics of a shop, the database runs on a highly optimised RDS Aurora Serverless or dedicated RDS Aurora with a multi-server setup.
Aurora Serverless automatically scales a database up and down depending on load and keeps a failover database to instantly fall back on in case of any failure. Costs are directly related to the size of the database used and can be as low as $0.07/hour.
For very large shops, a dedicated Aurora cluster can be a more cost effective setup; the cluster has a writer server and several reader servers that automatically scale horizontally depending on traffic.
Both database setups are encrypted and secured and optimized for performance and reliability. In addition to the automated backups, daily database dumps are stored off-site for added redundancy.
Beside the data in the database, shops also have product images stored as well as additional documents.
Instead of a traditional storage along with the source codes, Zento's Magento 2 custom deployment stores all files in AWS S3. S3 is the world-leading distributed file storage solution in the cloud with excellent speed, multiple levels of redundancy and industry-leading security. Costs are also directly related to the amount of storage used, with costs of just $0.02/GB/mo.
Files that are publicly available are served through AWS's CDN, CloudFront for increased speed in delivering the images to the user.
Complex applications use application caching in order to save the results of expensive operations into memory, so that subsequent requests can directly use the results instead of spending time and resources to compute the results again. Caching can reduce the time taken to serve a request by 10x which results in a much better user experience and server costs.
An application like Magento has a powerful caching layer that's required to effectively run the application.
On Zento, Magento's Redis cache is running on AWS ElastiCache which guarantees excellent performance, redundancy and automatic scalability.
A performant search needs to return results in under 0.2s for autocomplete searches so that users perceive it to be fast; users also expect results to be accurate and intelligently ordered by relevance.
To achieve a good search, Magento uses ElasticSearch, one of the most popular Open Source software for search.
Magento doesn't use ElasticSearch as a primary storage, but rather as an optimized storage of data computed from the application database. Nevertheless, in order to achieve the performance and relevancy a user expects from a search engine, this is an important part of the hosting setup.
Zento is running ElasticSearch on AWS Elasticsearch Service which offers the performance and reliability your shop needs.
One of the advantages of using a Software-as-a-Service solution like Zento is that you don't have to know or worry about all these details, and you can count on us to deliver the performance, reliability and security your eCommerce business requires.