Introduction to AWS

 

Agenda

  • Compute
  • Storage
  • Networking
  • Security
  • Database

An introduction TO AWS (Amazon Web Service)

This is great place to start for those who have not used AWS before or new to cloud .

So we’ll get start to get into some of the key service areas:

Compute, storage, Database, Networking, and Security .

In the second half we’ll shift our focus to other services.

End of this we’ll talk about next steps and what you can do to get hands on, start building , continue learning, Maybe even get AWS certified.

 Let’s get started with an introduction to cloud. 

What is the cloud ?

Cloud computing enable you to stop thinking of your infrastructure as hardware, and instead think of it (and use it) as software

Programmable resources    Dynamic Abilities    Pay as you go

What other advantedge does the cloud offer?

Firstly, what is the cloud?

I like to think of it as simply “ Someone else’s computer''. 

But what does that mean ?

Well you’re connected to Google Drive  on your computer, maybe a personal laptop, maybe a work laptop, but either way you are the primary user of that computer. You use it, you keep it secure, and you can also update for the latest software updates.  Essentially You are in control of it,  but on the flip side, if you break it you are responsible for that With the cloud, Someone else takes care of that for you. You don’t need to manage the physical side. You just get to run your favorite softwares(applications)  without having to deal with underlying infrastructure. 

So what is AWS cloud ?

Essentially, it’s a set of programmable resources. The use of IT assets as programmatic resources allow you to quickly setup , tear down infrastructure in a way that isn’t possible with a traditional approach. Secondly, the AWS cloud gives you access to many higher level services and features. Which lets you design and build applications in completely new ways.

You can increase databases  throughout or computer power, as we’ll see later, in just a few clicks, and then last one of the biggest benefits of cloud computing is the ability to pay as you go, letting you test and leverage the system without being fully committed.

You can stop using these services any time and change tactics to fit your needs.

But what are the advantages of using cloud, as compared to, For Example your own on-premise environment?

There are six advantages of using cloud computing

Firstly, we have trading capital expenses for variable expenses . Instead of investing heavily in data centers and servers . Before you know how you’re going to be using them,having variable expenses means that you are only paying for those infrastructure when you consume them, and by taking a cloud computing approach that offers the benefit of variable expenses, companies can implement innovative solutions while saving on costs. What this means is you can deploy a workload and start getting immediate return on investment without having already committed a large financial outlay and the associated risks that emails.The second advantage have is that we are benefiting from economies of scale. By using AWS cloud, you can achieve a lower variable cost than you could get on your own.Because usage from hundreds of thousand of customers is aggregated in the cloud, AWS can achieve higher economies of scale, and that economies of scale translates to a lower pay-as-you-go price,because AWS passes this cost saving along to you. Next, you can stop guessing capacity.You no longer have to think about what your infrastructure capacity needs are going to be in maybe three or six or twelve months or even seven years from now. When you make a capacity decision before deploying an application, your are often going to be end up either sitting on an expensive idle resources  that not being used,or maybe dealing with limited capacity,

If you decided to set aside less resources up front. By utilizing the AWS cloud, you can provision only the resources you need for any given capacity and add or remove resources as your requirements change, which leads us nicely to increasing speed and agility. In the cloud computing environment, New IT resources are really just a click away. It no longer takes weeks or months for developers to access resources .

This allows you to respond to unexpected capacity changes, 

For Example:- Marketing campaign was more successful that you expected,  or plan accordingly to expected changes , for example, or plan accordingly to expected changes For Example, you overnight load versus peak load during the day. This also enables another benefit. Organizations and teams can spin up a proof concept, and if it’s  not working out exactly as intended, They can fail fast , so to speak , and stop using that resources right away.As a result, organizations can iterate their development process quicker. And use it at minimal cost. 

Now question is how does the cloud fit into you landscape.

If you think about your own environment; whether it’s on-premise or located in a datacenter , you have severs, storage, networking, databases. Ultimately you have applications and workloads running on your physical infrastructure.

 The cloud doesn’t operate all that differentially . you are still going to have those resources and have the ability to access them but you are going to do it in a much more flexible manner over the internet. 

EC2 :- It allows you to deploy a virtual server that you can run your workloads and applications on. AWS offers a number of different storage options, depending on your requirements, whether that’s network attached storage or persistent disk, maybe scratch space or caches, file systems to be shared between different hosts, and even simple object storage for a wide variety of applications. AWS also has more than 15 purpose-built databases.

Amazon Elastic Block Store , Or EBS, offers easy to use, high performing block storage at any scale.

Amazon Elastic File System, or EFS, Provide a scalable, Cloud native NFS file system.

Amazon Simple Storage Service, or S3, provides object storage, built to store and retrieve any amount of data from anywhere on the web.

We have different services connected together to create the environment, in the middle we have EC2, which being a virtual server,hosts the actual web application.The application is stored onto EBS volume,which provides block storage to the EC2 instance.

AWS Core infrastructure and services 

  • AWS has services that enable you to deploy similar security constructs. We have security groups and networks access control lists, which we’ll talk about in the networking module coming up. 

  • We’ve also got a service called identity and access management, or AWS IAM, Which helps you provide authentication  and authorization to users of different resources that we’re going to talk about.  

  • So you have the ability to manage that through one service. From a networking perspective, you might be familiar with physical devices, such as routers, switches, or basic networking concepts, such as IP addressing or traffic distribution and flow . we have services , such as the Elastic Load Balancer, Which gives you the ability to distribute traffic amongst multiple different targets or instances, and then we’ve got Virtual Private Cloud, or VPC, Which is your private network in the cloud allowing you to control how resources are connected to each other.

