Choose the right on-premises-to-cloud migration method multi-tenancy
Definition

Amazon Web Services (AWS)

What is AWS?

AWS (Amazon Web Services) is a comprehensive, evolving cloud computing platform provided by Amazon that includes a mixture of infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS) and packaged-software-as-a-service (SaaS) offerings. AWS services can offer an organization tools such as compute power, database storage and content delivery services.

Amazon.com Web Services launched its first web services in 2002 from the internal infrastructure that Amazon.com built to handle its online retail operations. In 2006, it began offering its defining IaaS services. AWS was one of the first companies to introduce a pay-as-you-go cloud computing model that scales to provide users with compute, storage or throughput as needed.

AWS offers many different tools and solutions for enterprises and software developers that can be used in data centers in up to 190 countries. Groups such as government agencies, education institutions, non-profits and private organizations can use AWS services.

How AWS works

AWS is separated into different services; each can be configured in different ways based on the user's needs. Users can see configuration options and individual server maps for an AWS service.

More than 200 services comprise the AWS portfolio, including those for compute, databases, infrastructure management, application development and security. These services, by category, include the following:

  • compute
  • storage
  • databases
  • data management
  • migration
  • hybrid cloud
  • networking
  • development tools
  • management
  • monitoring
  • security
  • governance
  • big data management
  • analytics
  • artificial intelligence (AI)
  • mobile development
  • messages and notification

Availability

AWS provides services from dozens of data centers spread across 87 availability zones (AZs) in regions across the world. An AZ is a location that contains multiple physical data centers. A region is a collection of AZs in geographic proximity connected by low-latency network links.

A business will choose one or multiple AZs for a variety of reasons, such as compliance, proximity to end customers and availability optimization. For example, an AWS customer can spin up virtual machines (VMs) and replicate data in different AZs to achieve a highly reliable cloud infrastructure that is resistant to failures of individual servers or an entire data center.

Amazon Elastic Compute Cloud (EC2) is a service that provides virtual servers – called EC2 instances -- for compute capacity. The EC2 service offers dozens of instance types with varying capacities and sizes. These are tailored to specific workload types and applications, such as memory-intensive and accelerated-computing jobs. AWS also provides Auto Scaling, a tool to dynamically scale capacity to maintain instance health and performance.

Storage

Amazon Simple Storage Service (S3) provides scalable object storage for data backup, collection and analytics. An IT professional stores data and files as S3 objects -- which can range up to five gigabytes – inside S3 buckets to keep them organized. A business can save money with S3 through its Infrequent Access storage class or by using Amazon Glacier for long-term cold storage.

Amazon Elastic Block Store provides block-level storage volumes for persistent data storage when using EC2 instances. Amazon Elastic File System offers managed cloud-based file storage.

A business can also migrate data to the cloud via storage transport devices, such as AWS Snowball, Snowball Edge and Snowmobile, or use AWS Storage Gateway to let on-premises apps access cloud data.

Timeline of AWS storage service offerings
AWS storage offerings have grown considerably since the launch of S3 in 2006.

Databases and data management

The Amazon Relational Database Service includes options for Oracle, MariaDB, MySQL, PostgreSQL, SQL Server and a proprietary high-performance database called Amazon Aurora. It provides a relational database management system for AWS users. AWS also offers managed NoSQL databases through Amazon DynamoDB.

An AWS customer can use Amazon ElastiCache and DynamoDB Accelerator as in-memory and real-time data caches for applications. Amazon Redshift offers a data warehouse, which makes it easier for data analysts to perform business intelligence tasks.

Migration and hybrid cloud

AWS includes various tools and services designed to help users migrate applications, databases, servers and data onto its public cloud. The AWS Migration Hub provides a location to monitor and manage migrations from on premises to the cloud. Once in the cloud, EC2 Simple Systems Manager helps an IT team configure on-premises servers and AWS instances.

Amazon also has partnerships with several technology vendors that ease hybrid cloud deployments. VMware Cloud on AWS brings software-defined data center technology from VMware to the AWS cloud. Red Hat Enterprise Linux for Amazon EC2 is the product of another partnership, extending Red Hat's operating system to the AWS cloud.

