Amazon Web Services
1. What is AWS?
Amazon Web Services (AWS) is a comprehensive, evolving cloud computing platform provided by Amazon. It provides a mix of infrastructure as a service (IaaS), platform as a service (PaaS), and packaged software as a service (SaaS) offerings.
AWS launched in 2006 from the internal infrastructure that Amazon.com built to handle its online retail operations. AWS was one of the first companies to introduce a pay-as-you-go cloud computing model that scales to provide users with computing, storage, or throughput as needed.
Amazon Web Services provides services from dozens of data centers spread across availability zones (AZs) in regions across the world. An AZ represents a location that typically contains multiple physical data centers, while a region is a collection of AZs in geographic proximity connected by low-latency network links. An AWS customer can spin up virtual machines (VMs) and replicate data in different AZs to achieve a highly reliable infrastructure that is resistant to failures of individual servers or an entire data center.
More than 100 services comprise the Amazon Web Services portfolio, including those for computing, databases, infrastructure management, application development, and security. These services, by category, include:
Amazon Elastic Compute Cloud (EC2) provides virtual servers — called instances — for computing capacity. The EC2 service offers dozens of instance types with varying capacities and sizes, tailored to specific workload types and applications, such as memory-intensive and accelerated-computing jobs. AWS also provides an Auto Scaling tool to dynamically scale capacity to maintain instance health and performance.
The Amazon EC2 Container Service and EC2 Container Registry enable customers to work with Docker containers and images on the AWS platform. A developer can also use AWS Lambda for serverless functions that automatically run code for applications and services, as well as AWS Elastic Beanstalk for PaaS. AWS also includes Amazon Lightsail, which provides virtual private servers, and AWS Batch, which processes a series of jobs.
Amazon Simple Storage Service (S3) provides scalable object storage for data backup, archival, and analytics. An IT professional stores data and files as S3 objects — which can range up to 5 GB — inside S3 buckets to keep them organized. A business can save money with S3 through its Infrequent Access storage tier or use Amazon Glacier for long-term cold storage.
Amazon Elastic Block Store provides block-level storage volumes for persistent data storage for use with EC2 instances, while 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 and Snowmobile, or use AWS Storage Gateway to enable on-premises apps to access cloud data.
Databases, data management
AWS provides managed database services through its Amazon Relational Database Service, which includes options for Oracle, SQL Server, PostgreSQL, MySQL, MariaDB, and a proprietary high-performance database called Amazon Aurora. AWS offers managed NoSQL databases through Amazon DynamoDB.
An AWS customer can use Amazon ElastiCache and DynamoDB Accelerator as in-memory data caches for real-time applications. Amazon Redshift offers a data warehouse, which makes it easier for data analysts to perform business intelligence tasks.
Migration, 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 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.
An Amazon Virtual Private Cloud (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 AWS load balancing tools, including 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.
Development tools and application services
A developer can take advantage of AWS command-line tools and software development kits (SDKs) to deploy and manage applications and services. The AWS Command Line Interface is Amazon’s proprietary code interface. A developer can also use AWS Tools for Powershell to manage cloud services from Windows environments and AWS Serverless Application Model to simulate an AWS environment to test Lambda functions. AWS SDKs are available for a variety of platforms and programming languages, including Java, PHP, Python, Node.js, Ruby, C++, Android, and iOS.
Amazon API Gateway enables a development team to create, manage and monitor custom 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 a packaged media transcoding service, Amazon Elastic Transcoder, and a service that visualizes workflows for microservices-based applications, AWS Step Functions.
A development team can also create continuous integration and continuous delivery pipelines with services like AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, and AWS CodeStar. A developer can also store code in Git repositories with AWS CodeCommit and evaluate the performance of microservices-based applications with AWS X-Ray.
An admin can manage and track cloud resource configuration via 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 and 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, and also use AWS CloudTrail to retain user activity and application programming interface (API) calls for auditing.
AWS provides a range of services for cloud security, including AWS Identity and Access Management (IAM), which allows admins to 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, AWS Organizations enable a business to establish and manage policies for multiple AWS accounts.
The cloud provider 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 machine learning technology to protect sensitive cloud data.
AWS also includes tools and services that provide software- and hardware-based encryption, protect against DDoS attacks, provision Secure Sockets Layer and Transport Layer Security certificates, and filter potentially harmful traffic to web applications.
Big data management, analytics
AWS includes a variety of big data analytics and application services. Amazon Elastic MapReduce offers a Hadoop framework to process large amounts of data, while Amazon Kinesis provides several tools to process and analyze streaming data.
AWS Glue is a service that handles extract, transform and load jobs, while the Amazon Elasticsearch Service enables a team to perform application monitoring, log analysis, and other tasks with the open-source Elasticsearch tool.
To query data, an analyst can use Amazon Athena for S3 and then visualize data with Amazon QuickSight.
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 Amazon Lex for voice and text chatbot technology, Amazon Polly for text-to-speech translation, and Amazon Recognition for image and facial analysis. AWS also provides technology for developers to build smart apps that rely on machine learning technology and complex algorithms.
With AWS Deep Learning AMIs, developers can create and train custom AI models with clusters of GPUs or compute-optimized instances. AWS also includes deep learning development frameworks for MXNet and TensorFlow.
On the consumer side, AWS technologies power the Alexa Voice Services, and a developer can use the Alexa Skills Kit to build voice-based apps for Echo devices.
The AWS Mobile Hub offers a collection of tools and services for mobile app developers, including 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 then analyze the effectiveness of those communications.
AWS messaging services provide core communication for users and applications. Amazon Simple Queue Service is a managed message queue that sends, stores, and receives messages between components of distributed applications to ensure that the parts of an application work as intended.
Amazon Simple Notification Service (SNS) enables a business to send pub-sub 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.
Amazon Web Services has a range of business productivity SaaS options. The Amazon Chime service enables online video meetings, calls, and text-based chats across devices. A business can also take advantage of Amazon WorkDocs, a file storage and sharing service, and Amazon WorkMail, a business email service with calendaring features.
Desktop and streaming application services include Amazon WorkSpaces, a remote desktop-as-a-service platform, and Amazon AppStream, a service that lets a developer stream a desktop application from AWS to an end user’s web browser.
AWS also has a variety of services that enable the internet of things (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 AWS IoT Button provides hardware for limited IoT functionality, and AWS Greengrass brings AWS to compute capabilities to IoT devices.