An instance contains all the services needed for an M2-webshop,
including a shared file system, SQL proxy and more below.
There is one instance type for normal operations and a cheaper type for staging, tests etc. When deploying a new instance it is possible to choose the cheaper type for tests, staging and so on.
The simpler instance type has less powerful cpu settings and has a cheaper operational cost but is not suitable for higher traffic levels. It does however have all the functionality that the one for normal operations has.
An elastic server environment will extend or shrink a webshop according to real use. An instance under low load always has at least 2 http nodes running.
When these nodes are approaching full load; new nodes will start up to serve the demand. Nodes under low load will be shut down. All of this is operates automatically.
Autoscaling works well when the load is changing gradually. But, if traffic increases heavily within a very short period, for example during a TV-ad or similar; the system will not have time to catch up and will give a bad user experience.
With peak-planning it is possible to add a date and a time to let the system scale up in advance to meet expected traffic. The peak-planning is managed by the webshop administrator.
You only pay for the cpu and bandwidth that is actually used. Many webshops have high load only during certain times a day, others have big season variations.
Since the system scales accordingly you only pay for real usage and do not need to scale it up for the worst-case scenario.
Every instance has its own varnish cache and redis. Varnish is used to cache web pages which, reduces CPU costs as a large amount of the traffic does not reach the http-servers.
Redis is used to cache sessions and other M2 data which increases speed and reduces database traffic.
Images are scaled and served separately. Product images and images from the CMS are automatically uploaded, scaled and served by Google Images.
This saves cpu from the local servers. Images are served through the international Google network with good performance.
The platform handles free SSL certificates from LetsEncrypt with automatic installation and renewal.
All webshop instances support SSL. When creating instances or adding/redirecting domains a SSL certificate will be issued within a minute. Certificates will be automatically renewed.
All M2 background tasks are managed by a separate node. This ensures that heavy background activity will not affect the performance of the webshop.
Status on current, previous and erroneous jobs is managed through M2’s admin panel.
All operation and monitoring is provided by our operations department which relieves you from the headache of servers and network management.
Instead the time and effort can be put on developing the webshop.
The M2 database is backed up daily and available through a download link. Development code is stored in git.
New instances are pre-configured to send outgoing emails through Mailgun, an external email service. M2’s outgoing mail will work right from the box.
All connections are handled through the platform, there is no need for a separate registration at the Mailgun service. It is also possible to configure M2 manually in case the webshop needs to use another email service.
Development and version management is done with git, composer and a build-pipeline. Customized instances builds on a platform specific base-version of M2 that has built in support to work in an elastic environment.
The base instance is customized with those modules and other resources needed to give the webshop its final form.
Code is then checked in with git and is built with the platforms build-pipeline to a specific version. The resulting version can then be used to start a new instance or to upgrade a current instance. Older versions are saved, making it easy to roll back to an earlier version if needed.
A report panel is available to see the resource usage (cpu, bandwidth and storage) on every instance.
On top of the functionality already provided in M2 the platform base version has a number of added functionality. This functionality is provided in a separate document.