Introduction to Amazon Web Services
Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis. The technology allows subscribers to have at their disposal a virtual cluster of computers, available all the time, through the Internet.
If you are a professional in cloud computing or if you’re looking to start a career in this exciting field, chances are that you will want to learn Amazon Web Services Essentials, the most relevant and most used cloud computing platform around.
What IS Amazon web services?
Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow.
These services or building blocks are designed to work with each other and result in applications which are sophisticated and highly scalable.
Types of AWS Certifications and why we need to know?
AWS certification is a process of obtaining certificates that serve to prove that candidates possess the skills required to design, build and maintain solutions based on AWS.
There are several tiers of certification, varying in level of detail and how much of hands-on development they cover, but the end goals are the same – demonstrating knowledge and proficiency in AWS. For reference check this link.
The below are AWS available certifications:
- AWS Certified Solution Architect – Associate
- AWS Certified Solution Architect – Professional
- AWS Certified Developer – Associate
- AWS Certified DevOps Engineer – Professional
- AWS Certified SysOps Administrator – Associate
- AWS Certified DevOps Engineer – Professional
- AWS Certified Advanced Networking – Specialty
- AWS Certified Security – Specialty
- AWS Certified Big Data – Specialty
There are some of the domains which Amazon web services uses widely:
- Developer tools
- Internet of things
- Application development
- Identity access management
Service modules of cloud computing
It delivers computer infrastructure (Servers, Storage, Processor, RAM) on an outsourced basis to support enterprise operations.
It provides a platform allows to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.
It allows users to connect and use cloud-based apps over the Internet.
It is a service module that is used to communicate.
It is a service module in cloud to provide Network or Transport Connecting Services.
(We need a heading here. The topic is not progressing logically)
Who is eligible for a free tier?
Every customer, from the time he registers on AWS, receives the free tier option, and is eligible for the same till one year from the time he registers.
How to Create Amazon web service free tier Account?
- Open browser and navigate to “https://aws.amazon.com”.
2. Enter details “Email address, Password, account name and Click on Continue.
3. Here, we need to provide Contact information, company name.
4. To set up payment information to use AWS, you just have to enter your Debit or Credit card details. Amazon charges a minimal amount transaction against the card on the file to check that it is valid.
5. In this step identity verification, Amazon Team will contact to verify that we provided contact information by using OTP.
6. Once OTP is entered, identity verification will automatically pop up.
7. Finally, we need to setup support plan for Aws account. It automatically redirects to Aws management console.
8. Now, the AWS Account (free tier) is created and can be used to avail AWS Services. And click on Sign in to console.
9. Log in to Aws console and provide email address and password which we provided at the time of account creation. Click on Next and launch Ec2 and other services.
10. Checkout Aws services after login and use as per our requirement.
In AWS (Amazon web services) we have some categorized services which users find easy to learn and access. Let us discuss each one of them. You can refer link.
- Ec2(Elastic compute cloud)
EC2 is web service that provides resizable computing capacity-literally servers in AWS data centers. It is used to build and host your software systems.
Steps to Launch Ec2 instance:
- Login to AWS console. Select Ec2 launch Instance.
2. Select Type of Operating System Amazon Ec2 instance. Choose “Amazon Linux AMI”.
- Select Amazon Ec2 instance as per your project needs.
- Check details VPC, Ec2 Region and leave another options default. Click Next.
- Select storage options by default it will give 8GB and we can increase volume space.
- Review detail and create Keypair or we can select Existing key pair for Ec2. click on Launch instance.
Steps to login Ec2 instance:
- Download putty and puttygen from “ https://www.putty.org” and install.
- Open puttygen and convert .pem file to .ppk file and save as a private key file.
- Launch putty and use below usernames to login as per our Ec2 instance Types.
For an Amazon Linux AMI, the user name is ec2-user.
• For a RHEL AMI, the user name is ec2-user or root.
• For an Ubuntu AMI, the user name is ubuntu or root.
• For a Centos AMI, the user name is centos.
• For a Fedora AMI, the user name is ec2-user.
• For SUSE, the user name is ec2-user or root.
- Open putty and set Ec2 instance Public Ip and check port number 22.
5. Next, click on the + button next to the SSH field to expand this section. Then click on Auth (which stands for authenticate) and enter the name of your private key file (i.e. the ppk file) where it says Private key file for authentication (if you click on browse you can easily search for the directory where you have stored it).
6. Login with username of our platform operating systems.
- AMI (Amazon Machine Image)
An Amazon Machine Image (AMI) is a special type of virtual appliance that is used to create a virtual machine within the Amazon Elastic Compute Cloud (“EC2”). It serves as the basic unit of deployment for services delivered using EC2.
- Simple Storage Service:
S3 (Simple Storage Services)
Amazon S3 is object storage built to store and retrieve any amount of data from anywhere.
Benefits of S3:
- High performance
- Easy to Use
- Elastic Beanstalk:
- Elastic Beanstalk allows to deploy and manage applications in the AWS Cloud without worrying about the infrastructure that runs those applications.
- AWS Elastic Beanstalk reduces management complexity without restricting choice or control.
- Elastic Beanstalk supports applications developed in Java, PHP, .NET, Node.js, Python, and Ruby, as well as different container types for each language.
- CloudFront (CDN):
A content delivery network (capitalize these formal words) is a system of distributed servers (network) that deliver webpages and other web content to a user based on the geographic locations of the user, the origin of the web page and a content delivery server.
Advantages of CloudFront:
- Security to content
- Integrating Network
- Great performance
- Programmable CDN
- Integration with Aws key services
- Quick content Delivery
- Geo Targeting
- Time saving
- Elastic Load Balancing:
Elastic Load Balancing is a highly available service that distributes traffic across Amazon EC2 instances and includes options that provide flexibility and control of incoming requests to Amazon EC2 instances.
- It supports routing and loads balancing of HTTP, HTTPs, TCP, and secure socket layer (SSL) traffic to Amazon EC2 instances.
- It provides a stable single Canonical Name record (CNAME) entry point for DNS configuration and supports both Internet-facing and internal application facing load balancer.
- ELB seamlessly integrates with the Auto Scaling service to automatically scale the Amazon EC2 instances behind the load balancer.
- ELB supports health checks for Amazon EC2 instances to ensure traffic is not routed to unhealthy or failing instances using Cloud Watch.
- Auto Scaling:
It is a service that allows you to maintain the availability of your applications by scaling Amazon EC2 capacity up or down in accordance with conditions you set.
- Manual Scaling
- Scheduled Scaling
- Dynamic Scaling (Autoscaling)
Auto Scaling Components:
Auto scaling has several components that need to be configured to work properly
- Launch Configuration
- Auto Scaling Group
IAM (Identity and Access Management):
AWS Identity and Access Management is a web Service that helps you securely control access to AWS resources for your users. Use IAM to control who can use your AWS resources (Authentication) and what resources they can use and in what way (Authorization).
User Name and Password:
- When a principal represents a human interacting with the console, the human will provide a username/Password pair to verify their identity.
- Access Key: An access key is a combination of an access key ID (20 characters) and an access secret key (40 Characters). When a program is manipulating the AWS infrastructure via the API.
Components of IAM
- Using IAM we can create and manage AWS users, and use permissions to allow and deny their access to AWS resources
- The users created can also be divided among groups and then the rules and policies that apply on the group apply on the user level as well.
- An IAM role is an IAM entity that defines a set of permissions for making AWS services requests.
- To assign permissions to a user group, role, or resource, you create a policy which is a document that explicitly lists permissions.
5. Multi-Factor Authentication:
- It is like One Time Password or RSA Tokens.
AWS Cloud Formation is a service that helps you model and set up your AWS resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS.
Amazon CloudWatch is a service that monitors AWS Cloud resources and applications running on AWS. It collects and tracks metrics, collects and monitors log files, and sets Alarms. Amazon CloudWatch has a basic level of monitoring for no cost and a more detailed Level of monitoring for an additional cost.
- Cloud Trail:
AWS CloudTrail can be used to get history of AWS API calls and related events for your account. This history includes calls made with the AWS management console, AWS CLI, AWS SDKs and other AWS services. It is a logging service from AWS.
- Amazon SES (Simple Email service):
Amazon Simple Email Service (Amazon SES) is a cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. It is a reliable, cost-effective service for businesses of all sizes that uses email to keep in contact with their customers.
- Amazon SNS (Simple Notification Service):
It is a web service offered by AWS that manages the delivery of messages to subscribed endpoints or clients.
- Amazon SQS (Simple Queue service):
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.
- Amazon RDS (Relational Database service):
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the AWS Cloud. It provides cost-efficient, resizable capacity for an industry-standards.
Advantages of Amazon RDS:
- It is faster than MySQL
- Highly scalable, cloud advantage from Amazon
- AWS Lambda Function:
AWS Lambda is a compute service by the AWS cloud offering. It is fully managed and with it there is no need to provision or manage servers (think patching, updates etc.). In AWS Lambda, basically you upload a function which can receive data through either event invoked by other AWS services or custom ones that you create or can even be invoked via an HTTP call with AWS API gateway sitting at the front. The latter configuration basically means that you can deploy an entire application server-less, with you paying only by the time that your function needs to run coupled with the resource that you configure that each function receives.
Benefits of Lambda Function:
- Lambda is a service that allows once again to reduce the amount of backend work for website, mobile apps or other businesses.
- In most cases, if you run a mobile app or an online web app, there are always some tasks to execute in the backend.
- Lambda allows performing backend tasks triggered by events happening on different machines and services all, all at a better cost.
AWS – Amazon Web Services, is an excellent package of all tools and platform that is required to host a web application or service. It is typically a complete cloud solution.
It has got offerings right from hosting your file in cloud with S3, to deploying an application with EC2, database, etc. It also offers tools for performance measurement and other marketing analysis of the application. Tools like Elastic Beanstalk helps in building application on remote server, which makes it easy to access and manage.
Written by Jagadeesh
Aws Cloud & DevOps Engineer