Once applications, databases, servers and data are migrated to the cloud or a hybrid environment, tools like AWS Outposts deliver AWS services and infrastructure across multiple environments.

Table comparing AWS Outposts, Azure Stack and Google Anthos.
AWS Outposts is a hybrid cloud platform that competes with Microsoft Azure Stack and Google Anthos.

Networking

An Amazon Virtual Private Cloud (Amazon VPC) gives an administrator control over a virtual network to use an isolated section of the AWS cloud. AWS automatically provisions new resources within a VPC for extra protection.

Admins can balance network traffic with the Elastic Load Balancing service, which includes the Application Load Balancer and Network Load Balancer. AWS also provides a domain name system called Amazon Route 53 that routes end users to applications.

An IT professional can establish a dedicated connection from an on-premises data center to the AWS cloud via AWS Direct Connect.

Developer tools

A developer can take advantage of AWS command-line tools and software development kits (SDKs) like AWS CloudShell to deploy and manage applications and services:

  • AWS Command Line Interface, which is Amazon's proprietary code interface;
  • AWS Tools for PowerShell, which developers use to manage cloud services from Mac, Windows and Linux environments.
  • AWS Serverless Application Model, which developers use to simulate an AWS environment to test functions of AWS Lambda, a compute service that lets developers run code from over 200 AWS services and SaaS applications.
List of AWS Lambda use cases.
AWS Lambda is a serverless compute program and one of AWS's most popular services.

AWS SDKs are available for a variety of platforms and programming languages, including Android, C++, iOS, Java, Node.js, PHP, Python and Ruby.

Amazon API Gateway lets a development team create, manage and monitor custom application programming interfaces (APIs) that let applications access data or functionality from back-end services. API Gateway manages thousands of concurrent API calls at once.

AWS also provides Amazon Elastic Transcoder, a packaged media transcoding service, and AWS Step Functions, a service that visualizes workflows for microservices-based applications.

A development team can also create continuous integration and continuous delivery pipelines with the following services:

  • AWS CodePipeline to model and automate the steps of the software release process;
  • AWS CodeBuild to automate the writing and compiling code;
  • AWS CodeDeploy, which can be used with AWS Lambda, to automatically deploy code in EC2 instances;
  • AWS CodeStar, a cloud-based service for managing various AWS projects; and
  • AWS Cloud9 to write, run and debug code in the cloud.

A developer can store code in Git repositories with AWS CodeCommit and evaluate the performance of microservices-based applications with AWS X-Ray.

AWS also offers machine learning (ML) services for developers:

  • AWS CodeWhisperer, which provides code recommendations to developers based on prior code they've used;
  • AWS CodeArtifact, a development paradigm for building ML models; and
  • Amazon SageMaker, a fully managed service that helps developers and data scientists build and deploy ML models.

Management and monitoring

An admin can manage and track cloud resource configuration using AWS Config and AWS Config Rules. Those tools, along with AWS Trusted Advisor, can help an IT team avoid improperly configured and needlessly expensive cloud resource deployments.

AWS provides several automation tools in its portfolio. An admin can automate infrastructure provisioning via AWS CloudFormation templates, and also use AWS OpsWorks for Chef to automate infrastructure and system configurations.

An AWS customer can monitor resource and application health with Amazon CloudWatch and the AWS Personal Health Dashboard. Customers can also use AWS CloudTrail to retain user activity and API calls for auditing, which has some key differences from AWS Config.

Comparison of AWS CloudTrail to AWS Config.
AWS CloudTrail and AWS Config are two resource monitoring solutions with different capabilities.

Security and governance

AWS provides a range of services for cloud security, including AWS Identity and Access Management, which lets admins define and manage user access to resources. An admin can also create a user directory with Amazon Cloud Directory or connect cloud resources to an existing Microsoft Active Directory with the AWS Directory Service. Additionally, the AWS Organizations service lets a business establish and manage policies for multiple AWS accounts.

