The concept of cloud hosting can be confusing. “We’re moving to the cloud.” “The cloud can scale this.” Or my favorite, from Microsoft about Windows 7: “To the cloud.”
Cloud hosting is similar to hosting on dedicated servers. In both scenarios, you’re renting computers from a third party to keep your store online. That server (or servers) runs your code to generate web pages for your visitors.
The difference is what you’re renting, and how.
Cloud-hosting vendors provide different types of service. No two cloud hosts are identical, in my experience. Amazon’s cloud (called Amazon Web Services) is different than Microsoft’s Azure Cloud, which is different than Heroku’s cloud — even though Heroku uses Amazon’s cloud.
Cloud hosting is similar to hosting on dedicated servers. In both scenarios, you’re renting computers from a third party to keep your store online.
Each vendor has computer hardware and adds software to run your store. The software they add is what determines the features.
Amazon provides many services that act as basic building blocks, to assemble however you want. Others, such as Microsoft’s Azure and Heroku, have many of those options preassembled — just add code and go.
The terms “infrastructure as a service” and “platform as a service” describe these differences. But they become blurred as vendors evolve.
The first difference is in the application programming interfaces, which create, resize, and delete the different services. Cloud APIs go beyond the dashboards or portals of most hosting companies. Cloud APIs allow other programs to control just about everything.
For example, you could write a program that creates, say, 135 Amazon servers of different sizes, installs software on them, and adds them to your current site’s configuration to prepare to a flash sale tomorrow. Then when the sale is over at the end of the day, you can delete those 135 servers and pay for just that day of service.
With the right code, your store can even sense how busy it is and automatically add more servers. Netflix uses this method for its streaming service, for example.
The fast setup process is another advantage of cloud hosting providers. Depending on the provider, you can change what and how much you need within minutes.
Since resources can be created and deleted quickly, cloud providers tend to use metered pricing, wherein you pay for a server by the hour or minute instead of by the month. It also means you pay for data by the byte, not for a chuck of bandwidth that you may not need.
It’s a pay-for-what-you-use model. For example, for one of my apps I quadrupled the resources for a few hours to process a backlog of data that would have taken at least a week to get through otherwise. I paid about $0.20 (20 cents) extra in hosting for that.
Easy to Start
It’s easy to get started with cloud hosting. There are many providers to choose from, with or free or low-cost accounts, sometimes with free service for the first year — presumably they believe that once you try the services and build your store, you’ll be hooked.
But switching or moving from cloud hosting can be easy. I’ve moved numerous systems into cloud hosting, out of cloud hosting, and to different cloud hosting providers. It takes some work and some thought, but it’s doable.
For basic services — servers, file storage, databases — cloud hosting is the best option for stores that run their own code. Add-on services like email delivery, video transcoding, and a content delivery network could be helpful.
There are also development tools to reduce vendor lock-in risk, to smooth out the differences between providers.
When choosing between vendors, consider platform-as-a-service providers if you don’t have adequate staff. With these providers, you essentially give them a copy of your store’s code and data, and they do much of the work for you. They cost more but it could be offset by not needing to hire more staff.
If have staff to manage the process or you want to migrate an existing system to the cloud without much work, an infrastructure-as-a-service vendor might be the best option.