Should I put my business in AWS? These are questions frequently posed. This article is designed as a high level overview of AWS and why it may be helpful to your business. What it is not is an all inclusive or deep dive article of every service that is in the AWS umbrella.
We will start with the basics. AWS stands for Amazon Web Services. It is an umbrella of services provided by Amazon for your platform and infrastructure needs. It officially launched in 2006 and has greatly matured over the years. There are other competitors in the market such as Microsoft Azure (2010) and Jelastic (2011). These are not the only ones, many of the large service providers are working to provide their own.
There are two major types of services for the purpose of this article. Infrastructure as a Service (IaaS) refers to the traditional infrastructure such as VMs and storage. VMware has helped to push popularity of IaaS and has been around for quite some time. Platform as a Service (PaaS) is a more recent development but still been around long enough for a track record, depending on the vendor you choose to supply this. PaaS makes it much easier for developers to consume various services without the infrastructure to support it such as servers, VMs, switches, etc.
For example, if you need just a database to pump records into and pull them out of, traditionally with IaaS you would provision a server, operating system and tune it to your needs and have to monitor it for health. With PaaS you can spin up just an instance of the database system you need and simply point your code towards it. Amazon also offers several application containers as well to allow you to simply publish your code somewhere to run instead of needing to build a server with all of the dependencies.
When most people hear AWS, one of the main services they think of is EC2 (Elastic Compute Cloud). Amazon’s EC2 is a Infrastructure as a Service (IaaS) platform and allows you to rent compute via VM on a range of different operating systems(typically Linux or Windows). There are various tiers/sizes of EC2 containers and cost is based on the size and time usage of that container. Your business may have end of month processes that require multiple EC2 instances to be spun up for a weekend or a few days but then can be shut down for the remainder of the month. This type of usage based cost allows you to pay for exactly what you need. Many times companies have a painful decision to make during growth. Traditionally when equipment needed to be purchased, how to size it so that it meets immediate needs and also so that they do not have to replace it 6 months from now. Services like EC2 that are metered allow for this pay as you go model and only for what you need.
The second service people think of when they hear AWS is usually S3 (Amazon Simple Storage Service). Amazon’s S3 is a web service based storage service. It is very useful for hosting very basic/static websites where you are only charged bandwidth as well as being used for a public repository of data. It can also be accessed via REST, SOAP and BitTorrent. If your organization has a web application that regularly needs to store and access file based data, it can make these web service API calls to S3 without having to worry about local storage on the actual server hosting your web application. In that case it helps reduce the IT overhead so that your developers are not trying to regularly size servers and instead are just pushing and pulling data from a service. Amazon has a nice storage gateway appliance that ties into S3. With the appliance, you can attach storage to an already existing server on your premise to data that is in S3. The appliance will cache frequently accessed data and push and pull data from S3 in the background as necessary. The storage requirements of the local appliance are much less than the total data in S3. For example it may not be uncommon to have a local storage gateway with 100GB of hard drives connecting to multiple terabytes of data in S3.
There are a wealth of other services Amazon offers to help augment your needs in their environment from load balancers to Web Application Firewalls (WAF). Load balancers can help route traffic destined for one specific place to multiple back end servers and help your environment scale out as you grow so that you do not end up with a single large server which is also a single point of failure. The WAF allows you to lock down security and help prevent malicious attackers from bringing down your site or compromising the data on that site. Here is a nice screenshot of them. In further blogs, we may go further into these upon request.
Amazon also offers many different regions across the world to host these services. Perhaps you are US based and need to better service Australia due to latency concerns. It can be 200-300ms latency between the US and Australia. There is a region for that. You may even be looking for some redundancy/DR outside of your region but not at the opposite end of the world. Each region is split up into subsets called availability zones. These are segmented sections of the environment that allow you to split up multiple servers between so that if one subset goes down, your entire infrastructure does not. Below is a screenshot of the regions as they exist today.
You may be asking yourself, this is all great but what scenarios might AWS not work for me. There are typically a few of these. Your security policies may not allow corporate IP (Intellectual Property) or data in a public cloud offering. AWS is fairly secure and PCI and HIPAA compliant but your security officer may still have concerns. Other reasons may be if you have a fairly static IT footprint, purchasing equipment for your premise or datacenter colocation space and housing there may save money over the long run. If you need guaranteed resources such as a guaranteed disk performance, AWS may not be for you. A dedicated private cloud solution may be the way to go.
Should you have needs for PCI (Payment Card Industry) , HIPAA (Health Insurance Portability and Accountability Act), HITECH (Health Information Technology for Economic and Clinical Health) or others, Amazon has you covered with a wealth of information as well as a few Frequently Asked Questions (FAQs) regarding the topics. Here is a link with a wealth of different compliances offered – https://aws.amazon.com/compliance/
In Summary, AWS is a great place for new businesses that are not sure of their growth or even very mature businesses that need a large infrastructure to be able to scale up and down as their usage needs scale. Many uses cases can be made for using AWS, some can be made for not using it but as with any solution, vetting your business case against the solution will determine what is right for your organization.