AWS Fundamentals: AWS Cloud-Native

No programming is required, as most of the things are done by AWS Management console. I took this course, https://www.coursera.org/learn/aws-fundamentals-going-cloud-native.

Q. What is AWS Cloud ?

The one that we’re going to go with is the idea of an on-demand, pay-as-you-go, IT services that are delivered over the internet. Each one of those parts are important. The idea of an on-demand service, that you don’t have to make any advanced contracts with us, you don’t have to let us know what’s needed. The moment you need services like storage and compute or networking, they’re available immediately without any advanced contract, which goes the same as pay-as-you-go. That, you don’t have to have any prepaid tier, there’s no minimum requirement needed to be part of AWS. Delivered over the internet, means it’s secure and available anywhere for you and your business.

Additional information is available at: https://aws.amazon.com/what-is-cloud-computing/.

Q. Is it a substitute for on premise devices ?

Everybody needs compute, everyone needs storage, everyone needs identity management. AWS exists to eliminate those undifferentiated heavy lifting tasks that your IT department needs, that everyone’s IT department needs. This means your business can spend time working on what is strategically unique to you rather than repetitive common tasks that everyone has to do. There are so many of services that AWS offers,

  1. compute power for all your calculations
  2. storage of all different types
  3. networking that allows you to have your own private network, while at the same time allowing it exactly who you want to have be part of your application.
  4. security using standard encryption algorithms
  5. automation suites designed to deploy all of your applications, all of your databases, all of your environments automatically.

There are over 150 unique services at AWS, they keep on adding services based ton customers needs. The AWS Partner Network, APN, along with the AWS Marketplace, can provide on-demand solutions, pay-by-the-hour solutions, that will allow your company to get exactly what it needs, when it needs it.

Details about various points :

  1. Deployment models
  2. Products and services
  3. AWS Partner Network (APN)
  4. AWS Marketplace

AWS Infrastructure :

Q. What is a region ?

A Region is a geographically self-contained area where all of the resources you need for your application, all the compute, all the storage, are contained. It’s going to be inside a single country boundary bounded by a single set of laws, and they are right now located all around the world. Every Region is designed to be self-contained to have all the assets you need to run your application,

Four specific conditions to select the right region:

1. latency :

So, if speed to your customer is your priority, then this is the option. Now if my blog readers live in India, then it would make sense to get the Mumbai region, simply because speed of light is going to be a lot close. I could run it in Oregon region as well, but the distance around the globe to get to your customers is going to cause that extra bit of lag that is simply unavoidable.

2. price:

So, if budget is one of your strong considerations, you might look to one of cheaper region even though the latency may be more. Not every Region is priced the same, because each different country has their own set of tax laws, their own financial situations, you’ll find the exact same services in different Regions may have different costs. Well Amazon does give you an estimate of your projected cost.

3. compliance:

But legal restrictions may change the entire conversation altogether. You might have specific United States HIPAA requirements, or you might have European GDPR requirements, or let’s say, you actually have a business it’s running in Germany. In which case you might be required by law, based on the type of load you’re running, that you must run in the Frankfurt data center. While you’ll have great latency because your customers are in Germany anyway, that this compliance outweighs any other consideration because of legal restrictions.

4. service availability:

Amazon tries to roll every feature out to every Region, but sometimes a brand new feature gets released. For example, at re:Invent, they often release dozens of brand new services, and those may take a few months to actually get into every Region around the globe.

Q. Why a region ?

At AWS a region is a collection of availability zones. Now you can think of an availability zone as if it was a standalone data center. Now the truth is at AWS an availability zone might actually be more than one data center. For us this single object while it might be two or three buildings and might be spread across a parking lot we call this one availability zone because it’s logically treated as that. Inside a region, Amazon always has at least two availability zones separated by miles of distance.

So a region is made up of multiple availability zones. And you don’t have to worry about the distance between them because AWS connects those availability zones with a proprietary high speed fiber network, multiple lines between every availability zone so you can treat it as a single area. But you run your application simultaneously across all of the availability zones

Q. What if there is a cyber attack or a natural calamity ?

The idea is it doesn’t matter what might happen to an availability zone, because maybe it’s not a cyber attack this time but there might be some other natural disaster, a hurricane, a tornado, an earthquake that they don’t want you to worry about. It doesn’t matter if there’s a temporary loss of connectivity to an availability zone because your application runs in both of them at the same time. This is how you can not only be effective, be scalable, but also highly available all while running in a single region of your choice. However remember, Resources aren’t replicated across AWS Regions unless you do so specifically.

