What is AWS? — Let’s build the Fundamentals!

Rishav Jaiswal
6 min readJul 26, 2020

--

Amazon Web Service or AWS is a subsidiary of Amazon that provides on-demand cloud computing platforms and services on a pay-as-you-go basis. In simpler words, it’s a service by tech giant Amazon to ease your daily workflow and to avoid redundant repetition of codes within your organization by providing a pre-built architecture of many services you might require over the internet.

Cloud service providers basically deliver models of cloud computing in 4 different ways:-

  1. PaaS- Platform as a Service
  2. IaaS- Infrastructure as a Service
  3. DaaS- Database as a Service
  4. SaaS- Software as a Service

AWS treads on every model with lots of their different services. Let’s discuss some of them below:-

Amazon Lex :

Lex Application

Lex is a serverless chatbox that comes under the Saas model. Serverless is a way to build and run application services without actually having to manage the infrastructure behind it. We all have experienced or had a chat with chat box which fires up automated responses be it via text or voice-enabled. Lex is just another easy to setup chatbox service by AWS. It uses one additional internal core service known as Amazon Polly for text-to-speech conversion to be sent back to the user. When a user types in or speaks the intent of using the service, the chatbot opens up slots for fulfillment. These slots are nothing but the required data needed to complete the action. Amazon Lex provides advanced deep learning functionalities of Automatic Speech Recognition (ASR) for converting speech to text, and Natural Language Understanding (NLU) to recognize the intent of the text. Lex reiterates the given commands in order as defined by you in the console while building it, and collects the required information and then communicates with the back-end in real-time. You can further read about Lex here.

Amazon S3 :

S3 Visualisation

S3 or Simple Storage Service, as the name implies is a cloud-based storage service through a web service interface from where you can retrieve data to be used up by your applications provided by AWS or just store them. It comes under a small DaaS model. For example, if you want to deploy your static sites, you can upload the files in the S3 bucket and configure it as per your choice. Usually, S3 buckets are linked with Lamda Functions which is another service provided by AWS, which gets triggered based on the events happening via API Gateway or any other managed service. Buckets are the term used to define a container over the internet owned by the AWS account. Solidify you understand of S3 Buckets here.

Amazon CloudFront :

CloudFront is Amazon’s own Content Distribution Network (CDN). If you are a Software Engineer or have been working in IT, you must have come across the word CDN. The concept behind having a well equipped and optimized Distribution Network is to provide better user engagement and experience when they are interacting with your application online. CDNs are divided as per the regions across the globe. For example, AWS has North America, Europe, Asia, Australia, South America, Middle East, Africa, China regions which are further divided into edge locations based on the accessibility.

CloudFront Visualisation

Amazon hosts your content on the edge location near you. This ensures that your content reaches you in almost no time and least latency. CloudFront comes under IaaS. You can imagine these edge location as a mini data-centers within your region. The basic flow of content in the distribution network is well depicted in the image above. You can definitely though read more on CloudFront here.

Amazon API Gateway :

API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. With a few clicks in the AWS Management Console, you can create an API that acts as a “front door” for applications to access data, business logic, or functionality from your back-end services, such as workloads running on Amazon Elastic Compute Cloud (Amazon EC2), code running on AWS Lambda, or any web application.

Flow in API Gateway

AWS also provides default tests and you can create your own tests to completely monitor the performance and errors on your API. API Gateway is one clean and easy to make API maker that can be deployed within clicks. You can connect API Gateway with other services to trigger or stop any particular endpoint. Dive deep into API Gateway here.

Amazon DynamoDB :

DynamoDB Visualisation

DynamoDB is a NoSQL database service for all the applications that need consistent millisecond latency interaction at any scale. It is a fully managed cloud database and supports both key-value store models. Imagine you created a website that has a user registration mandatory to proceed. You used API Gateway and S3 bucket to retrieve files and interact with backend. This backend is super easy to set up with AWS’s DynamoDB. One can enter data, or import data to the database via the smooth UI provided in the AWS Console and connect it to the application you like!. It’s that simple. Everything is just as cool as plugging into something to something on AWS. You can edit or view the contents, sort, or filter the data on their console itself. It’s all just a package of the entire collection over the internet without any hassle to set up a server of your own. Read more about DynamoDB here.

AWS Lamda :

Lambda Explained

Lamda is an event-driven serverless computing platform that runs code in response to events and automatically manages the computing resources required by that code. Just like other services, you pay for Lamda only when your code is running. This compute time depends on the resources allocated for the function to run which can be explicitly fixed by you on the console, but you have to very sure about the performance of the code you write as if any error of infinite loop you can be charged undesirably. To deal with such situations AWS also provides a timeout facility. Just for an example, let “/” be the endpoint which returns “Hello ${name}”, the name variable takes up the value provided by the user. Now, the lambda function can so be configured to fill in the name variable to the value entered. Remind you, all these are happening without you setting up the server or launching the application, just by hitting the endpoint URL. This is the magic of lamda and it’s usage in short.

So that’s all! I just walked you through some of the amazing services provided by AWS is the easiest way I could. There are more than 200 services out there provided by AWS. Attached below is a complete flow of a Weather Application if you happen to use AWS or thinking to use in the future.

I am sure if you have made it so far, you would be able to understand exactly what’s happening in the above diagram with ease. Happy Learning 😁

Let’s Connect — Twitter, LinkedIn.

Cheerio!✌

--

--

Rishav Jaiswal

Application Developer @Deloitte Digital. Fullstack enthusiast and cloud aficionado. I love to learn and upskill.