Amazon Web Services has also introduced tools that automatically assess potential security risks. Amazon Inspector analyzes an AWS environment for vulnerabilities that might impact security and compliance. Amazon Macie uses ML technology to protect sensitive cloud data.

AWS also includes tools and services that provide software- and hardware-based encryption, protect against distributed denial-of-service (DDoS) attacks, acquire secure sockets layer and Transport Layer Security certificates, and filter potentially harmful traffic to web applications.

The AWS Management Console is a browser-based graphical user interface for AWS. It can be used to manage resources in cloud computing and cloud storage as well as security credentials. The AWS Console interfaces with all AWS resources.

Big data management and analytics

AWS includes the following big data analytics and application services:

  • Amazon EMR, which offers an Apache Hadoop framework to process large amounts of data;
  • Amazon Kinesis, which provides tools to process and analyze streaming data;
  • AWS Glue, which is a service that handles extract, transform and load jobs;
  • Amazon Elasticsearch Service, which enables a team to perform application monitoring, log analysis and other tasks with the open source Elasticsearch tool;
  • Amazon Athena for S3, which lets analysts query data; and
  • Amazon QuickSight, which helps analysts visualize data.

Artificial intelligence

AWS offers a range of AI model development and delivery platforms, as well as packaged AI-based applications. The Amazon AI suite of tools includes the following:

  • Amazon Lex for voice and text chatbot technology;
  • Amazon Polly for text-to-speech translation;
  • Amazon Rekognition for image and facial analysis;
  • Amazon Textract to extract important text and data from documents;
  • Amazon Kendra to enhance website and application searches;
  • Amazon Forecast for end-to-end business prediction models;
  • Amazon CodeGuru to automate code reviews and detect costly, inefficient code; and
  • Amazon Lookout for Equipment for predictive maintenance.

AWS also provides technology for developers to build smart apps that rely on ML technology and complex algorithms.

With AWS Deep Learning Amazon Machine Images (AMIs), developers can create and train custom AI models with clusters of graphics processing units or compute-optimized instances. AWS also includes deep learning development frameworks for Apache MXNet and TensorFlow.

On the consumer side, AWS technologies power the virtual assistant Alexa Voice Service, and a developer can use the Alexa Skills Kit to build voice-based apps for Echo devices.

Healthcare workers can also use Amazon HealthLake to store, transfer and query a patient's healthcare data as well as Amazon Comprehend Medical, which extracts information from medical text.

Mobile development

The AWS Mobile Hub offers a collection of tools and services for mobile app developers. One of those tools is the AWS Mobile SDK, which provides code samples and libraries.

A mobile app developer can also use Amazon Cognito to manage user access to mobile apps, as well as Amazon Pinpoint to send push notifications to application end users and analyze the effectiveness of those communications.

Messages and notifications

AWS messaging services provide core communication for users and applications. Amazon Simple Queue Service (SQS) is a managed message queue that sends, stores and receives messages between components of distributed applications to ensure the parts of an application work as intended.

Amazon Simple Notification Service (SNS) enables a business to send publish-subscribe messages to endpoints, such as end users or services. SNS includes a mobile messaging feature that enables push messaging to mobile devices. Amazon Simple Email Service provides a platform for IT professionals and marketers to send and receive emails.

Augmented reality (AR) and virtual reality (VR)

AWS offers AR and VR development tools through Babylon.js and AWS Simplify. Babylon.js lets users create AR and VR applications without needing to know programming or create 3D graphics. The service also enables users to test and publish applications in-browser. Babylon.js can be used in the following:

  • 3D web applications
  • e-commerce
  • sales applications
  • marketing
  • online education
  • manufacturing
  • training simulations
  • gaming

AWS Simplify lets developers host and deploy their AR and VR applications.

Game development

AWS can also be used for game development. Large game developing companies use AWS services for games, such as Ubisoft's For Honor. AWS can provide services for each part of a game's lifecycle.

For example, AWS provides developer back-end services, analytics and developer tools such as Amazon Lumberyard, which aid developers in making 3D games. Back-end services like Amazon GameLift helps with building, deploying and scaling a developer's platform as well as defending against DDoS attacks.