Detailed information about Availability Zones can be found here.

Computation in AWS Cloud :

Q. what is Compute services ?

In order to power your business, you need some sort of compute capacity available to you to run applications.

In a traditional environment :
  1. estimate hardware to support the capacity ,and stand up the computer or server to run your application on.
  2. once you deploy your application to those servers
  3. you need to maintain the physical and software perspective
  4. one of the problems might be, if you underestimate or overestimate the resources.
    1. if you underestimate then it will cause latency
    2. if you overestimate then it will be costly
In a cloud environment:
  1. allows you to provision and consume raw compute or server capacity over the internet with pay-as-you-go pricing.
  2. This would take away the burden of standing up and maintaining those physical servers, while still allowing you to have the control over what type of hardware you need to run and the software that runs on top of it
  3. These compute services can easily eliminate the pain of under-provisioning or over-provisioning resources by offering flexible, scalable, and configurable compute resources in the cloud to meet your specific needs.
  4. AWS also offers managed compute options.
    1. amazon light-sail
    2. container services like ECS or EKS
    3. AWS Lambda lets you run code without provisioning or managing servers.

Details about the full range of AWS compute services can be found here .

1. Amazon Elastic Compute Cloud (EC2):

In Traditional way :

  1. you would have to purchase those machines,
  2. wait for the delivery of those machines,
  3. install them, lay down the networking and storage systems for those servers,
  4. then maintain that infrastructure to have any of their applications running.

In EC2 way :

  1. EC2 allows companies to provision servers on demand without acquiring massive capital to build out their compute infrastructure. In other words, if you need a server, you can just launch one, and it’s available to you in minutes.
  2. EC2 instances are flexible, and you configure them to meet your needs.
  3. You can commission one or many instances easily, and at the end of the billing cycle, you only pay for what you use. When you no longer need an instance, terminate or stop that instance, and you will stop incurring charges.
  4. The configuration of EC2 extends to the platform that you want to run. AWS supports a range of operating systems including Linux, Ubuntu, Windows, and more.
  5. To select the operating system, you choose an Amazon Machine Image, or what we call an AMI.
  6. An AMI contains information about how you want your instance to be configured, including the operating system and possible applications to be installed on that instance. You can launch one or many instances from a single AMI, which would create multiple instances that all share the same configuration.
  7. beyond the operating system, you can also configure the instance type and size, which correspond to the amount of compute, memory, and networking capabilities available per instance.
  8. this allows you to control the underlying hardware and the capacity of that hardware with just a few clicks or lines of code. .

Use cases for EC2 :

  1. Different types of hardware are best fit for different situations. Each instance type is a grouping of hardware technology that are optimized for various use cases. The instance types you can choose from include compute optimized, memory optimized, storage optimized, and more.
  2. If you decide that you want to resize your EC2 instance, that isn’t a problem in the cloud either. EC2 is a resizable resource with a few clicks in the console, or it can be done programmatically through an API call.
  3. You can spin up servers for a short amount of time to run experiments and find optimal configurations for your applications. This ability to adapt to change and act on insights into your fleet of instances is very powerful in achieving a cost-effective and performant system.

Virtual servers are not a new thing, but with the flexibility and low-cost nature of EC2 instances, the ease of provisioning servers allows for programmers and businesses to innovate more quickly.

Steps to launch an EC-2 Instance :

  1. Select the underlying hardware for EC2

2.Select an AMI


3. Running the file present

4.Storage option

5.Encryption option

Details on the features and cost of Amazon EC2 are available at: https://aws.amazon.com/ec2/

2. Amazon Lightsail :

It has a number of pre-built options, you simply select, launch, and you’re done. For example, you might just want a WordPress site. Lightsail has one already built for you. All you have to do is select it, and for a few dollars a month, all of the management is taken care of on AWS’s side.

The key part to Lightsail is AWS takes care of all the choices that now you don’t have to make. Remember, the reason AWS exists is to help eliminate your undifferentiated heavy lifting. So, AWS automatically provides a secure network, SSD storage, any load balancing you need. Amazon takes care of all the backups and compute all these things that make up those pieces of your application, now they are just there for you, all you have to worry about is the content.

Details on Lightsail and the 30 day trial are available at: https://aws.amazon.com/lightsail/

Advertisement

One thought on “AWS Fundamentals: AWS Cloud-Native

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s