Getting started with AWS

What is AWS? AWS is the cloud service provided by Amazon, other cloud services include Azure by Microsoft, Google Cloud Platform (GCP) by Google, etc. These services tend to provide a cloud native paradigm of building infrastructure as opposed to a traditional on-premises way of building things.

Is it useful for me? If you are a business owner/startup and provide services to your customer with an internet application, cloud computing can help your business. Additionally, if you’re a programmer, I can’t think of a reason why you’d not like to know more about AWS.

What should I know as a business/startup owner? Precisely, it is a way to execute all your applications/services on the cloud instead of a physical machine, providing on the go scalability, which is a great news if you’re a startup because now you don’t have to invest in expensive infrastructure just to launch an experimental application.

If you’re an existing business it might seem an expensive call to move all your services to cloud on the surface but it will benefit you in the long run as customer demand creates a need for scalability and redundancy for caching info which AWS can easily provide along with other services like CloudFront (CDN of AWS) and LoadBalancer.

Check out the below section for a high level overview of core services provided by AWS.

What should I know as a programmer? Well, a lot of things. Here I’ll talk about AWS services on a high level. Feel free to dig down to know more about each service as per your interest. If you’re planning to get AWS certified go through all the articles to know each section in detail. All articles combined would be a part of AWS Solutions Architect Associate Certification.

(There are article links for a few topics below as of now, as I continue writing the detailed article for each topic I’ll add a hyperlink for them. Make sure you save this story to refer it later when links are added.)

High Level Services

Global Infrastructure

Amazon has multiple data centres throughout the globe called the AWS Availability Zones or AZ for short. Multiple AZs form an AWS Region present in every major geographical region. This, combined with multiple Edge Locations, provide the availability of your service/data your customers need anywhere on the globe for a great user experience.

Learn More…

Compute

The very first infrastructure you need to provide any service online is the power of computation. AWS provides multiple compute options and flexibility for you to even build your own infra. From virtual servers to building application for 5G devices, your AWS compute option can support all!

Learn more about computing here or learn about High Performance Computing here.

Storage

Ah, in today’s time a really reliable and scalable storage option is mandatory to run any service, given that we extract terabytes of information we need storage options that can support very low latency and high scalability.

Fear not, AWS gives you multiple options to store your data the way you want! Whether you need a Storage Service that provides Object Storage (via AWS S3) or File Storage (via AWS EFS), AWS is there to save your day (or maybe the rest of the life), with multiple pricing option just to suit your need.

Learn More…

Database

Now that you have your storage sorted, let’s fetch the data of each customer and deliver them the right content. But wait, how would I manage millions of customer data? Would it be fast enough? And what if I don’t need a relational database service?

As always, AWS has what you need. Fast, simple, fully managed, with minimal downtime, with caching service, with instant scalability — more than what you ask for. Manage it with Amazon RDS or Amazon DynamoDB.

Security, Identity and Compliance

Hmm, so now that you have your service setup on the cloud and all the infra in place, you need a way to keep it secure and precisely manage access for your team members. How?

Well, customer data protection is something Amazon obsesses over and it starts here. There are multiple levels for managing your application’s security, while Amazon handles any security leaks from infrastructure, you can customize the security of your data as per your needs.

To manage permissions for your team members AWS gives you the ability and flexibility to do so via the IAM tool. Features like multi factor authentication, role creation, providing granular permissions, creating your own authentication policies and Single Sign On (SSO) are also supported.

Network and Content Delivery

You can create your own virtual subnet using the AWS VPC and manage connection to the internet with a NAT instance or NAT Gateway. AWS also provides CloudFront which is basically its Content Delivery Network (CDN).

Amazon uses its internal DNS called the Route53 to provide DNS services.

Cost Management

The cost you incur for your application will depend on the type and tier of services you use. Amazon also provides a way to monitor your cloud application using the service called CloudWatch, it does exactly what it says, keeps an eye on your cloud activity and you can even set alarms for a consistent reminder or any unexpected activity.

If you don’t understand something or it’s too technical, drop a question below I’ll try to clarify.

Software Engineer and Computer Science B Tech graduate