With AWS Fargate, Amazon has released a service that is a mix of container orchestration and serverless. One benefits from common container orchestration features, such as horizontal scaling, self-healing, and service discovery. Fargate fulfills also the characteristics of the serverless applications, since one does not have to administer the containers themselves and thus has a low operational effort. In addition, containers in Fargate scale automatically and are priced according to the actual resources consumption (CPU and memory). In this talk, we dive into the world of Elastic Container Service (ECS) and Fargate based on the "real world" example. At the end we talk about the future of Fargate in conjunction with Elastic Kubernetes Service (EKS).
3. Serverless Bonn #1, 14.11.2018
Talk #1: "Building and deploying serverless applications
with the Serverless Framework", Alexander Erben,
Cronn GmbH
Talk #2: "Serverless CQRS and Event Sourcing on AWS",
Christian Bannes, ip.labs GmbH
4. Serverless Bonn #2, 16.01.2019
Talk #1: "Azure Functions 2.0 - running serverless
everywhere", Daniel Neumann, Microsoft
Talk #2:
5. Serverless Bonn #3, 18.03.2019
Talk #1: "Event-Sourcing in the Cloud",
Matthias Wessendorf, Red Hat and Bruno Borges,
Microsoft
Events are everywhere. However event publishers tend
to describe events completely differently. Therefore the
"serverless working-group" from the Cloud Native
Computing Foundation (CNCF) is establishing the
"CloudEvents" standard. CloudEvents seeks to ease
event declaration and delivery across services and
platforms, like AWS, Azure, Kubernetes or Apache
Openwhisk.
Talk #2:
8. Agenda
1. Project presentation
2. Introduction to AWS Elastic Container Service (ECS)
3. Introduction to AWS Fargate
4. Practical project-related example
5. Future of the AWS Fargate (Fargate+Kubernetes)
10. Revenue Share Tool Requirements
1. Automatic calculation for the complete previous month on the 1st of each
month for each customer
2. Calculation via a simple GUI for each customer
• For the current month so far
• Recalculation for the previous months
3. Notification with the link to download the calculation results for each
customer for
• Automatic calculation
• Calculation via GUI
11. RS core
calculator
currency exchange
rate
input data:
order data & calculation rules
output data:
RS calculation & input data
sends
email with path to
download RS
calculation result
Central DB
Management
Server
extracts customer,
year and month
from the file path
Key example: revsharetool-storage-demo/input-data/1000000/import/201811/revshare-final.json
RS calculator app
12. Amazon Elastic Container Service (ECS)
12
Amazon Elastic Container Service
(Amazon ECS) is a highly scalable, fast,
container management service that
makes it easy to run, stop, and manage
Docker containers on a cluster. [...]
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
13. Amazon Elastic Container Service (ECS)
[...] You can host your cluster on a serverless infrastructure that
is managed by Amazon ECS by launching your services or tasks
using the Fargate launch type. For more control you can host
your tasks on a cluster of Amazon Elastic Compute Cloud
(Amazon EC2) instances that you manage by using the EC2
launch type.
13 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
19. RS core
calculator
currency exchange
rate
input data:
order data & calculation rules
output data:
RS calculation & input data
sends
email with path to
download RS
calculation result
Central DB
Management
Server
extracts customer,
year and month
from the file path
Key example: revsharetool-storage-demo/input-data/1000000/import/201811/revshare-final.json
RS calculator app
20. Getting started with ECS using Fargate
Source: https://console.aws.amazon.com/ecs/home?region=us-east-1#/firstRun
37. #AWSWishList3 (already fulfilled )
API Gateway can be put behind private VPC
Source: „Introducing Amazon API Gateway Private Endpoints“
https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/
45. Production ready?
„Please note this software is experimental and should not be
used for anything resembling a production workload.“
45
https://github.com/virtual-kubelet/virtual-kubelet
46. The State of Containers on AWS (September 30, 2018)
https://aws.amazon.com/podcasts/aws-podcast/#265
46
47. Use cases for Fargate usage
• Seldom usage (weekly jobs) + additional spikes + advantages of containers
• Latencies (cold start) acceptable
• Dev/Test Environment