AWS Course Introduction
Taking the first steps as you start building on the cloud can seem overwhelming. Adjusting to a cloud-native approach can take time, especially if you are accustomed to the traditional on-premises way of provisioning hardware and building applications. Gaining familiarity with core concepts of cloud computing and the AWS Cloud will help give you confidence as you begin your cloud journey. In the following sections, we answer common questions about cloud computing and explore best practices for building on AWS.
Cloud Computing
Cloud computing is the on-demand delivery of compute power, database, storage, applications, and other IT resources through a cloud services platform through the internet with pay-as-you-go pricing. Traditionally, a developer looking to build an application had to procure, set up, and maintain physical infrastructure and the application. This is where cloud computing comes in.
A cloud services platform provides rapid access to flexible and low-cost IT resources that you can use to build and maintain software and databases, and create applications to delight customers. You don’t need to make large upfront investments in hardware and spend a lot of time on the heavy lifting of managing that hardware. You can access as many resources as you need, almost instantly, and only pay for what you use. On-demand, pay-as-you-go access to services is fundamental to the cloud computing model.
Advantages of cloud computing
The cloud provides developers with greater flexibility, scalability, and faster time to innovation. With cloud computing, you can
- Pay as you go – Pay only when you use computing resources, and only for how much you use.
- Benefit from massive economies of scale – AWS aggregates usage from hundreds of thousands of customers in the cloud, which leads to higher economies of scale. This translates into lower pay-as-you-go prices.
- Stop guessing capacity – When you make a capacity decision prior to deploying an application, you often end up either sitting on expensive idle resources or dealing with limited capacity. With cloud computing, you can access as much or as little capacity as you need, and scale up and down as required with only a few minutes notice.
- Increase speed and agility – IT resources are only a click away, which means that you reduce the time to make resources available to your developers from weeks to minutes. This dramatically increases agility for the organization, because the cost and time it takes to experiment and develop is significantly lower.
- Realize cost savings – Companies can focus on projects that differentiate their business instead of maintaining data centers. With cloud computing, you can focus on your customers, rather than on the heavy lifting of racking, stacking, and powering physical infrastructure.
- Go global in minutes – Applications can be deployed in multiple Regions around the world with a few clicks. This means that you can provide lower latency and a better experience for your customers at a minimal cost.
AWS Cloud
AWS provides on-demand delivery of technology services through the Internet with pay-as-you-go pricing. This is known as cloud computing.
The AWS Cloud encompasses a broad set of global cloud-based products that includes compute, storage, databases, analytics, networking, mobile, developer tools, management tools, IoT, security, and enterprise applications: on-demand, available in seconds, with pay-as-you-go pricing. With over 200 fully featured services available from data centers globally, the AWS Cloud has what you need to develop, deploy, and operate your applications, all while lowering costs, becoming more agile, and innovating faster.
For example, with the AWS Cloud, you can spin up a virtual machine, specifying the number of vCPU cores, memory, storage, and other characteristics in seconds, and pay for the infrastructure in per-second increments only while it is running. One benefit of the AWS global infrastructure network is that you can provision resources in the Region or Regions that best serve your specific use case. When you are done with the resources, you can simply delete them. With this built-in flexibility and scalability, you can build an application to serve your first customer, and then scale to serve your next 100 million.
This video explores how millions of customers are using AWS to take advantage of the efficiencies of cloud computing.
On-Premises And Cloud Computing
Before the cloud, companies and organizations hosted and maintained hardware in their own data centers, often allocating entire infrastructure departments to take care of their data centers. This resulted in costly operations that made some workloads and experimentation impossible.
The demand for compute, storage, and networking equipment increased as internet use became more widespread. For some companies and organizations, the cost of maintaining a large physical presence was unsustainable. Cloud computing emerged to solve this problem.
To help differentiate between running workloads on premises compared to in the cloud, consider a scenario in which a team of developers wants to deploy a few new features in their app. Before they deploy, the team wants to test the features in a separate quality assurance (QA) environment that has the same configurations as production.
In an on-premises solution, an additional environment requires you to buy and install hardware, connect the necessary cabling, provision power, install operating systems, and more. These tasks can be time consuming and expensive. Meanwhile, the team needs to delay the release of the new features while they wait for the QA environment. In contrast, if you run your application in the cloud, you can replicate an entire production environment, as often as needed, in a matter of minutes or even seconds. Instead of physically installing hardware and connecting cabling, the solution is managed over the internet.
Using cloud computing saves time during setup and removes the undifferentiated heavy lifting. If you look at any application, you’ll see that some of its aspects are very important to your business, like the code. However, other aspects are no different than any other application you might make – for instance, the computer the code runs on. As a developer, you likely want to focus on what is unique to your app, not the common tasks, like provisioning a server, that don’t differentiate your app. As one example, a group of researchers from Clemson University achieved a remarkable milestone while studying topic modeling, an important component of machine learning associated with natural language processing (NLP). In the span of less than 24 hours, they created a high-performance cluster in the cloud by using more than 1,100,000 vCPUs on Amazon EC2 Spot Instances running in a single AWS Region. This is just one example of how AWS can help you innovate faster.
AWS Online Training Course Content
AWS Training Objectives
- Compute (EC2)
- Storage (S3, EBS, EFS, Storage Gateway and Snowball)
- Database (RDS, DMS and Redshift)
- Network and Content Delivery (Route 53, VPC and Cloud Front)
- Management Tools (Cloud Watch, Cloud Formation and Cloud Trail)
- Security & Identity Compliance (IAM, Trusted Advisor, Config andInspector)
- Application Services (SWF and Elastic Transcoder)
- Messaging (SNS, SQS and SES)
- Developer tools (Code Commit, Code Build, Code Deploy and Code Pipeline)
AWS Training Prerequisites
- Absolute Beginners. No prior AWS experience is necessary
- Previous System Administration/ Development knowledge would be added advantage
- System Administrators Interested in Deploying Applications on AWS
- Cloud Computing Enthusiasts
AWS System Requirements
- Need to set up an AWS Account
- (Most of the Services comes with AWS free tier eligibility)
- Windows: Putty, Putty KeyGen and Web Browser with Internet connectivity.
- Linux/Mac : Default Terminal
AWS Course Duration
- 35 Days , Daily One Hour
AWS Course Content
Introduction to Cloud Computing
- Introduction to cloud computing
- Essential Characteristics of Cloud Computing
- Service Models in Cloud computing
- Deployment models in Cloud Computing
- Introduction to AWS
- AWS Account creation &free tier limitations overview
Identity Access Management
- Root Account Vs IAM user
- Multi-FactorAuthentication for Users
- IAM Password Policies
- Creating Customer Managed Policies.
- Groups
- Roles
Glacier Storage
- What is Simple Storage Service (S3)
- Storage Classes
- Versioning
- Cross-region replication
- Life Cycle Management
- Security & Encryption
- Static Webhosting with S3 bucket
- Events configuration on S3 buckets
- Enabling cross-account access for S3
- S3 Data management and backup using 3rd Party applications.
- S3 Cross-Account Access and Pre-Signed URLs
- Storage Gateway
Linux Introduction
- Basics of Linux for AWS
- Linux Installation and Basic commands overview
- Web Server and Services Configurations
Compute
- EC2 Instance Launch Wizard
- EC2 Instance Types
- Generating custom Public Key and Private keys for EC2 instances
- Security groups
- Volumes and Snapshots
- Creating customized Amazon Machine Images
- RAID Overview and RAID Configurations
- User Data and Metadata
- ElasticLoad Balancers & Health Checks
- Auto Scaling Groups
- CloudWatch
- Creating Billing Alarm and EC2 instance alarms.
- AWS CLI&EC2 Roles
- Elastic File System
- AWS Lightsail
- Elastic Beanstalk
- Placement Groups
Route 53
- DNS Records overview
- Routing Policies
- Hosting sample Website and configuring Policies
- Simple Routing Policy
- Latency Routing Policy
- Failover Routing Policy
- Weighted Routing Policy
- Geolocation Routing Policy.
Databases
- Launching a RDS Instances (MySQL, MSSQL & Aurora)
- Multi-AZ & Read Replicas for RDS instances
- DynamoDB
- Redshift
- Elastichache
- Database Migration Service and Schema conversion tool
VPC (Virtual Private Cloud)
- Networking Basics
- Creating custom VPCs and custom Subnets
- Network ACL’s
- Route Tables & IGW
- VPC Peering
- Flow log creation
- VPN Configuration with AWS (OpenVPN)
Security Options
- CloudTrail
- AWS Config
- Key Management Services
- AWS Certificate Manager
- AWS Inspector
- AWS Trusted Advisor
- Content Delivery Networks / CloudFront
Application Services
- Simple Email Service
- Simple Queue Service
- Simple Workflow Service
- Simple Notification Service
- SMS – Server Migration Service
- Migrating server from on-premises to cloud
- Cloud Formation
- Directory Services and Adding EC2 instance to Domain
- AWS TCO Calculator and Simple Monthly calculator
DevOps Tools Overview
- What is DevOps in Cloud
- Code Pipeline
- Code Commit, Code Build
- Code Deploy
- Lambda
Monitoring Tools
- Creating Custom Metrics with CloudWatch
Amazon White Papers review
- Security
- Reliability
- Performance Efficiency
- Cost Optimization
- Operational Excellence