AWS 101: An Overview of Amazon Web Services Offerings
Amazon Web Services (AWS) is the market leader in IaaS (Infrastructure-as-a-Service) and PaaS (Platform-as-a-Service) for cloud ecosystems, which can be combined to create a scalable cloud application without worrying about delays related to infrastructure provisioning (compute, storage, and network) and management.
With AWS you can select the specific solutions you need, and only pay for exactly what you use, resulting in lower capital expenditure and faster time to value without sacrificing application performance or user experience.
New and existing companies can build their digital infrastructure partially or entirely in the cloud with AWS, making the on-premise data center a thing of the past. The AWS cloud ensures infrastructure reliability, compliance with security standards, and the ability to instantly grow or shrink your infrastructure to meet your needs and maximize your budget, all without upfront investment in equipment.
Here’s a look at some of the services Amazon offers for making IT design and management simple with AWS.
Essential AWS Services
Amazon offers many services for application development and analytics. Here are some key building blocks in the AWS environment and a brief description of how they are leveraged against your needs.
EC2: Server configuration and hosting
Deploy your army of servers with Amazon EC2. In just minutes bring virtual machines–called instances–online. Select AMI’s with operating system of your choice (Linux or Windows) and start deploying your clusters. There are three popular instance types when creating EC2 instances:
- Compute optimized. Used for instances that will require extremely high request rates, this configuration leverages industry leading processors.
- Memory optimized. These instances are built with the most efficient per-GB memory cost.
- Storage optimized. Storage optimized EC2 instances access extremely fast SSD storage to serve data retrieval requests with lightning speed.
For more information about EC2 instances and the different series that can be leveraged against your specific needs, check out the AWS Instance Types page.
Amazon S3: Data storage and movement
To build a powerful cloud application you need scalable storage. AWS Simple Storage Services (S3) provides all the needed tools to store and move data around the globe using ‘buckets.’
There are four ways to designate buckets in AWS and the cost to store them varies greatly.
1) Amazon Standard Storage
For data that are frequently accessed, such as logs for the last 24 hours or a media file that is being accessed frequently, Amazon Simple Storage offers affordable, highly available storage capacity that can grow as quickly as your organization needs. You are charged by the gigabyte used and number of requests to access, delete, list, copy or getting a data in S3. Expensive storage arrays are not required to get a new endeavor off the ground.
2) Amazon Infrequent Access Storage
Using the S3 interface, monitor and manage resources that are necessary for your operation but are used far less frequently. By designating these buckets as infrequent access, data availability will be 99.9% (amounting to less than 9 hours of downtime in a year) as compared to 99.99% availability (less than an hour of downtime in a year) for standard storage but can be stored for far less cost per gigabyte than Standard Storage buckets.
3) Amazon Glacier
For deep storage items that must be retained but are rarely used, Amazon Glacier provides long-term archiving solutions. Data stored in Glacier can take hours to retrieve instead of seconds, but the cost is a fraction of standard storage. With redundant data sites all over the world Glacier ensures your archival data is secure and safe no matter what happens.
4) Amazon Reduced Redundancy Storage
This service allows for the storing of non-essential, easily reproducible data, without the same amount of redundancy and durability as their higher-level storage tiers.
Understanding these storage concepts in S3 is essential before building your cloud architecture. You can learn more about the intricacies of S3 here. Now let’s take a look at some of the other AWS services that can be used to build scalable cloud application.
Elastic Load Balancing: Scalable performance
Amazon includes a powerful, scalable load balancing solution in AWS Elastic Load Balancer (ELB). ELB ensures that client requests are sent to the appropriate servers and avoiding any server hotspots (over-utilizing one server and under utilizing others)
AWS supports two types of load balancing: classic Load balancing and Application Load Balancing.
- Classic Load Balancing, which analyzes basic network and application data and ensure fault tolerance if one of the EC2 instances running web application happens to fail.
- Application Load Balancing, which looks at content request and routes traffic to the appropriate container or microservice based on the Application content information.
As with most AWS services, you only pay for the services that you use. In case of ELB service, you pay for by an hour and by the amount of data processed.
CloudFront: Deliver a better user experience
Amazon Cloudfront is a global content delivery system that leverages Amazon’s vast global infrastructure to deliver contents with optimized speed and cost. CloudFront ensures that content is closer to the users and improves the user experience by delivering the content faster by serving the content from the AWS region closer to the end user.
Cloudfront works seamlessly with AWS services. With no minimum usage commitment, experimenting with configurations and instances to find ways to improve performance is extremely easy.
Elastic Block Store (EBS): Low-latency instance access
AWS Elastic Block Storage provides persistent Block-level storage volumes for your EC2 instances with low latency. It also allows your system to access high speed SSD storage and layer your security with Access Control Lists and encryption.
Route 53: The AWS DNS service
Handle DNS routing with the high-speed, low cost Route 53 service from AWS. Translate machine hosts and named application to IP addresses and back within your VPC and connect resources like web servers, S3 buckets, and elastic load balancers. Route 53 is the network of DNS Servers hosted in various AWS regions all around the world. Using API, developers can easily automate the configuration changes to Route 53.
Cloudwatch: Monitor your AWS environment
Cloudwatch is the native monitoring service for resources and applications running in AWS. Gather logs and monitor metrics for key resources like:
- Amazon EC2 instance
- Amazon DynamoDB tables
- Amazon RDS DB instances
- Custom metrics generated by your applications and services
With Cloudwatch you can achieve full visibility into all of your AWS components.
Optional AWS Support Services
In addition to the essential cloud services, Amazon offers a host of optional products for enhancing and securing your cloud ecosystem. Here’s a look at some of the more popular helper services.
Lambda: Functions for optimized compute
Pay only for the actual milliseconds of compute time your code require to execute and avoid complexity and management overhead of configuring and managing underlying AWS infrastructure. AWS Lambda abstracts underlying AWS infrastructure and allows developers to focus on running their code.
AWS Config: Infrastructure management
Keep a bird’s eye view on your AWS infrastructure and stay secure and compliant with AWS Config. See up to date resource inventory and track any changes to your infrastructure from one convenient management panel.
Elastic Beanstalk: Build and scale great web apps
As the name implies, it’s impossible to grow faster than Elastic Beanstalk, the AWS tool for deploying and managing web applications designed in most of the top programming languages. The adjustable autoscale settings allow your apps to grow and contract as needed to avoid latency and wasted resource utilization.
CloudTrail: Monitor and audit activity
Application program interfaces calls (APIs) take place within your environment at a rate that can vary from a few transactions per minute to millions per second. AWS Cloudtrail captures key information about these transactions, including the source IP address, the event time, and more. The data from CloudTrail is especially critical for meeting security standards and complying with internal audits and standards or regulations such as PCI and HIPAA.
Amazon EFS: Manage your files
Quickly and easily create file systems through a simple web interface with Amazon Elastic File System (EFS). EFS grows and shrinks your file storage system as needed so you never run out of space. Mount one file system to multiple EC2 instances to share common data and workload sources, manage access control lists, and more with EFS.
These services add massive flexibility, scalability, and monitoring features that will help your organization master your VPC environment in AWS.
Special Purpose AWS Apps
Amazon also offers some highly specialized tools for getting the most out of your cloud resources. Amazon’s comprehensive list of products and services is expansive, but these are some of the most popular specialty apps.
Kinesis: Optimize data flow
A three-pronged tool for fine tuning multimedia data flow, Amazon Kinesis is a platform for loading and analyzing streaming data. It consists of:
Kinesis Firehose, a streaming analytics service, which ingests up to terabytes of data and send it to other AWS services such as S3, Redshift and AWS ES.
Kinesis Analytics, which lets you collect masses of data via simple SQL queries, with no need to bring in developers versed in complex programming languages.
Kinesis Streams, which takes these torrents of data and interactively helps you develop custom applications for processing it. With Kinesis Streams you can:
- Elastically scale your environment to respond to volume.
- Transform terabytes of raw streaming data into interactive dashboards.
- Generate alerts when critical events take place.
- Trigger automated responses to common problems like latency.
- Integrate with other Kinesis elements and AWS to optimize delivery.
VPC Flow: Analyze your traffic
VPC flow logs are detailed records of the IP traffic passing to and from a lone port, a subnet, or your entire VPC environment. Flow logs enable you to get into the deep analytics details about who is going where and when. The information they provide about your network will help you develop architecture and budget plans for ongoing operations and also allows you to conduct network forensics using the VPC flow logs—including what traffic is worth the compute and storage cost of capturing.
DynamoDB: Fast, easy database access
Amazon DynamoDB is a fully managed NoSQL database service in AWS. It works with document and key-value storage models, and its high availability and flexibility make it perfect for gaming, mobile apps, and more. Spin up databases with ease and save on compute expenses with DynamoDB.
Getting Started with AWS
There is much more to the AWS universe than a short guide can detail. But familiarity with the above fundamentals prepares you to expand your organization’s infrastructure to the cloud, build an entirely new environment, and master the art of data logging to ensure compliance and security. You can learn more about AWS in the video below, or sign up for a free trial.