If you have an idea for a website or an online application, the first thing you’ll need to get your project off the ground is a web server. Yet, with so many good hosting platforms available, why consider Amazon? Here we provide some solid reasons why Amazon Web Services should be in your shortlist.
A web server uses HTTP (Hypertext Transfer Protocol) to serve the files that form your web pages to users. And because the internet never sleeps, you’ll preferably need one running 24/7 that stores a database and is connected to the web.
As a newcomer, your immediate concerns will probably centre on costs. If you’ve done your research, or are a little more informed, then the issue of reliability (making sure your project can handle both furious user activity and dry spells) and security (because a security breach could make you end up with a different sort of fame) will also be at the forefront of your mind.
Time has moved on, and no one considers running a commercial web business from a home/small office connection anymore. Also gone are the days when a company had to buy, install and maintain their own hardware at a service provider’s warehouse, rushing to fix problems as they arose. Nowadays a wide range of hosting platforms are available, the premier amongst them being Amazon.
Let’s give you a little background on Amazon.
Amazon is the largest Internet-based retailer in the world by total sales (it surpassed Walmart as the most valuable retailer in the United States in 2015). It started as an online bookstore in 1995 before diversifying rapidly into all electronic media, then consumer electronics. In 2017, Amazon announced plans to acquire Whole Foods Market for $13.4 billion by the end of the year, vastly increasing Amazon’s presence as a physical retailer (interestingly, Amazon’s announcement of the acquisition increased its market value by more than $30 billion – more than double the grocery chain’s price tag!).
During this rapid expansion, Amazon also became the world’s largest provider of cloud infrastructure services. Its colossal cloud computing business is called Amazon Web Services (AWS).
Amazon Web Services
As of 2017 Amazon had taken 41% of the market, compared to Microsoft’s 10% and IBM’s 2.7%. That’s over a third of cloud-based hosting run by a single company. Importantly, that power is literally at your fingertips!
AWS basically rents to end-users its computers located in secured data centres all over the world, on every continent, connected by lightning-fast dedicated cables. And because the computers are rented, they can be used flexibly. Fees are based on a combination of usage, the hardware/OS/software/networking features chosen, required availability, redundancy, security, and service options.
These virtual computers have most of the attributes of a real computer, including hardware for processing, local/RAM memory, hard-disk/SSD storage; a choice of operating systems; networking; and pre-loaded application software such as web servers, databases, CRM, and so on.
Each AWS system also virtualises a console with keyboard, display, and mouse – allowing subscribers to connect to their system using a browser. The browser acts as a window into the virtual computer, letting subscribers log-in, configure and use their virtual systems just as they would a real physical computer.
Depending on what a subscriber needs, they can use a single server, or ten or a hundred – in fact however many they like, with support for any existing or prospecting technologies.
Because of the way its set up, Amazon can handle any data requirements and the costs can remain comparatively reasonable, no matter how large the installation grows with time.
One of the largest and most famous customers is Netflix, the online movie rental company that reportedly has three or four thousand servers running at any one time on the Amazon network.
If your web application is just starting out, renting one, or maybe two, servers will be sufficient, as you won’t need huge server resources. With Amazon’s commercial model you pay by the hour, and there are bulk discounts. An average server might cost you under a pound per hour, and a very big one can be as low as three pence an hour.
A live production server, providing your product online for customers, needs to be up 24/7. Amazon’s connection service, power backups and repair team will provide that; with payment by the hour so you’ll also be able to turn off the rented server to save money if necessary when you’re not using it.
The Amazon price calculation system factors in both the hardware and the services. As well as renting the server “instance”, you’ll need to pay for the memory, disk space you use and data transfer.
These costs are not significant. For example, using a gigabyte of storage per month is two pence – a 100-gig drive will be just over two pounds a month. That’s pretty good, if you keep in mind Amazon provides lots of support features. For example, you can select the location of the data centre to use, have Amazon do time-based backups, or, for a bit more, get redundant servers in different data centres.
Of course, there are alternatives.
Microsoft Azure
Microsoft has its own platform, called Azure, which started off in a slightly different way from Amazon, in that Microsoft intended to sell services (offering hosting for databases and web servers) which meant having to buy into their platform, or write your own code to work on their platform. In contrast, Amazon set out to provide servers to end users, regardless of whether they ran Linux or Windows.
This makes Amazon’s business model initially more user-friendly; AWS enables the use of any code on their rented system when building your application, regardless of platform, in the knowledge that the customer is likely to gradually grow into using more Amazon services and therefore become bound to them.
Presently, Azure also operates in a similar way to Amazon – it has virtual servers you can rent. However, because of Amazon’s lead, Blueberry has become very committed to Amazon; it’s a very powerful and cost-effective platform, and so we don’t generally recommend using Azure.
Of course, if the customer has a well-founded reason for selecting Azure, then that’s fine too (after all, the difference between the two isn’t significant).
Reliability and Redundancy
Let’s now briefly consider reliability and redundancy. When you build a computer system, for example to run a web application, you’d obviously like it to be online all the time. The truth is that absolute fail-proof reliability is quite an elusive goal; statistics tell us that any web server might have an outage once every few years. Even if the hosting company’s policy stipulates it will immediately replace the faulty server and copy the latest data state to it, this may take several hours. Eliminating this risk would entail having your servers fully duplicated.
This is why it’s necessary to explain redundancy and reliability to prospective development customers and partners to make sure we’re all on the same page and understand what the real-life real requirements of the system are.
Most businesses can tolerate scheduled maintenance once every couple of months because statistically, end-users tend to have outages more frequently. A lot of businesses can tolerate unscheduled maintenance for a couple of hours – perhaps every three years – and don’t see that as being unreasonable (major providers, government sites etc. have all been through similar outages, for example).
The key is to restore services quickly, without loss of stored data. Tolerating this level of failure means you can scale back on the redundancy you need to engineer into the system and it can therefore be much more cost effective than duplicating servers.
Of course, Amazon does allow you to create redundant systems; it’s just that you have to double the number of servers to achieve this.
We at Blueberry regularly get asked to add cloud service integration to our custom software developments, as it leads to greater economy for the customer and better experience for the user.
If you have internal servers and are interested in making use of the Amazon platform, we can help with migration of your infrastructure to Amazon as well as configuring redundancy. Many companies are opting to do this at the moment, as it can be an effective strategy for change management with regard to IT systems.
Give us a call if you’d like to discuss the potential of AWS for your business.