Amazon Web Services has a lot to offer. Not only do they have secure and reliable data centers and points of presence across the world, they also offer more than 200 services – everything from compute and storage to quantum technologies and robotics. AWS is all about services. In fact, services is in their name!
In this article, we will look at some service categories as well as individual services offered by AWS. This is Part 1 of a series of articles on AWS services. In Part 2, we will consider the benefits of AWS services. And then in Part 3, we'll take a look at how to access AWS services in the console.
Compute, Storage, and Network
As part of a broad overview, computing infrastructures are often divided into three primary functions that handle our workloads. What I am thinking of here are compute, storage, and network. These are key service categories in AWS
Everyone knows that computers are used to calculate and solve problems. You're probably familiar with the central processing unit, or CPU, in a desktop computer. These days, many PCs also have graphical processing units, or GPUs. They also have storage units, usually either a hard drive or a solid state drive (SSD).
AWS offers virtual servers referred to as elastic compute cloud, or EC2, instances. These virtual machines include compute and storage similar to what is found in your PC. The EC2 was one of the first products offered by AWS. And it has been one of the main workhorses of their cloud computing infrastructure ever since.
But there is more to AWS compute than just the EC2. They also offer a user-friendly service called LightSail, that allows you to launch and manage virtual servers with minimal technical knowledge. AWS Lambda is a service that enables developers to run code without having to manage servers at all. In this solution, minimal code is used to develop just a few functions that last for up to 15 minutes. Elastic Beanstalk is an AWS compute solution that allows you to automate the management of web applications. And AWS Outposts gives customers the option to run AWS services on their on-premise equipment rather than in the cloud.
Storage services offered by AWS are robust and effective. There are three types of storage included in AWS storage services: block storage, file storage, and object storage. AWS Simple Storage Service, or S3, is an object storage offering that is versatile and seemingly limitless. You can use it to store and back up all types of files, and it even has a hierarchical structure for archiving data over time. Block storage on AWS is similar to the hard drive or SSD in your computer. Amazon Elastic Block Store, or EBS, includes many different options for providing block storage associated with your virtual machine instance. A third type of storage is file storage. Electronic File Storage, or EFS, is a Linux-based file management system. AWS also offers something to mimic Windows file systems with a product called FSx.
The third of the main service classes we want to discuss here is networking and content delivery. There are a lot of potential components to AWS networks. But perhaps the main building block is the Virtual Private Cloud, or VPC. Operating a VPC in AWS is like having a data center in the cloud. It is a way to group your cloud infrastructure resources in such a way that they are isolated from other cloud resources as well as external devices. VPCs can straddle multiple availability zones, and each VPC can have several different subnets.
Like a data center, the VPC can contain many servers and other components. EC2 instances, the compute resources we spoke about earlier, exist within VPCs. With the use of subnets and gateways, the cloud resources within a VPC are protected from the outside world. Various gateways, including Internet Gateways and Network Address Translation (NAT) gateways, control traffic into and out of the Virtual Private Cloud.
And we should also mention here while we're talking about network functions that AWS offers a global content delivery network called CloudFront. This is a way to cache data in major cities across the world. This kind of data caching can reduce latency and improve performance for those accessing AWS resources.
Databases and Containers
There are two types of databases provided by AWS. Relational databases, also known as SQL databases, use tables to link data fields in a logical way. Amazon's flagship SQL database is called RDS, and it works with SQL databases such as MySQL, MariaDB, Oracle, PostgresSQL, and Amazon's own Aurora database.
The primary non-relational, or noSQL, database in AWS is called DynamoDB. This is a fully managed AWS database service that provides a lot of flexibility and scaling. Other database services offered by AWS include ElastiCache, which is an in-memory cache, and DocumentDB, which is MongoDB compatible.
As for containers, AWS supports two container services. The first is called Elastic Container Service, or ECS, and it's a way to run containers that are very secure and scalable. The second is called Elastic Kubernetes Service, or EKS. Many people who have worked with containers have used Kubernetes, and this is AWS's version of it. AWS also offers Elastic Container Registry (ECR), which is an orchestration service to launch, monitor, and scale container applications across platforms.
Security, Identity, and Compliance
Before you can even log onto an AWS console or into an AWS command line interface (CLI), you will need to use a service called Identity and Access Management, or IAM. IAM is very complex. But it mostly comes down to creating and managing users, groups, and roles, which are granted or denied permissions to access AWS resources.
AWS uses the public key infrastructure, or PKI (not an AWS service, but an industry standard) to control access to protected resources. Some of the services that are related to PKI include:
Key Management Service (KMS)
AWS Private Security Authority
AWS Signer
AWS Payment Cryptography
Certificate Manager
Other security, identity, and compliance services include:
AWS Artifact
AWS Audit Manager
CloudHSM
Cognito
AWS Firewall Manager
Secrets Manager
Web Application Firewall (WAF)
Other Services
This has been only a sampling of AWS services. AWS provides many services that the average user might never need. These include machine learning, quantum technologies, robotics, satellite, blockchain, and analytics. AWS even offers certifications in fields such as data engineering, machine learning, SAP, DevOps, and data analytics.
You would be hard-pressed to find a computing service that Amazon Web Services does not offer in some form. You can even do high-speed computing using AWS compute services.
Final Thoughts
To say that cloud computing is a technology may be a misnomer. The cloud is more of a service model than a technology. What cloud providers like AWS have done is assimilate and organize myriad existing technologies and make them available in a robust and secure architecture for anyone to access.
If you still think you need to buy equipment to do all of your complicated computing work, you may be a bit misguided. While it’s best to have a powerful and reliable computer to access the cloud, once you're there you can pretty much find whatever service that you need. Try it out and let me know what you find.