Choose right hosted for Magento (Comparing On-Premise, AWS Cloud, Hosted and SaaS)iam.awslagi
1. Understanding Magento Editions
Magento has a number of different installations, names of which change from year to year. At the moment, the company offers the following platform versions:
- Magento Open Source (former Magento Community)
- Magento Commerce (former Magento Enterprise)
- Magento Commerce Cloud
1.1 Magento Open Source
Magento Open Source is a free edition of the platform designed for developers and small businesses. This version can be downloaded and used completely free of charge.
However, launching a Magento Open Source web store goes beyond downloading and installing the software. Additional costs for coding, configuration and hosting will be also involved.
From our own experience, the price for a basic Magento website that includes standard functionality, a simple free theme and no integration with any external systems and services starts from around $15,000.
1.2 Magento Commerce & Commerce Cloud
Magento Commerce and Magento Commerce Cloud provide a more advanced functionality set that fits better merchants with a bigger turnover. The cost of using these two versions depends on the gross sales revenue:
So, the license cost for a paid Magento installation starts from $22,000 and can go as high as $190,000 per year for the merchants that generate over $25,000,000 (if the cloud version is chosen).
2. OverView Magento Commerce Cloud
Magento Commerce Cloud is a managed, automated hosting platform for the Magento Commerce software. Magento Commerce Cloud comes with a variety of additional features that sets it apart from the on-premise Magento Commerce and Magento Open Source platforms:
Magento Commerce Cloud provides a pre-provisioned infrastructure that includes PHP, MySQL, Redis, RabbitMQ, and Elasticsearch technologies; a git-based workflow with automatic build and deploy for efficient Rapid development and Continuous deployment every time you push code changes in a Platform as a Service (PaaS) environment; highly Customizable environment configuration files and tools; and AWS hosting that offers a Scalable and Secure environment for online sales and retailing.
2.1 Technology stack
Magento Commerce Cloud as five functional layers, as shown here:
- Amazon Web Services (AWS) powers the underlying Infrastructure as a Service (IaaS) for Magento Commerce Cloud. Each Magento Commerce Cloud plan provides a PaaS Integration environment for developing, testing, and integrating services.
- New Relic provides granular visibility into the site performance.
- Fastly caches site assets and, as customers access the site and stores, loads the cached assets fast.
- The Fastly Image Optimization (IO) offloads image processing and resizing load, freeing servers to process orders and conversions efficiently.
2.2 Magento Commerce Cloud architecture
Magento Commerce Cloud has a Starter and a Pro plan. Each plan has a unique architecture to drive your Magento Commerce development and deployment process.
Both the Starter plan and the Pro plan architecture deploy databases, web server, and caching servers across multiple environments for end-to-end testing while supporting continuous integration.
Each plan includes the following infrastructure features and supported products:
The Starter plan architecture has four environments:
- Integration: The Integration environment provides three testable environments. Each environment includes an active Git branch, database, web server, caching, services, environment variables, and configurations.
- Staging: As code and extensions pass your tests, you can merge your Integration branch to a Staging environment, which becomes your pre-Production testing environment. It includes the staging active branch, database, web server, caching, services, environment variables, configurations, and services, such as Fastly and New Relic.
- Production: When code is ready and tested, all code merges to master for deployment to the Production live site. This environment includes your active master branch, database, web server, caching, third-party services, environment variables, and configurations.
- Inactive: You can have an unlimited number of inactive branches.
The Pro plan architecture has a global master with three environments:
- Integration: The Integration environment provides a testable environment that includes a database, web server, caching, some services, environment variables, and configurations. You can develop, deploy, and test your code before merging to the Staging environment. Inactive—You can have an unlimited number of inactive branches based on the Integration environment.
- Staging: The Staging environment is for pre-Production testing and includes a database, web server, caching, services, environment variables, configurations, and services, such as Fastly.
- Production: The Production environment includes a three-node, high-availability architecture for your data, services, caching, and store. This is your live, public store environment with environment variables, configurations, and third-party services.
2.3 Compare the capabilities of Magento Commerce
|Infrastructure and deployment|
|High availability infrastructure||High availability architecture with a three-server setup in the underlying Infrastructure-as-a-Service (IaaS) to provide enterprise grade reliability and availability|
|Dedicated hardware||Isolated and dedicated hardware setup in the underlying Infrastructure-as-a-Service (IaaS) to provide even higher levels of reliability and availability|
|24×7 email support||24×7 monitoring and email support for the core application and the cloud infrastructure|
|A dedicated Customer Technical Advisor (CTA)||Dedicated technical account management for the initial launch period, starting with your subscription until your initial site launch|
3. Comparing On-Premise, Cloud, Hosted & SaaS
At present, there are four ways a magento website can be hosted, including on-premises with a business’ own server, in the cloud, with a hosting service, or through a software as a service (SaaS) provider.
3.1 Hosted Magento on On-premise Servers
Magento can be installed on a server located at its own facility. This is called the on-premise or self-hosted model. This approach gives a merchant complete control over and direct access to the hardware running its site, but also requires direct investment and constant server monitoring and maintenance.
Advantages of On-premise Servers
There are, perhaps, three advantages to the on-premise model. Each of these benefits assumes that a particular business is better at configuring, managing, and maintaining servers than others are.
- Performance: your skilled server and network administrators can optimize your site, which can boost performance in some cases.
- Security: if your business chooses the on-premise model, you have complete control over security. If your staff is better at encryption or server configuration than average, you can develop a relatively more secure site.
- Control: in the case of open source software, the on premise model will give your business access the e-commerce platform’s code. Some believe this will give you more control to optimize and modify your site, even potentially adding unique features.
Disadvantages of On-premise Servers
The on-premise model quite literally pays a heavy price for its benefits.
- Infrastructure: in the on-premise model, your company owns or leases all of the hardware, which will need to be upgraded or replaced every three-to-five years.
- License fees: if your business self hosts your ecommerce platform on premise, you may need to pay license fees for your ecommerce software, server software, and much more.
- Paid employees: your company will need one or more administrators to monitor and maintain your servers. In 2018, a typical web server administrator in the United States earned $69,077 a year, according to Glassdoor.
- Security: also listed as an advantage, security can be a problem too. What if your server administrator is not better at configuring your server? Or what is she forgets to install an important update? In the on-premise model, your company is completely responsible for data security and Payment Card Industry Digital Security Standard (PCI DSS) compliance.
- Performance: while your company may be able to optimize the performance of your server, you won’t necessarily have the advantage of deploying across a content delivery network, as an example.
- Backups: what happens if your server fails? The on-premise model requires your business to purchase additional hardware to backup your data for fear of catastrophic events.
It will not scale: ramping up during peak selling seasons might require adding more hardware that you won’t really need other times of the year.
3.2 Hosted Magento on Hosting Service
The popularity of the IaaS cloud and the “many and nuanced meanings” of the term “cloud” have muddied the distinction between IaaS and a hosting service a bit. But for our purposes, a hosting service is a company that manages server and server-related services for you.
Companies like Nexxcess, Rackspace, and Hostgator are all examples of hosting services. These business will take care of all of the required hardware and give your company access to a server via SSH or a portal like Plesk.
- Server maintenance: hosting services manage the hardware and basic server configuration for you. For many ecommerce businesses, this means they won’t need to hire an administrator.
- Support: if your server or site fail, hosting services can help. Most of these companies have technical support teams to help troubleshoot and correct problems for you.
- Security: hosting services have experience with server configuration and usually keep everything up-to-date and ship shape.
- Low cost: compared to hosting on-premise or in the cloud, a hosting service can be very inexpensive.
- License fees: in some cases, your business will still need to pay software license fees. For example, Magento Commerce is at least $24,000 per year for even the smallest seller on the least expensive hosting plan.
- Performance: while a hosting service takes care of your servers, they may not optimize them for your specific application or industry. Your business doesn’t have the control needed and the hosting service probably won’t do much to help performance without charging additional fees.
- Security: your business doesn’t know where or how your data is stored or secured. Extremely low-cost hosting services may not be PCI DSS compliant.
3.3 Hosted Magento On AWS Cloud
The term “cloud” or “cloud computing” can have many and nuanced meanings, but in the context of an e-commerce platform, cloud describes infrastructure as a service (IaaS). If your business chooses to host your ecommerce site in the cloud, you will be paying to use virtual servers and other hardware.
In many ways, the cloud has all of the advantages of self-hosting on-premise and more.
- No capital expenses: your company won’t have to buy or lease a server and you won’t need to worry about updates or replacements.
- Easy data backups: backing up data or entire servers is easy in the cloud.
- It scales: during peak sales periods, you can add servers to manage the additional traffic. With IaaS you pay for what you use, so there is very little wasted investment.
- Security: IaaS providers like Amazon Web Services or Microsoft Azure will give you significant control of server security. If your company has a skilled administrator, this can be an advantage.
- Performance: your company will have control over server configuration, plus you will be able to use a content delivery network.
- Control: in many cases you will also have access to your e-commerce platforms’ source code, giving you the option to modify or customize it.
3.4 Magento Commerce Cloud
The final model is software as a service. SaaS let’s a business focus on what it wants to accomplish — for example selling stuff online — without worrying about servers, networks, or even cybersecurity.
- Low cost: relative to on-premise hosting and the cloud, SaaS can be very inexpensive.
- No Server Administrator: your company won’t need to hire server administrators.
- Service: a good SaaS provider, provides comprehensive and highly available support services.
- Performance: SaaS e-commerce providers are focused just on e-commerce, so they optimize the servers your site runs on. This can mean much faster load-times for your customers.
- Security: your business’ SaaS partner takes full responsibility for PCI DSS and cyber security. SaaS companies can take what they learn from hundreds or even thousands of active sites to ensure that your business and its data is secure.
- Features: SaaS providers compete on their software, thus, SaaS companies can often be the first to introduce new features.
- Extensibility: your company will be able to easily extend your SaaS platform with apps.
- Ease of Use: not worrying about software installation, server maintenance, and the like makes SaaS much easier to use.
- Time to Market: SaaS e-commerce platforms are much faster to deploy, so your new site can be up and selling sooner.
SaaS is, perhaps, the best choice for many, if not most, e-commerce businesses, but it is not without challenges.
- Flexibility: some company’s argue that not having access to the server or the source code limits flexibility. If you wanted to change a SaaS e-commerce platform’s core code, you could not. However, nearly everything else in SaaS is configurable.
- Customization: SaaS platforms work with themes or templates. Thus, if you wanted to do something completely unique or break e-commerce conventions and best practices those changes may be more difficult with SaaS.