Everything About AWS-2 : Serverless Computing and other services

Priyanka Banerjee
3 min readSep 20, 2021

We have seen that in case of an EC2 instance we have to understand how to manage it. To avoid such complexities we can opt for serverless compute options. In case of serverless, we don’t have to access the underlying instances that are hosting our applications.

  • AWS Lambda: A serverless compute service that has a runtime of less than 15minutes. The workflow consists of upload code to Lambda Function -> set the code to trigger from an event source -> Lambda runs when a trigger is detected -> pay only for the compute time. It is generally used for quick processing services and is charged only for the compute time that we consume.
AWS Lambda workflow
  • AWS Container Services: We use AWS containers when we require to access the underlying infrastructure instead of using serverless instances. In such cases we can use Amazon Elastic Container Services or Amazon Kubernetes Container Services and several more.

What is a Container?

A container is a “standard unit of software” that packages up code and all its dependencies so that the application can run quickly and reliably on any computing environment.

What is a Docker Container?

A Docker container image is a lightweight, standalone, executable package of an application that includes everything needed to run it. Docker images become containers when they are run on docker engine.

We know a virtual instance of a server in AWS is known as an EC2 instance. One server can be turned into many servers. These are called Virtual Machines or VMs. Each VM includes a full copy of the operating system, the application, required libraries, etc. taking up huge memory. On the other hand, “containers are abstraction at the application level that packages the code and its dependencies together”. Multiple containers can be run on each server as individual processes and they consume less space compared to VMs.

Refer here for better understanding

Amazon ECS/EKS:

  • When we run containers (docker) we need processes to manage, scale, deploy and monitor them across several EC2 instances. This process is called Container Orchestration. ECS helps to work on Docker enabled applications using API calls.
  • If we don’t require access to underlying operating system, or don’t want to manage EC2 instances, we ca opt for AWS Fargate.
  • EKS does the similar thing as ECS, to run Kubernetes on applications.
Summary. Refer here for other compute services.

Conclusion:

Stay tuned to learn more on features of EC2 instances like Scalability, Load Balancing, Messaging and Queuing, etc that I will cover in Part 3.

--

--

Priyanka Banerjee

Sr. Data Scientist | Work in Finance & Health Domain | Keep Learning, Keep Sharing.