# Aditional Computing Service

## Serverless

* Serverless is convenient approach in which you are neither allowed to see or get access to the underlying infrastructure or instances that are hosting the application.
* A fully managed service, which provides out of the box provisioning, high availability, scalability, maintenance by AWS, enabling us to focus on our application.
* Serverless computing can adjust the applications' capacity by modifying the units of consumptions, such as throughput and memory. Hence, helps in achieving flexibilty in scaling automatically.

![Serverless vs Virtual Server](https://574639531-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJDnjsv52I3fJ56WbLgHu%2Fuploads%2Fgit-blob-036045a30451a8f7a45190ab9db22e7308157a83%2FServerless_vs_VirtualServer.png?alt=media)

### AWS Lambda

* [AWS Lambda](https://aws.amazon.com/lambda/) is a serverless compute option that lets you run code without needing to provision or manage servers.
* While using AWS Lambda, you pay only for the compute time that you consume. Charges apply only when your code is running.
* You can also code for virtually any type of application or backend service, all with zero administration.
* It does come with a restriction, the code/task must complete under 15 minutes, so not suitable for long running processes.

## Amazon Container Services

* **AWS container services** provides portability and efficiency along with access to underlying environment.
* Containers provide you with a standard way to package your application's code and dependencies into a single object.
* You can also use containers for processes and workflows in which there are essential requirements for security, reliability, and scalability.

### Amazon Elastic Container Service (Amazon ECS)

* [It](https://aws.amazon.com/ecs/) is a highly scalable, high-performance container management system that enables you to run and scale containerized applications on AWS.
* It uses docker as container service, which runs on top of EC2.

### Amazon Elastic Kubernetes Service (Amazon EKS)

* [It](https://aws.amazon.com/eks/) is a fully managed service that you can use to run Kubernetes _(docker cluster management service)_ on AWS.

> **Note:** Both of the above services are container orchestration tools. Container is a docker container.

## Serverless Container service

### AWS Fargate

* [It](https://aws.amazon.com/fargate/) is a serverless compute engine for containers. It works with both Amazon ECS and Amazon EKS.
* When using AWS Fargate, you do not need to provision or manage servers. AWS Fargate manages your server infrastructure for you. You can focus more on innovating and developing your applications, and you pay only for the resources that are required to run your containers.

***

**To learn more on serverless compute services visit** [**here**](https://aws.amazon.com/products/compute/) **Hands on tutorial** [**here**](https://aws.amazon.com/getting-started/hands-on/?awsf.getting-started-category=category%23compute\&awsf.getting-started-content-type=content-type%23hands-on\&getting-started-all.sort-by=item.additionalFields.sortOrder\&getting-started-all.sort-order=asc\&awsf.getting-started-level=*all) **Deep dive** [**here**](https://aws.amazon.com/getting-started/deep-dive-serverless/)
