AWS is the largest cloud player in the market today. According to Forbes, AWS grew US$2.3 billion in revenue just in the second quarter of 2019. If you are planning for an AWS career and looking out for a resource to learn AWS, then this Amazon Web Services tutorial is the right place for you!
Watch this AWS Certification for Beginners full course video:
Before we go ahead and take a deep dive into AWS, we need to be clear with some Cloud Computing concepts. I will be taking a top-down approach in teaching you AWS in this tutorial, so let’s start off by listing the topics that we will be learning in this AWS tutorial:
Why Cloud Computing?
Let’s understand this using an example:
Let’s say, you are developing an application, something like Instagram. Now, you have this application ready on your computer. The next step is to make this available on the Internet so that people can browse and go to this website, right?
How would you go about it?
- You will have to buy a server, on which you will be uploading your application.
- Next, you will have to ensure that your application is always available, by hiring people to manage your server on which this application is hosted.
- And of course, machines are bound to breakdown or they get outdated; therefore, you will have to keep a check on the server’s hardware whether it is up to date or not and be ready to spend some money if anything goes wrong.
- Finally, the most important aspect, as your application grows in popularity among your users, your servers will become overburdened with all the traffic. You will have to think about scaling up, by keeping a constant check on the traffic on your application.
Seems do-able? Well, the above will not only take a lot of effort but it is going to be extremely expensive too!
Now, are you wondering how to solve it? Well, the answer is Cloud Computing. Let’s go ahead in this AWS tutorial and understand ‘What is Cloud Computing?’
Learn more about AWS from this insightful AWS blog!
What is Cloud Computing?
Taking the same example forward,
- With Cloud Computing, you can rent as many servers from your cloud provider as you want, and the cloud provider will charge you based on the number of hours you used your servers. If you used a server for 1 hour, you will only be charged for 1 hour; ‘no strings attached!’
- You can configure redundancy in your servers, i.e., you can set up multiple copies of your servers in different data centers, which means if one of your servers becomes unresponsive, your application will still be served from any of the other deployed servers, hence ensuring high availability of your application.
- Any hardware updates or breakdown of any server will be handled by your cloud provider. This will avoid a hole in your pocket!
- Finally, you can configure autoscaling on your server fleet, i.e., whenever there is an increase in the traffic of your application, your cloud provider will automatically scale up your servers. And yes, if the traffic or the load decreases on your website, your servers will be scaled down automatically.
Quite interesting, isn’t it?
So in a nutshell, What is Cloud Computing?
The use of rented remote servers on the Internet, rather than using one of your own, is known as Cloud Computing.
Cloud Computing has led almost all new businesses to shift to the cloud; hence, not only are they saving the initial cost of starting a business with the correct IT infrastructure but their application is now being handled by various cloud providers such as Amazon, Microsoft, Google, etc. Amazing, isn’t it?
With Cloud Computing, you are getting a lot of added benefits, along with the drastically decreased infrastructural cost. Thanks to the amazing pricing models offered by your cloud provider.
Now, who are these cloud providers? Which companies are offering you cloud services? Let’s explore the same in this AWS tutorial next.
Go through the AWS Course in London to get a clear understanding of Amazon Web Services!
Various Cloud Providers
Cloud services are offered by a lot of companies. Among them, the top three companies in terms of market share are the following:
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
But why is this blog about Amazon Web Services (AWS)? Well, let’s discuss this in our next section of this AWS tutorial.
Learn more about AWS from this AWS Training in New York to get ahead in your career!
Well, to answer this question, further in this AWS tutorial, let’s have a look at some statistics:
- AWS alone owns around 40 percent market share in the market, which is huge when you compare it with the second-largest cloud provider, i.e., Microsoft Azure, which owns around 16 percent of the market.
- AWS is more reliable when compared to Microsoft and Google. This was concluded, based on the cumulative downtime of the past 4 years. AWS has had the least time in cloud outages, compared to Google Cloud and Microsoft Azure.
- AWS is a more mature product as it was launched way back in 2006.
Keeping these facts in mind, when any new company enters the cloud space, it always looks for a cloud provider that has proven a history of handling complex applications, and when stakeholders think like this AWS has a lot to show in its past decade of cloud-hosting history.
For example, Netflix the world’s biggest premium video streaming service is completely hosted on AWS for its application needs.
The world’s largest e-commerce company, Amazon is also hosted on the AWS infrastructure.
Amazon Prime Video, which is yet another premium video streaming service from Amazon, is also hosted on AWS.
When you see such big players relying on the AWS infrastructure, you as a new guy in the cloud space would naturally be inclined toward AWS for your application-hosting needs.
Okay, we now understand why businesses prefer AWS for their hosting needs. Next, let us understand why it is beneficial for YOU to learn AWS.
Well, if most of the companies are preferring AWS for their hosting needs, it is quite obvious that they would require AWS Engineers for their infrastructure on AWS. This directly impacts the requirement of AWS-proficient candidates in the industry, in turn creating ample job opportunities for you to apply for.
This is exactly why you should learn AWS. In this AWS tutorial, let’s summarize how it is beneficial for you to learn AWS:
- It provides more job opportunities.
- Since it is a mature product, there are fewer chances of changes in the future, hence offering job security.
- It is also more reliable when compared to Google and Microsoft Azure.
So far in this AWS tutorial, we saw that AWS is the cloud provider that we should learn first when making a shift to the cloud sphere. Now, let us go ahead and understand what exactly AWS is.
What is AWS?
Amazon Web Services (AWS) is a cloud service provider by Amazon Inc. It offers cloud services in compute, storage, database, content delivery, networking, etc.
Most of the offerings from AWS are Infrastructure as a Service (IaaS), but it also offers services in PaaS, such as Beanstalk and Lambda that are hugely popular among their users.
AWS offers you all the necessary tools you would need to set up your IT infrastructure, without buying anything.
From this AWS tutorial, so far, we have seen why we should learn AWS and what exactly AWS is. Let’s now move ahead and learn about the services that AWS has to offer.
If you have any doubts or queries related to AWS, get them clarified from AWS experts on our AWS Community!
AWS has around 100+ services to offer. To make it easy to understand, we will be covering only the important services in AWS, which you would be using day in day out as an AWS Engineer.
With the intent of making learning simplified, in this AWS tutorial, we have divided the AWS services into the following domains:
- App Integration
The compute services in AWS are all about high-end servers that can be used to host a website, process backend data, etc. Let’s look at some of the important services in the compute domain:
AWS Elastic Compute Cloud (EC2) is an Infrastructure as a Service by AWS, which gives you a server with the desired OS, processor, and RAM. You can do anything on this OS, from installing software to hosting a website. Here, you have full control over the OS.
Elastic Beanstalk is a PaaS offering from AWS that helps you in hosting a website. Since this is a Platform as a Service, you do not get access to the full OS. What you get is a dashboard and from this dashboard, you can upload your website. Technically, it’s an EC2 service with no access to the operating system and the required software pre-installed.
AWS Lambda is yet another Platform as a Service from AWS. This service also does not give you access to the full OS and cannot host a website. It can only be used for backend processing. This service gives you a dashboard, where you can upload your backend code. Its only tasks are to receive the request, process it according to the code uploaded, and send the results back.
How to become an AWS Architect in 2020?
Auto-scaling is a feature that can only be used in conjunction with a load balancer. This feature helps you scale the number of compute servers up or down based on parameters, such as CPU usage, memory usage, network throughput, etc.
AWS Load Balancer, as the name suggests, balances the load among multiple servers deployed at a particular instance. For example, let’s say, you have multiple servers running the same application for high availability. A user would not know which server he has to go to, right? The user will just know the URL of your application, and this URL will redirect to the load balancer, which will route the user’s request to one of the servers. Now, there are multiple ways a load balancer can decide to which server a request should be sent. These ways are basically different techniques that a load balancer can use. This leads to three types of load balancers:
- Classic Load Balancer: Balances the traffic randomly among healthy servers
- Application Load Balancer: Balances the traffic based on the URL/path of the application
- Network Load Balancer: Balances the traffic based on the web protocol being used to interact with the servers, for example, HTTP, FTP, etc.
AWS Elastic Container Repository is a fully-managed Docker container repository. It helps you store your Docker containers in a highly available and scalable architecture.
AWS Elastic Container Service is a highly available container orchestration service. It enables you to control your Docker applications using simple API calls.
Let us now understand the Amazon Storage services from this AWS tutorial.
Become a master of AWS by going through this online AWS Course in Toronto!
Amazon Simple Storage Service (S3) is a scalable storage service offered by AWS. It stores files in the form of objects, and each object can be of size 5 TB maximum.
AWS S3 Glacier is a backup service from AWS. The files that we store on S3 can be configured to follow a life cycle wherein if a file is not accessed for a particular amount of time, it can be migrated to low-cost storage, which is AWS S3 Glacier.
- AWS Elastic File System (EFS)
AWS Elastic File System (EFS) is a storage solution that can be used to mount shared drives across multiple servers, i.e., a shared network drive that can be mounted on multiple servers and can share files in real time.
AWS Storage Gateway is a hybrid cloud solution that helps you access or store files on AWS with the lowest latency possible. It is achieved by creating an on-premises VM that acts as a gateway between AWS and your on-premises system. This VM recognizes the frequently accessed files and caches them for low latency.
Are you preparing for an AWS interview? Here are the latest AWS Interview Questions!
Amazon RDS is a ‘managed’ relational database service, i.e., it is a service that can manage relational databases for you. It can do various automated tasks, such as doing security patches, backups, etc.
DynamoDB is a NoSQL database service from Amazon. It supports key-value and document data. It also supports point-in-time recovery, on-demand backup, and restores.
Amazon Redshift is a data warehousing service from AWS. It can provide mission-critical analytics and is used by most of the Fortune 500 companies and even startups!
AWS ElastiCache is an in-memory data store and cache service provided by AWS. It improves the performance of your web applications by caching the frequently queried data.
Further in this AWS tutorial, let us understand the AWS Security services.
AWS Identity and Access Management (IAM) helps you manage access for resources and users in your AWS ecosystem. It helps you dynamically give granular access to AWS resources.
AWS Key Management System helps you create and manage keys. It gives you a central place from where you can control all your encryption keys.
Now that we are done with AWS Security services, let us now go ahead and understand AWS Management tools in this AWS tutorial.
AWS CloudFormation helps you create a collection of AWS resources from a single click. With this tool, businesses and individuals can set up a large architecture with a mere click!
AWS OpsWorks is a configuration management service by AWS, which helps you manage and configure servers on AWS using Chef and Puppet. It allows you to configure both Amazon EC2 instances and on-premises servers.
AWS CloudTrail is a logging service from AWS. It provides the event history of all AWS account-related activities. It helps you in auditing, compliance monitoring, and governance.
AWS CloudWatch is a monitoring service from AWS, which helps you monitor AWS resources in your AWS account. You can also create alarms and specify actions whenever an anomaly occurs on AWS.
Further in this AWS tutorial, let us understand AWS Customer Engagement services.
AWS Customer Engagement
AWS Connect is ready to deploy a customer contact center or a customer service center. It helps you register on a toll-free number and allows you to route the incoming calls on this registered number to agents who will be attending the calls. Every functionality of this app is automated, hence enabling you to set up a customer contact center in minutes if not hours!
AWS Simple Email Service (SES) helps you send automated emails to the required recipients. It provides you with an API, which your application can use and send emails through code.
Let us now move ahead in this AWS tutorial and understand how the AWS pricing works.
Learn the complete concepts of AWS at Hyderabad in just 26 hours!
Amazon is the most customer-centric company in the world. With the same intent, it has come up with some amazing customer-friendly pricing options in AWS.
According to the AWS pricing model, you get the following benefits:
- Pay-as-you-go: With AWS, you pay for only what you use, i.e., no matter how many services or servers you launch in AWS, if you use them for say 1.5 hours, you will only be charged for 1.5 hours, nothing more nothing less. The pricing of servers depends on the configuration of the servers, starting from as low as US$0.0047 per hour!
- Save when you reserve: If you commit to a machine for a particular amount of time, you can save up to 70 percent on your AWS bills! Let’s say, you want a server, which you know you will be using for a longer time, say 2 years. You can reserve your machine for 2 years and pay a partial or full-upfront bill for 2 years, which will save you around 70 percent on the bill if you had not reserved your server.
- Pay less by using more: Yes, you read it right! With the pay-less-by-using-more feature, you get volume-based discounts, i.e., if you use more storage space on AWS, the pricing rate becomes less. The following is the pricing model:
- Up to 50 TB: 0.023 GB/month
- 51–100 TB: 0.022 GB/month
- More than 500 TB: 0.021GB/month
You can further reduce your storage bills by classifying your data into frequently accessed data and infrequently accessed data. By doing this, your data will be divided between different storage classes, such as SSD, disk storage, and magnetic tapes.
SSDs are faster, and hence the data that is frequently accessed will go on SSD. The data that is less frequently accessed will go on a slower mode of storage since it will be cheaper.
I guess, by now in this AWS tutorial, you are fully aware of all the concepts you need to know before starting off with AWS. Let us now advance a little ahead and know how to create our own account on AWS.
Are you interested in learning AWS from experts? Enroll in our AWS Course in Bangalore!
Hands-on: Creating an AWS Account
It is very simple to begin working with AWS. There are no complex procedures to start off. The rest of this AWS tutorial is devoted to giving you the steps to follow while creating an AWS account and accessing the AWS Management Console easily.
Step 1: Create an AWS account by providing personal and credit/debit card details. An amount of ₹2 will be deducted to validate your card.
Step 2: Choose the plan you want from Basic, Developer, and Business plans. The Basic plan is free for 12 months with certain limits. The Developer plan costs US$29/month and the Business plan costs US$100/month.
Step 3: Now, you will get access to the AWS Management Console. You just have to learn how to use the services.
These are the overall steps for creating an AWS account. To get the screenshots of the step-by-step processes for creating an AWS account and the AWS Management Console, please visit our blog.
Here ends the first section of this AWS tutorial.
Watch this AWS Solutions Architect Certification video:
Wish to learn more? Check out Intellipaat’s AWS Course to get an in-depth understanding of Amazon Web Services!