What is Severless Computing?
Serverless computing is a cloud computing model that involves the cloud provider to allocate compute resources on demand, manage servers on behalf of their customers. "Serverless" is a misterm in which case servers are still used by cloud service providers to execute code for developers. In addition, “serverless” doesn’t mean that there are no servers involved: it just means that the servers, the operating systems, the network layer, and the rest of the infrastructure have already been taken care of so that you can focus on writing application code.
However, Engineers building serverless applications are not bothered with capacity planning, configuration, management, maintenance, fault tolerance, or scaling of containers, VMs, or physical servers. Serverless computing does not hold resources in volatile memory; computing is rather done in short bursts with the results persisted to storage. When an application is not in use, there are no computing resources allocated to the application. Pricing is based on the actual amount of resources consumed by the application. It can be a form of utility computing.
Some of the Severless computing offered by AWS includes:
AWS Lambda
The AWS Lambda was launched in 2014 , the most popular serverless compute platform out there used to solve real-life production problems. It allows you run your code without provisioning or managing any server. You get to pay for only the compute time used and there are no charges when your code is not running.
With AWS Lambda, you can virtually run code for any type of application or backend service, all with zero administration. You only need to upload your code and Lambda takes care of everything required to run and scale your code with high availability. AWS Lambda is an awesome offering, you provide the code, AWS handles the infrastructure and execution for you. Codes run within (VPC) Virtual Private Cloud by default in the AWS Lambda, and it is performed in reaction to events in AWS services such as adding/deleting files in an S3 bucket, making an HTTP call to the Amazon API gateway, and so on.
Instead of managing operating system (OS) access control, OS patching, right-sizing, provisioning, scaling, and other tasks, the AWS Lambda function allows you to focus on your core product and business logic.
Some of the core concepts in Lambda includes:
Functions — Program that processes events passed by Lambda
Runtimes — Allows functions in languages, matches your language and configures functions as well
Event Source — A service that helps in the execution of logic
Lambda Layers — Manages development functions and important distributions of things like libraries
Log Streams — Sequence of log events from the same source
Users of AWS Lambda create functions, self-contained applications written in one of the supported languages and runtimes, and upload them to AWS Lambda, which executes those functions in an efficient and flexible manner. The Lambda functions can perform any kind of computing task, from serving web pages and processing streams of data to calling APIs and integrating with other AWS services.
Some of the large cooperates that uses Lambda includes Netflix, Nike, Audible Inc, JP Morgan Chase, etc. The AWS Lambda has become popular because as it minimizes maintenance.
The use cases of Lambda include: building serverless website, authentication, mass emailing, real-time notifications, chatbots, media transformation, real-time data processing, custom workflows, change data capture, Alexa, image recognition engine, text-to-speech, efficient monitoring, and personalized content etc.
A lot of people may wonder if the Lambda service is free due to its robust architecture, I’m happy to inform you that there is a free tier available, and users get one million requests per month and 400,000 GB-seconds per month for free as well. Otherwise, there are costs incurred according to the compute you use. You can find overall pricing information here:
AWS Fargate
The AWS Fargate is a purpose-built serverless compute engine for containers. Fargate scales and manages the infrastructure required to run your containers. AWS Fargate makes it easier for you to focus on building your applications. Fargate removes the need to provision and manage servers, lets you specify and pay for resources per application, and improves security through application isolation by design.
AWS Fargate is a technology that allows you to use containers as a fundamental compute primitive without having to manage the underlying compute instances. The Fargate technology works on Amazon ECS & Amazon EKS and allows users to run containers without having to manage servers or clusters. You can Run Docker containers without provisioning the infrastructure and Serverless offering (no EC2 instances).
Top comments (0)