Amazon Web Services for Magento 2
Amazon Web Services (AWS) provide reach set of cloud-computing services to setup, build and run scalable environment. I use AWS as a main hosting provider to run Magento 2 websites. I decided to share minimum set of services to build the Magento 2 infrastructure.
First and most widely used service is Amazon EC2 or Amazon Elastic Compute Cloud. It can be configured as a web service with the resizable compute capacity in the cloud. It is a very flexible and easy to launch cloud servers. I use an EC2 for running Magento 2 with Apache or Nginx HTTP web server. In addition to EC2 with Magento 2, I use Varnish server which is configured to accept all incoming requests to the web server.
Next service I use is Amazon RDS or Amazon Relational Database Service. Amazon RDS makes it easy to set up, operate, and scale MySQL deployments in the cloud. It also supports Multi-AZ deployments to enhance database availability by creating a Replica in a different Availability Zones and dedicated hardware. AWS will automatically switch to a replicate database in case of primary one goes down.
Amazon ElastiCache service is useful when you want to setup Magento 2 sessions and cache in a in-memory storage. Amazon ElastiCache supports Redis and Memcached memory object systems. For Magento 2 it is recommended to use Redis storage.
AWS provides Free-tier (free of charge) package which allows to create an account and play with services before deciding to but it.
Amazon CloudFront service provides edge-locations for the static content distrubition. It is a web service that speeds up distribution of your static and dynamic web content, such as .html, .css, .js, and image files, to your users. You can also read the Improve Magento 2 performance with AWS CloudFront post with detailed step-by-step instructions on how to configure CDN for Magento 2.
There is benchmarking article shows comparison between an Aurora vs MySQL databases for Amazon RDS. Have a look before deciding which database to use.
Official Magento 2 documentation provides support in setting Redis as a cache and session storage for a Magento 2 server.
If you would like to understand better how to setup and work with Redis in DigitalOcean blog you may read great article about it.
Question of the Week
Do you use other than AWS hosting providers on your projects? Is it good, would you recommend me to try and write about it?
Send your reply to firstname.lastname@example.org or leave a comment below.
Thank you for being part of The Devletter Community.