Not everyone realizes just how much of their day to day activities depends on cloud-based services. It’s not just internet email and social media but chances are the applications you use at your workplace are stored in the cloud. Cloud services have exponentially grown in popularity over the last 10 years thanks to the many advantages the cloud has over on-site installations. It is easy to scale and additional capacity can be obtained in minutes.
Whereas services like DropBox and Google Drive have dominated the consumer-focused cloud space, Amazon Web Services (AWS) has taken the enterprise cloud market by storm. Started in 2006 as a side business of ecommerce behemoth Amazon, AWS has grown to become an important source of income for the conglomerate.
Annual revenue now exceeds $15 billion and has made AWS the undisputed leader of enterprise cloud despite formidable competitors like Microsoft Azure, IBM Cloud and Google Cloud.
Initially, the enterprise cloud was seen as a product that would be most appealing for giant multinational corporations. Over time though, AWS has grown to serve organizations of all sizes. In fact, the cloud is especially cost-effective for the small enterprise. They can benefit from the same economies of scale that were otherwise only available to large corporations.
With this overview of AWS out of the way, let’s take a look at the most popular services available on the platform.
1. Elastic Compute Cloud (EC2)
EC2s are cloud servers that individuals or organizations can hire at a fee from Amazon and manage the server as their own by installing and running their preferred application. A lot of AWS services are in fact built on EC2 which makes it perhaps the most important component of the AWS ecosystem.
You can choose the operating system you prefer (Windows or Linux) and rent the server based on your capacity and computing power demands (hard drive space, RAM, CPU etc). EC2’s advantage over the competition mainly lies in its rapid scalability. Everything from disk space and RAM to bandwidth and processing power can be scaled up or down quickly. This is convenient for organizations that experience seasonal surges in traffic.
The cost of EC2 depends on the user’s requirements. Configuration can be modified to conform to different use cases. Some customers may prefer to have high CPU power due to their need for computing power but with medium to low disk space.
2. Simple Storage Service (S3)
S3 is AWS’ response to Google Drive or Dropbox but with much greater scaling power. S3’s user console is less navigable than Dropbox’s or Google Drive’s but that’s because it’s built for use by applications and programming code as opposed to actual end users. It’s easier to access and manipulate S3 storage using APIs (dashboards for AWS services certainly help).
Fortunately, numerous APIs and libraries have been developed over the years for S3. Two terms you have to become familiar with when using S3 via an API are buckets and keys. Buckets are like root folders while keys are synonymous with subfolders and files. For any file you call up, the API will require that you separately specify the bucket and the key.
Just like EC2, you get as much capacity on S3 as you are willing to pay for. AWS claims S3 has 99.999999999% reliability but there have been a number of notable outages that certainly don’t conform with this lofty ideal (case in point is a February 2017 incident that disrupted several S3 servers for hours).
The cost is low—as little as 2 cents per GB per month. It can be even cheaper if you don’t need to access your data too often.
3. Relational Database Service (RDS)
RDS is a cloud database service that supports Oracle, PostgreSQL, MySQL, MariaDB, SQL Server and several other SQL-based frameworks. AWS provides the platform and parameters you need to have your relational database running in a matter of minutes. RDS also handles database repairs, failure detection, software patching, database recovery and data backup. That greatly reduces the amount of maintenance work the customer needs to do.
Like EC2 and S3, RDS is highly scalable. You can quickly upscale or downscale storage capacity and computing power. The cost of the RDS service is dependent on your choice of storage, computing power and bandwidth.
Redshift is a distributed data warehouse service quite similar to Hadoop that allows you to store large volumes of data that you can query. In this respect, it doesn’t seem too different from AWS RDS. The main distinction between the two though is Redshift is designed to operate at a much larger scale and can easily work with data in the terabyte and petabyte range. You can get as much capacity as you can afford to.
Since it’s a distributed system, you can choose from one of three styles: Even, Key or All. Even means all rows of a table are evenly distributed across all nodes. All implies that the entire table is available on each node. This reduces the need to copy data from one node to the next across the network but also leads to a deterioration in processing speed. Key means table rows are distributed across nodes based on the commonality of values in any one column.
Knowledge and experience in working with AWS is vital for anyone looking to build a career in tech. Most of the Fortune 500 has at least some of their data or applications running on AWS.