When it comes to servers, you might be familiar with managing , deploying ,patching or operating servers on-premises or maybe in a colocation.

A key AWS service to meet this need is Elastic Compute Cloud , it mean EC

Amazon Elastic File System, or EFS, Provide a scalable, Cloud native NFS file system.

In the next topic we’ll talk about different AWS services that we’ll talk about. In the coming modules, we’ll go a little deeper into some of the different AWS services.

Key Service areas

  • Compute 

  • Storage 

  • Database

  • Networking

  • Security

Let’s have a look at how some of these services tie together with a simple example: Let's say you have a web application,and it sits on a server that’s accessed via the internet. The web application also needs to access some external data sources. As you can see from this architecture diagram.

The EC2 instance is deployed in a VPC,Which provides networking access.

As far as data sources go,the EC2 instance can access data in S3.Which is object store, or DynamoDB, which is a non-relational database. External users can access this web application via Route53,which provides DNS resolution.

One question you might have is:

“Well , How does it all work?

How can we build a solution in AWS that connects to my on-premises environments ?

As I mentioned before, AWS cloud is a set of programmable resources. There are ways to connect into AWS that allow direct connection between your environment and the AWS environment, enabling secure communications that bypass the internet AWS achieves this by deploying robust physical resources around the globe.

This resources are housed in datacenters that are physically connected by AWS-owned network hardware. You then access the services you need via the services’ application programming interface or API , Which allow different methods of integration more on this a bit later.

Cloud deployment models

AWS owns and maintains the network-connected hardware

You provision and use what you need

On premise

Hybrid

Cloud

Sometime it’s important to consider

We have different deployment models and ideas for different cloud maturity levels.

The first thing we need to address is Amazon Elastic Compute Cloud, or EC2 .

EC2 is a service we can use to deploy virtual servers. This allows you to deploy or migrate workloads directly from your on-premises infrastructure into the cloud. EC2 Support Linux , Windows and MacOS in the select regions. It is extremely flexible. It gives you complete control over your servers.

However, in order for us to understand what virtual servers. Like EC2 is, it’s helpful for us to get a basic idea of what s server is. When you deploy a physical server in your environment, you have access to all the resources, Which is great. However you will only use 10 % , 20% maybe even 30% of those resources,Which means a large Portion of it is going to waste, sitting Idle,resources you have paid for,but not actually utilizing

Amazon EC2 can solve problems that are more difficult with on-premises server

  • Resizable compute capacity

  • Complete control of your computing resources

  • Reduce time required to obtain and boot new server instances. 

EC2 is a virtual server, which means, when you deploy an instance on EC2,you can deploy only the size you need and change it when you need to.

You can deploy an EC2 instance and you choose the amount of CPU and memory and then create spreates disk volumes using the service EBS(Elastic Block Storage) . A key feature of EC2 is something known as the AMI(Amazon Machine Image). This allows us to select the operating system of choice and even have custom applications pre-installed to speed up deployment time.

Once the EC2 instance is deployed, you can run your application or workloads on them, in a similar way in your existing environment.Using EC2 we have the ability to add, remove, pause, change, resume, scale, or manipulate your instance as you will.

There are different sizes and types of EC2 to help you run your workload as efficiently as possible.

Summarize, EC2 provides you the flexibility to run your workloads when you want to and how you want to. Think of EC2 as disposable and allow you to take advantage of the pay-as-you-go Pricing.significantly reducing your overall cost.

Benefit of Amazon EC2

Elasticity, Control, Flexibility, integrated, Reliable, Secure, Inexpensive,Easy.

Now that we know what EC2 is, what are some of the distinct benefits?

Let's Start with elasticity - the ability to scale your application as demand changes. For example, let’s say, you’re running a web server.Under normal load, you expect there to be 100 users connected in to your application around 12:00 pm as the day goes on , that number really starts to dwindle off,and now you’re down to a baseline of,let’s say,around ten users in a given hour or a given minute. But what happens if we go above the 100% we’re expecting?We have the ability to increase the number of instances that serve the web traffic.We go on up to 200, or 300,or 3,000 concurrent users. If need be by increasing the number of resources under hood.

With EC2 there are various different features built-in that give the ability to scale up or down ,in or out so we can take advantage of pay-as-you-go pricing I mentioned above.

The Second one here is control :- We have the ability to stop and start instances, or pause and resume for certain supported instances, as we need them. Again that is a price benefit for us: the ability to save cost, when we don’t need our instances to be running, we can scale down, but then it also gives us the ability to size our fleet appropriately to the amount of traffic.EC2 give you to flexibility to choose what you want,when you need it.you can pick right type of the instance for right type of job. EC2 is integrated with other services, which enable you to create,secure,scalable and highly customizable environments.There are number of other benefits to EC2 including reliability,security, which I will be mentioning in another topic.

It’s cost effective, because you can pick the right type of instance for the job,whether it’s a small or large instance, with different resources matched to the specific workload you have for EC2.

Amazon EC2 Instance families and names

Choosing the correct type is very important for

Efficient use of your instances and cost reduction







No comments: