1/50
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
What is Docker?
A software development platform to deploy apps, where apps are packaged in containers that can be run on any OS
What is the key benefit of packaging apps in Docker containers?
Apps run the same regardless of where they're run — any machine, no compatibility issues, predictable behaviour, less work, easier to maintain and deploy, works with any language, any OS, any technology
How quickly can Docker containers scale up and down?
Very quickly — in seconds
Where are Docker images stored?
In Docker repositories — public: Docker Hub (base images for technologies/OS like Ubuntu, MySQL, NodeJS, Java); private: Amazon ECR (Elastic Container Registry)
How does Docker compare to virtual machines?
Docker is "sort of" a virtualisation technology, but not exactly — resources are shared with the host, so you can run many containers on one server
What is ECS?
Elastic Container Service — launch Docker containers on AWS
Who manages the infrastructure with ECS?
You must provision & maintain the infrastructure (the EC2 instances); AWS takes care of starting/stopping containers
What load balancer does ECS integrate with?
The Application Load Balancer
What is AWS Fargate?
A serverless offering to launch Docker containers on AWS — you do not provision the infrastructure (no EC2 instances to manage), AWS just runs containers for you based on the CPU/RAM you need
What is ECR?
Elastic Container Registry — a private Docker registry on AWS where you store your Docker images so they can be run by ECS or Fargate
What is EKS?
Elastic Kubernetes Service — allows you to launch managed Kubernetes clusters on AWS
What is Kubernetes?
An open-source system for management, deployment and scaling of containerised apps (Docker)
Where can EKS containers be hosted?
On EC2 instances or Fargate (serverless)
Is Kubernetes cloud-agnostic?
Yes — it can be used in any cloud (Azure, GCP, etc.)
What is serverless?
A new paradigm in which developers don't have to manage servers anymore — they just deploy code / functions
What was initial serverless known as?
FaaS — Function as a Service
Who pioneered serverless, and what does it include now?
AWS Lambda pioneered it; now it includes anything that's managed: databases, messaging, storage etc
Does serverless mean there are no servers?
No — it means you don't manage / provision / see them
Which serverless services were used earlier in the course?
Amazon S3, DynamoDB, Fargate, and Lambda
How does Amazon EC2 compare to Lambda?
EC2: virtual servers in the cloud, limited by RAM and CPU, continuously running, scaling means intervention to add/remove servers
What is Amazon Lambda in contrast to EC2?
Virtual functions — no servers to manage, limited by time (short executions), run on-demand, scaling is automated
What is Lambda's pricing model?
Pay per request and compute time, with a free tier of 1,000,000 requests and 400,000 GB-seconds of compute time
What does "event-driven" mean for Lambda?
Functions get invoked by AWS when needed
How do you monitor Lambda?
Easily, through AWS CloudWatch
How much RAM can a Lambda function have, and what else does increasing RAM improve?
Up to 10GB of RAM — increasing RAM also improves CPU and network
Which languages does Lambda support?
Node.js (JavaScript), Python, Java, C# (.NET Core) / PowerShell, Ruby, and Custom Runtime API (community supported, e.g. Rust or Golang)
Can Lambda run container images?
Yes, but the container image must implement the Lambda Runtime API — ECS/Fargate is preferred for running arbitrary Docker images
What is Lambda's pay-per-call pricing?
First 1,000,000 requests are free, then $0.20 per 1 million requests thereafter ($0.0000002 per request)
What is Lambda's pay-per-duration pricing?
Billed in 1 ms increments; 400,000 GB-seconds of compute time per month free (= 400,000 seconds at 1GB RAM, or 3,200,000 seconds at 128MB RAM), then $1.00 for 600,000 GB-seconds
Why is Lambda so popular?
It is usually very cheap to run
What is Amazon API Gateway?
A fully managed service for developers to easily create, publish, maintain, monitor, and secure APIs — serverless and scalable; example use: building a serverless API
Which API types does API Gateway support?
RESTful APIs and WebSocket APIs
What features does API Gateway support?
Security, user authentication, API throttling, API keys, monitoring
What is AWS Batch?
Fully managed batch processing at any scale — efficiently run 100,000s of computing batch jobs on AWS
What is a "batch" job?
A job with a start and an end (as opposed to continuous)
What compute does AWS Batch launch?
It dynamically launches EC2 instances or Spot Instances, provisioning the right amount of compute/memory
How are AWS Batch jobs defined and run?
Defined as Docker images and run on ECS
What is AWS Batch helpful for?
Cost optimisations and focusing less on the infrastructure
What are Lambda's limitations compared to Batch?
Time limit, limited runtimes, limited temporary disk space — but serverless
What are Batch's characteristics compared to Lambda?
No time limit, any runtime as long as it's packaged as a Docker image, relies on EBS / instance store for disk space, and relies on EC2 (can be managed by AWS)
What does Amazon Lightsail provide?
Virtual servers, storage, databases, and networking with low & predictable pricing
What is Lightsail an alternative to?
A simpler alternative to using EC2, RDS, ELB, EBS, Route 53 — great for people with little cloud experience
What are use cases for Lightsail?
Simple web applications (templates for LAMP, Nginx, MEAN, Node.js), websites (templates for WordPress, Magento, Plesk, Joomla), and dev/test environments
What are Lightsail's limitations?
High availability but no auto-scaling and limited AWS integrations
Can you monitor Lightsail resources?
Yes — you can set up notifications and monitoring of your Lightsail resources
Summarise Lambda in one line
Serverless, Function as a Service, seamless scaling, reactive
How is Lambda billed?
By the time run multiplied by the RAM provisioned, and by the number of invocations
What is Lambda's maximum invocation time?
Up to 15 minutes
What are example Lambda use cases?
Creating thumbnails for images uploaded onto S3, and running a serverless cron job
How do you expose Lambda functions as an HTTP API?
With API Gateway