A Gentle Introduction to Amazon Web Services — Simple English Explanations for AWS Products
Amazon Web Services (AWS) is a technology that allows developers and companies to use IT resources to build applications. This has allowed businesses to not worry about buying and setting up an IT infrastructure.
I like to imagine AWS as a developer’s “Lego kit”. You get many prebuilt “blocks” to play with and you can put them together however you’d like in order to build an application.
Businesses and organizations in the past (the 1990s and early 2000s) had to create their own IT infrastructure, essentially their own Lego kit. This was expensive as computing and infrastructure were not cheap.
Fast forward to the 2020s, however, and the landscape is much different. With the decline of cost for computing resources, massive companies like Amazon were able to accumulate massive amounts of computing power. All of this computing power became known as the AWS Cloud. The products offered by AWS have a pay-as-you-use pricing structure and so it reduced the up-front cost needed to start a software business. Essentially, instead of buying your own developer Lego kit, you can rent it monthly for much cheaper.
Now, there are benefits and downsides to both buying and renting your IT resources and infrastructure. If you buy and set up your own IT infrastructure, you’ll pay a much larger up-front cost, however, you can save money in the long run and retain control over your IT infrastructure. AWS allows you to bypass this large up-front cost, however, you’re going to have to pay each month for the IT resources that you use.
However, the goal of this post is not to talk about when you should build your own IT resources or when to use AWS. The goal is to help you get a solid understanding of AWS and all the various products offered.
The Four Main Cloud Models
Amazon is able to offer many different types of products because they can provide products at many different abstraction levels. If you want barebones IT resources, AWS can provide that to you. If you want a full software solution without having to worry about the IT resources required to run it, AWS can provide that to you as well.
Nearly all of their products can be categorized into the four main cloud models. Note how each of the models simply changes how much of the barebones stuff is abstracted and hidden from you.
- Infrastructure-as-a-Service (IaaS): Gives access to the basic building blocks of cloud IT resources. For example, Amazon EC2 provides access to a computing machine and you get to configure however you’d like to. Amazon just makes sure that your IT resources stay online and running. As for pricing, you will generally pay per hour for IaaS products.
- Platform-as-a-Service (PaaS): This model allows Amazon to control the basic building blocks to provide a platform, such as a database. You can jump right in and start using the platform as intended (ex. storing data in a database or uploading files for later usage). Again, you will generally pay per hour to access PaaS products.
- Software-as-a-Service (SaaS): This gives Amazon even further control over the underlying infrastructure and platforms used in order to deliver a software product that you can use immediately. Running and hosting Office 365 is an example of this model. As for pricing, you will generally pay a monthly fee per user.
- Function-as-a-Service (FaaS): This allows you to build and run applications and services without having to think about configuring servers. FaaS products are also referred to as “abstracted services” since the underlying infrastructure is abstracted away. Amazon S3 allows you to upload and store files in the cloud without you having to worry about any of the underlying infrastructures. Pricing is generally based on how many times you use a function (ex. how many times you upload or retrieve a file from Amazon S3).
The AWS Cloud
There are many different types of IT resources that an organization may need in order to run, anything from computing power and large file storage to machine learning capabilities and business intelligence tools, etc. The AWS Cloud provides solutions to many of these needs.
Amazon Web Services provides many different IT resources from multiple locations around the globe and choosing the right location for your IT resources can help to reduce latency and costs. Something to note however is that the exact IT resources offered per region may differ.
There are many different product categories, each solving a unique set of business problems. Instead of going into detail about each product within each category, the rest of this post will cover what problem each category solves for businesses and organizations.
If you need to store a file in the AWS Cloud, the products under the Storage category will be of interest to you.
For example, if you would like for your users to upload profile pictures, you would need to store their uploaded images somewhere. That’s where something like Amazon S3 can help.
Whenever businesses must track data for their users, a database is needed. These products provide full access to database management systems while you don’t have to worry about the underlying hardware. For example, you can launch an Amazon RDS instance to host a MySQL database.
There are other specialized database products such as ElastiCache which allows you to store frequently accessed data in cache memory somewhere on the AWS Cloud.
Businesses need access to raw computing power in order to run their IT operations. Amazon provides this access with the products under the Compute category. Essentially you are gaining access to a CPU that is somewhere on the cloud.
For example, if an organization wants to create a website, it will need a web server. By using Amazon EC2, it can launch a web server in the cloud which is accessible via an IP address that Amazon provides.
Networking & Content Delivery
Businesses not only need to store files and data, but they also need to share them with others. Larger businesses that have customers around the globe need to be able to serve content quickly to multiple geographical regions. The products under the Networking & Content Delivery category address these technical needs of businesses.
For example, businesses that need to deliver large amounts of content to customers around the globe can use the CloudFront product. The CloudFront is a Content Delivery Network (CDN) that is optimized to solve the problem of delivering large amounts of content.
Specialized enterprise-level products, such as Direct Connect, also exist that meet the needs of large businesses. For example, Direct Connect allows enterprises to have literally a direct connection from their on-premise datacenters to the AWS Cloud for high-speed access and low latency.
Management & Governance
The products under this category are geared towards helping you manage and govern your cloud-based IT resources.
For example, the AWS Management Console is one can go to get a user interface to manage the resources on the AWS Cloud.
Applications can be built using many different IT resources or architectures. Businesses may need their different applications to integrate with each other to allow communication.
For example, Amazon API Gateway makes it easy to create and maintain APIs for your serverless workloads. It allows for different systems to communicate with each other via the API.
Front-end Web and Mobile
Creating an attractive user interface that is easy to use is a priority for businesses. The products under this category help businesses achieve this goal.
For example, the AWS Device Farm allows you to test your mobile or web application on multiple different types of devices. This allows front-end mobile and web designers to quickly preview how their user interface looks like on different devices.
Being able to collect and store data is usually not enough for a business. Through analysis of the data, businesses can start to make smarter decisions or find new insights. The products under this category help businesses analyze their data by providing solutions for big data, high-speed querying, and data analysis.
For example, Amazon EMR (Elastic Map Reduce) is a service that helps businesses process big data for a business. Amazon Redshift along with it can be used to store large amounts of data.
Artificial intelligence and machine learning are emerging technologies that are helping businesses create brand new creative solutions. The products under this category give access to powerful machine learning systems that can be accessed through an API.
The underlying infrastructure and machine learning model is handled by Amazon. You work with a final product that can be further used to create new solutions.
For example, you can use Amazon Rekognition to analyze images and videos. The API simply returns a JSON response with the output of the machine learning model and what it analyzed from the image or video.
Security, Identity, and Compliance
Businesses need to make sure that user data, applications, and cloud workloads are secure. In certain cases, businesses may need to be compliant with some security standards. The products under this category help solve these problems.
For example, AWS Shield provides protection from DDoS attacks. This allows businesses to keep a reliable and secure application running.
Migration and Transfer
Businesses and organizations that are interested in using the AWS Cloud, however, are hesitant due to a strenuous migration process can find solutions under this category. Amazon does a really good job of helping customers onboard and migrating their existing infrastructure to the AWS Cloud
For example, the AWS Database Migration Service makes it easy to migrate your existing database management system and data to the AWS Cloud with minimal downtime.
The blockchain is an innovation in security and cryptography. For businesses looking to create solutions using blockchain, the products under this category can help.
For example, the Amazon Managed Blockchain is a fully managed service that makes it easy to build and scale blockchain networks.
Businesses want to provide the best tools to their developers and engineers so they can continue to innovate. Amazon helps businesses provide their developers with tools that can help to build, test and deploy applications.
For example, AWS CodeBuild allows developers to build their code in the cloud and run unit tests to make sure that their code is robust.
Internet of Things
As the Internet tech has matured, it has allowed for larger amounts of devices to be connected to the Internet. These devices are named the Internet of Things. Businesses that deal with IoT devices can use the products under this category to build IoT-based solutions.
For example, AWS IoT Core is a product that allows for IoT enabled devices to interact with the AWS Cloud.
This is a newer product category that is aimed to solve problems that game development companies face. Gain access to a game engine that runs in the cloud to help build out full video games.
Large gaming companies such as Supercell, Epic Games, and Zynga are utilizing products that AWS provides to power their games.
Managing containers, pieces of software that run the same from one computing environment to the next, is a growing need for businesses. Products under this category help with creating, scaling, and securing containers in the AWS Cloud.
For example, AWS Fargate allows you to manage containers without having to worry about the underlying infrastructure for the container.
Handling media content is an absolute necessity for certain businesses. The media services give tools to help build live and on-demand video applications.
For example, AWS Elemental MediaConnect is a product that provides reliable, secure, and flexible transport for live video.
Manage and run your business with full-featured software solutions that Amazon provides. They are meant more for helping with the administrative side of the business.
For example, Amazon Chime is a platform that provides businesses resources for video conference calling and chat.
Amazon Web Services is a giant company and rightfully so. They offer so many different IT services that businesses and organizations can utilize to run their businesses without having to think about hardware or setting up their own datacenters.
Each category offers a different type of solution and it’s up to you to put the pieces together in order to build a final product. Having a solid high-level overview of each product category gives you access to a larger toolkit of IT services when solving problems.