Introduction To Compute
Introduction To Compute
What is Computing?
Computing Methods
1. Instances
▪ An instance, or virtual machine, is a computing resource in the cloud.
▪ It works like a traditional on-premises server.
▪ It can support workloads such as web hosting, applications, databases,
authentication services and anything else a server can do.
▪ You choose the OS, CPU, memory, storage and other components, and
in a few minutes, your instance is ready to use.
▪ Can stop or terminate the instance as soon as you are done.
▪ You can treat instances as temporary and disposable computing
resources, free from the inflexibility and constraints of a fixed and finite
IT infrastructure.
▪ Instance use cases:
o Hosting environment
o Development and testing environments
o Backup and disaster recovery
2. Containers
▪ Containers are a method of OS virtualization that you can use to run an
application and its dependencies in resource-isolated processes.
▪ By using containers, you can package an application’s code,
configurations and dependencies into simple building blocks that
deliver environmental consistency, operational efficiency, developer
productivity and version control.
▪ Containers are smaller than virtual machines and do not contain an
entire operating system.
▪ Containers share a virtualized OS and run as resource-isolated
processes, which ensure quick, reliable and consistent deployments.
▪ Containers hold everything that the software needs to run, such as
libraries, system tools, code and the runtime.
▪ Container use cases:
o Building microservices architecture.
o Video rendering services.
o Quick development and deployment.
3. Serverless
▪ Serverless computing gives you the ability to run code without
provisioning or managing servers.
▪ Serverless computing features automatic scaling, built-in high
availability and a pay-for-use billing model to increase agility and
optimize costs.
▪ Serverless computing also eliminates infrastructure management tasks
like capacity provisioning and patching, so you can focus on writing
code that serves your customers.
▪ Serverless use cases:
o File processing.
o Web applications.
o Mobile backends.
o Cron jobs (scheduled computing tasks).
4. Hybrid
▪ In a hybrid deployment, cloud-based resources are connected to on-
premises infrastructure.
▪ Example scenarios:
o Scenario 1: Suppose you have legacy applications that are better
maintained on premises, or government regulations require your
business to keep certain records on premises.
o Scenario 2: Suppose that a company wants to use cloud services
that can automate batch data processing and analytics.
However, the company has several legacy applications that are
more suitable on premises and will not be migrated to the cloud.
▪ In a hybrid deployment, the company could keep the legacy
applications on premises while benefitting from the data and analytics
services that run in the cloud.
▪ Hybrid use cases:
o Legacy applications.
o Company regulatory requirements.
o Government regulatory requirements.
1. Amazon EC2:
o Amazon Elastic Compute Cloud (EC2) is a web service that provides
secure and resizable compute capacity in the cloud.
o Provision virtual servers called Amazon EC2 instances.
o Features of Amazon EC2:
▪ Provision and launch one or more EC2 instances in minutes.
▪ Stop or shut down EC2 instances when you finish running a
workload.
▪ Pay for only the compute time that you use when running an
instance.
2. AWS Lambda:
o AWS Lambda is a serverless compute service that helps you run code
without provisioning or managing servers.
o Pay for only the compute consumed and incur no charges when the
code isn’t running.
o Can run code for virtually any type of application or backend service, all
with zero administration.
o Only need to upload the code, and Lambda manages everything
required to run and scale the code with high availability.
o Can setup the code to automatically launch from other AWS services or
call it directly from any web or mobile app.
3. Amazon ECS
o Amazon Elastic Container Service (Amazon ECS) is a highly scalable and
high-performance container management system.
o It helps to more efficiently deploy, manage and scale containerized
applications.
o Amazon ECS supports Docker containers.
o Docker is a software platform that packages software (such as
applications) into containers.
o To manage containers, an open-source Amazon ECS container agent
must be installed on EC2 instances.
o This agent is referred to as container instance and can run on both
Linux and Windows Amazon Machine Images (AMIs).
o Amazon ECS uses API calls to control Docker-enabled applications.
4. Amazon EKS
o Amazon Elastic Kubernetes Service (Amazon EKS) provides flexibility to
start, run and scale Kubernetes applications in the AWS cloud or on
premises.
o Kubernetes is an open-source platform for managing containerized
applications.
o It is portable and extensible.
o Can provide highly available and secure clusters with Amazon EKS.
o It automates patching, node provisioning and updates.
5. AWS Fargate
o AWS Fargate is a serverless compute engine for containers.
o It supports both Amazon ECS and Amazon EKS architectures
o Fargate allocates the right amount of compute, which reduces the need
to manage EC2 instances, cluster capacity and scaling.
6. AWS Elastic Beanstalk
o AWS Elastic Beanstalk is an easy-to-use service for deploying and
scaling web applications.
o Upload the code and Elastic Beanstalk automatically handles the
deployment, from capacity provisioning, load balancing, auto-scaling to
application health monitoring.
o At the same time, you retain full control over the AWS resources
powering your application and can access the underlying resources at
any time.
o No additional charge for Elastic Beanstalk, pay for only the AWS
resources needed to store and run the applications.
Summary
• Computing is the brain that ensures that IT applications will work.
• Instances, containers and serverless are the main categories of computing.
• AWS has several computing solutions to choose from.
***