Analytics help developers know their customers and how they play a game. Developers can also store data or host game data on AWS servers.

Internet of things (IoT)

AWS also has a variety of services that enable IoT deployments. The AWS IoT service provides a back-end platform to manage IoT devices and data ingestion to other AWS storage and database services.

The Amazon IoT Button provides hardware for limited IoT functionality and AWS IoT Greengrass brings AWS compute capabilities to IoT devices.

Other services

Amazon Web Services has a range of business productivity SaaS options:

  • Amazon Chime, which enables online video meetings, calls and text-based chats across devices;
  • Amazon WorkDocs, a file storage and sharing service; and
  • Amazon WorkMail, a business email service with calendaring features.

AWS has these desktop and streaming application services:

  • Amazon WorkSpaces, a remote desktop-as-a-service platform; and
  • Amazon AppStream, a service that lets a developer stream a desktop application stored in the AWS cloud to an end user's web browser.

AWS also offers blockchain services:

  • Amazon Managed Blockchain, a service that helps create and manage blockchain networks; and
  • Amazon Quantum Ledger Database, a ledger database that records and stores a user's blockchain activity.

Also available are Amazon Braket, a service that aids developers in quantum computing research, and AWS RoboMaker, a service that lets developers create and deploy robotics applications.

AWS pricing models, competition and customers

AWS's pay-as-you-go model for its cloud services is either on a per-hour or per-second basis. There is also an option to reserve a set amount of compute capacity at a discounted price for customers who prepay or sign up for one- or three-year usage commitments. Customers can get volume-based discounts, meaning the more of a service they use, the less they pay per gigabyte.

The AWS Free Tier is another option. Customers can access up to 60 products and start building on the AWS platform at no cost. Free Tier is offered in three different options: always free, 12 months free and trials.

Potential customers can use AWS's pricing calculator to estimate expenditures. And AWS-certified third-party experts provide on-demand help to customers picking a pricing plan.

As of the first quarter of 2022, Amazon AWS controls 33% of the total cloud market, according to Synergy Research Group. This is the most out of any of its competitors, including Microsoft Azure, Google and IBM in the public IaaS market.

Companies using AWS include the following:

  • Verizon
  • Netflix
  • PBS
  • FOX
  • United Airlines
  • Air Canada
  • Salesforce
  • BMW Group
  • Siemens
  • GoDaddy

History

The AWS platform was launched in 2002 with a few services. In 2003, it was re-envisioned to make Amazon's compute infrastructure standardized, automated and web service focused. This change included the thought of selling access to a virtual-servers-as-a-service platform. In 2004, the first publicly available AWS service -- Amazon SQS -- was launched.

In 2006, AWS was relaunched to include three services -- Amazon S3, SQS, and EC2 -- officially making AWS a suite of online core services. In 2009, S3 and EC2 were launched in Europe, and the Elastic Block Store and Amazon CloudFront were released and adopted to AWS. In 2013, AWS started offering a certification process in AWS services, and 2018 saw the release of an autoscaling service.

Today AWS offers more than 200 services and has data centers around the world that make it a highly available and scalable platform.

Acquisitions

AWS has acquired multiple organizations. Generally, its hasn't acquired larger well-established companies but, rather, smaller organizations and startups that bolster and improve the cloud vendor's existing offerings. Here are some of its recent acquisitions:

  • DataRow in 2020, a startup that specialized in a web-based client for Amazon Redshift, its cloud data warehouse;
  • TSO Logic in 2019, a cloud migration company that provides analytics, letting customers view the state of their data center and model a migration to the cloud;
  • CloudEndure in 2019, a company that focuses on workload migrations to the public cloud, disaster recovery and backup; and
  • Sqrrl in 2018, a security startup that collects data from points such as gateways, servers and routers and puts those findings inside a security dashboard.

AWS is the most used cloud platform on the cloud market. Get a better understanding of AWS costs with these tips and tools.

This was last updated in October 2022

Continue Reading About Amazon Web Services (AWS)

Dig Deeper on AWS cloud development

App Architecture
Cloud Computing
Software Quality
ITOperations
Close