SlideShare ist ein Scribd-Unternehmen logo
1 von 132
Downloaden Sie, um offline zu lesen
New AWS Services
AWS PHOENIX MEETUP
Josh Padnick
Gruntwork
Monday, August 29, 2016
Todayā€™s talk is about
three recent updates
in AWS.
Todayā€™s talk is about
three recent updates
in AWS.
ā€£ Application Load Balancer (ALB)
ā€£ EC2 Container Service (ECS)
ā€£ Kinesis Analytics
For each service,
weā€™ll discussā€¦
ā€£ The big idea
ā€£ Whatā€™s new
ā€£ Examples
Intended Audience
Executives Developers
Weā€™ll start simple.
But weā€™ll get progressively
more technical.
At a certain point, weā€™ll
dive deep into the
technical nuances of the
topic.
In such cases, look for the
Nerd Alert ribbon.
Nerd Alert
Hi, Iā€™m Josh Padnick.
ā€£ Published A Comprehensive Guide ā€Ø
to Building a Scalable Web App on AWS.
Received 500+ up votes on Hacker News.
ā€£ Consulted on DevOps & AWS with ~25
companies worldwide including Intel and
Infusionsoft.
ā€£ Full-stack engineer for 10+ years
ā€£ Co-founder at Gruntwork.
ā€£ We setup software teams on AWS with DevOps
best practices and world-class infrastructure.
ā€£ But we do it in about 2 weeks!
ā€£ The secret sauce is we offer battle-tested, pre-
written ā€œInfrastructure Packagesā€ for common
AWS needs.
ā€£ Plus consulting & support as needed.
http://gruntwork.io
I work at Gruntwork.
Application Load Balancer
(ALB)
Letā€™s start by talking about the
generic concept of a Load
Balancer.
The Big Idea
Hi, Iā€™m an EC2 Instance!
M
y
A
pp
The Big Idea
With a single VM,
users can connect
directly to the VM.
The Big Idea
But if that VM fails,
our entire service
goes down.
X
X
The Big Idea
With multiple VMs,
we gain High
Availability (HA)!
The Big Idea
If one VM goes
down, we can just
serve trafļ¬c from
the other.
X
X
āœ…
The Big Idea
But how do we route
requests to more
than one VM?
?
The Big Idea
We use a Load
Balancer. This is
sometimes called a
Reverse Proxy.
Load
Balancer
The Big Idea
There are a few properties we want out of this load
balancer:
The Big Idea
There are a few properties we want out of this
generic load balancer:
ā€£ It should itself be HA!
ā€£ It should elastically scale as we get more trafļ¬c.
ā€£ It should do a Health Check on each VM.
The Big Idea
Keep goingā€¦
ā€£ It should support the latest protocols ā€Ø
(TCP, UDP, HTTP(S) 1.1, HTTP/2, WebSockets).
ā€£ It should log all requests.
ā€£ It should emit helpful metrics.
The Big Idea
Keep goingā€¦
ā€£ It should allow routing a single user to the
same VM, but spread different users across
different VMs (sticky sessions).
ā€£ It should route a request for /apples to one
set of VMs and /oranges to another (path-
based routing).
The Big Idea
Keep goingā€¦
ā€£ It should have ļ¬rst-class support for routing to
Docker containers in EC2 Container Service (ECS)
ā€£ Route to an app running in a container, not just
to a VM.
ā€£ Route to multiple different containers on the
same VM.
ā€£ Know about new containers when I launch
them (service discovery).
Nerd Alert
In 2012, Amazon released the
Elastic Load Balancer.
Elastic Load Balancer (ELB)
Nerd Alert
Old ELB was a Layer 4 Load Balancer
Open Systems Interconnection (OSI) Network Model
Physical / Data Link1 / 2
Network (IP, ICMP)3
Transport (TCP, UDP)4
Session5
Presentation (TLS)6
Application (HTTP, FTP, DNS, SSH)7
But thereā€™s a problemā€¦
ā€£ Helpful metrics like ā€œSum HTTP 5XX errorsā€ only
apply to HTTP trafļ¬c.
ā€£ Path-based routing requires inspecting the HTTP
trafļ¬c.
Some of our feature asks are HTTP-speciļ¬c.
But thereā€™s a problemā€¦
ā€£ Route to more than one port on the same VM
Some of our feature asks are DOCKER-speciļ¬c.
So AWS has released the new
Application Load Balancer (ALB).
So AWS has released the new
Application Load Balancer (ALB).
An updated load balancer opinionated to: ā€Ø
- modern apps built with HTTPā€Ø
- Docker
Updated Terminology
Elastic Load Balancing
Application Load Balancer (ALB) Classic Load Balancerā€Ø
(Sometimes called ā€œELBā€)
Nerd Alert
ALB is a Layer 7 Load Balancer
Open Systems Interconnection (OSI) Network Model
Physical / Data Link1 / 2
Network (IP, ICMP)3
Transport (TCP, UDP)4
Session5
Presentation (TLS)6
Application (HTTP, FTP, DNS, SSH)7
Nerd Alert
ALB is a Layer 7 Load Balancer
Translation
ā€£ The ALB inspects HTTP trafļ¬c and makes
routing decisions based on this.
ā€£ But the ALB doesnā€™t deal with ā€œOSI Layer 3ā€
forwarding, so no TCP or UDP forwarding.
Application (HTTP, FTP, DNS, SSH)7
New features in the ALB
Support for HTTP/2
ā€£ Did you know HTTP 1.1 came out in 1999
when this was what the Web looked like?
Support for HTTP/2
ā€£ The web of 2016 is different than the web of
1999:
HTTP/2 Benefits
ā€£ Sends headers/cookies just once instead of on
every request.
ā€£ Encodes all data in binary versus a textual
format.
ā€£ Transmits all data over a single, multiplexed
TCP connection versus multiple blocking
connections in HTTP/1.1.
Nerd Alert
Your Backend App Can Still ā€Ø
Speak HTTP/1.1
Nerd Alert
HTTP/2 HTTP/1.x
Note that HTTP/2 requires thatā€Ø
you use HTTPS on the ALB.
All modern browsers
support HTTP/2
Nerd Alert
SOURCE: http://caniuse.com/#search=http2
Support for WebSockets
ā€£ A long-time ask for ELBs has been WebSocket
support. ALBs now support this!
Nerd Alert
ws://ā€¦
ws://ā€¦
Content-Based Routing
ā€£ Route /blue to one service.
ā€£ Route /green to another service.
ā€£ Previously, this required two load balancers.
Now, it requires just one!
Content-Based Routing
ā€£ LIMITATION
ā€£ We donā€™t get path rewriting.
ā€£ So you canā€™t send /blue to /hello/blue
unless your backend app handles that.
Nerd Alert
New Concepts in Elastic Load Balancing
ā€£ Target Groups
The Classic Load Balancer includes as part of its
conļ¬guration which EC2 Instances it will route to.
ELB
New Concepts in Elastic Load Balancing
ā€£ Target Groups
With ALBs, the concept of Load Balancer is separated from
the concept of Target EC2 Instances.
ALB
Target ā€Ø
Group
Target ā€Ø
Group
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Our ALB needs a list of ā€œtargetsā€ where it can send trafļ¬c.
Weā€™ll group all such targets into a Target Group.
Empty Target Group
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Letā€™s add one Target:
i-123
Port 8000
Notice we have both an
instance id and port number.
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Letā€™s add a second Target:
i-123
Port 8000
i-123
Port 8001
This target has the
same instance id
but a different
port number.
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Letā€™s add a third Target:
i-123
Port 8000
i-123
Port 8001
i-789
Port 3034
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Our ALB will send trafļ¬c to anyā€Ø
Healthy Target in the Target Group.
i-123
Port 8000
i-123
Port 8001
i-789
Port 3034
New Concepts in Elastic Load Balancing
ā€£ Target Groups
Note that the Classic ELB does not use a
Target Group and can only send to the
same port on different EC2 Instances.
i-123
Port 8000
i-789
Port 8000
New Concepts in Elastic Load Balancing
ā€£ Target Groups
The big takeaway is you can group your (micro)services into
Target Groups, even if multiple target groups include the
same EC2 Instance!
i-123 i-456 i-789
Service B
Service A
Nerd Alert
Content-Based Routing
ā€£ Route /blue to one service Target Group.
ā€£ Route /green to another service Target Group.
ā€£ Previously, this required two load balancers.
Now, it requires just one!
Support for Container-Based Apps
ā€£ We often want to run the same Docker image
on the same EC2 Instance on different ports.
ā€£ Target Groups means the ALB can route to
either to two different ports on the same
server!
ā€£ This also means we can dynamically select our
container ports in an EC2 Container Service
Cluster!
Nerd Alert
Nerd Alert
Support for Container-Based Apps
Portā€Ø
8523
Portā€Ø
8000
Portā€Ø
4738
Portā€Ø
8713
Target Group metrics.
ā€£ We get CloudWatch Metrics on Target Groups.
ā€£ This is a nice way to get metrics speciļ¬c to a
service.
Nerd Alert
Better metrics.
ā€£ Many new metrics on the ALB!
Nerd Alert
ā€£ ClientTLSNegotiationErrorCount
ā€£ TargetTLSNegotiationErrorCount
ā€£ TargetConnectionErrorCount
ā€£ TargetResponseTime
ā€£ NewConnectionCount
ā€£ ActiveConnectionCount
ā€£ RejectedConnectionCount
ā€£ ProcessedBytes
Other Cool Features
ā€£ Load-balancer generated sticky-session
cookies (client must support cookies).
ā€£ Slightly less expensive.
ā€£ Faster performance in general.
Nerd Alert
When to Use the ALB
ā€£ When running any HTTP-based service.
ā€£ When using WebSockets with a load balancer.
ā€£ When using Docker, especially with EC2
Container Service.
When to Use the Classic ELB
ā€£ You need OSI Layer 4 Routing (i.e. TCP / UDP)
ā€£ Your app listens on a protocol other than HTTP.
Alternatives to the ALB/ELB
ā€£ Set up your own load balancer using Nginx or
HAProxy.
ā€£ But this means you need to build auto-
scaling, auto-failover, automated DNS
updates, conļ¬gure metrics, conļ¬gure
logging, manage upgrades, and a few more
items.
ā€£ Conclusion: donā€™t do this unless you have to.
Recent Updates to
EC2 Container Service (ECS)
The Big Idea
Hi, Iā€™m an EC2 Instance!
The Big Idea
I can offer you resource isolation.
And I can be launched in just minutes!
Limitations of a VM
But minutes could be an eternity.
If deploying multiple times a day,ā€Ø
weā€™re just waiting for VMs to launch.
Building an Amazon Machine Imageā€Ø
also takes on the order of minutes.
Limitations of a VM
And I canā€™t run that AMI locally.
If I want to run the same ā€œGolden
Imageā€ locally, Iā€™m out of luck.
X
Sometimes a single app uses a ā€Ø
tiny portion of available resources.
Mem Usage: 12%
CPU Usage: 7%
So itā€™d be nice if we could pack
multiple apps in a single EC2 Instance.
Mem Usage: 85%
CPU Usage: 90%
App 1 App 2
App 3
Introducing Docker
Why developers love containers.
ā€£ A container is just an isolated OS process, so it runs
directly on your EC2 Instance.
ā€£ Itā€™s similar to a ā€œlightweight VMā€ and can start in
milliseconds.
ā€£ You can run multiple containers on a single EC2
Instance.
ā€£ You can run the same docker image on any platform.
ā€£ You can download pre-built docker images for almost
all custom software.
So we want to run our apps as containers.
ā€£ But we donā€™t want to run containers on just a
single EC2 Instance.
If I go down, Iā€™m taking ā€Ø
all apps with me!
We want to run multiple containers across ā€Ø
multiple EC2 Instances.
But running a ā€œdocker clusterā€ is hard.
ā€£ Way to bootstrap the cluster
ā€£ Container scheduler
ā€£ Service Discovery solution
ā€£ Load balance to containers
ā€£ Auto-restart failed containers
ā€£ Cluster-wide metrics
We needā€¦
There are multiple options to solve this
problem today.
But my favorite solution is ā€Ø
Amazon EC2 Container Service (ECS)
Amazon EC2 Container Service
Benefits of ECS
ā€£ Built-in cluster bootstrapping
ā€£ Built-in scheduler ā€Ø
(with ability to use a custom scheduler)
ā€£ Built-in service discovery
ā€£ Built-in load balancer (ALB)
ā€£ Built-in auto-restart on failed containers
ā€£ NEW! Auto-scale your service
ā€£ NEW! Fine-grained AWS permissions on your service
Whatā€™s Missing from ECS
ā€£ Service-to-service authentication
ā€£ Run background jobs within the cluster (you
can still do this with Lambaā€™s run on cron
schedules, though)
ā€£ DNS namespacing
ā€£ Built-in persistent volumes
ā€£ Built-in support for log aggregation (on
services other than CloudWatch Logs)
Then why is it my favorite?
ā€£ Because most teams donā€™t need those features.
ā€£ If youā€™re ok with the limitations, ECS is easier to
setup than anything else.
ā€£ The new ALB plus the new features weā€™ll talk
about make this even more compelling.
ECS Terminology
ECS Cluster
ECS Instance
ECS Task
ECS Task Definition
Declares what kind of ECS Task should be run.ā€Ø
(e.g. docker run properties)
ECS Service
One other quick reviewā€¦
EC2 Instances get permissions to
AWS Resources via IAM Roles.
EC2 Instance
Authenticates to AWS
via IAM Role
EC2 Instances get permissions to
AWS Resources via IAM Roles.
EC2 Instance
S3 Bucket
New features in ECS
Feature #1:
IAM Role for ECS Tasks
IAM Roles for EC2 Instances
Previously, ECS Tasks could only get permission
to other AWS resources (e.g. a ļ¬le in S3) by using
the IAM Role of the ECS Instance.
ECS Instance
IAM Role
IAM Roles for EC2 Instances
This meant that the BLUE and YELLOW app both
got the same AWS permissions.
ECS Instance IAM Role
ECS Instance IAM Role
IAM Roles for ECS Tasks
With IAM Roles for ECS Tasks, now each ECS Task
can get its own IAM Role!
ECS Task IAM Role
ECS Task IAM Role
IAM Roles for ECS Tasks
This means that each ECS Task can have its own
set of permissions to other AWS resources.
ECS Task IAM Role
ECS Task IAM Role
Bucket A
Bucket B
How It Works
ā€£ When we create an ECS Task Deļ¬nition, we can
now specify a Task Role.
Feature #2:
ECS Service Auto-Scaling
ECS Service Auto-Scaling
Previously, we could auto-scale the ECS Instances
but not the ECS Tasks.
This meant that we could not auto-scale an ECS
Service without lots of hackery.
ECS Service Auto-Scaling
Now we can!
ECS Service Auto-Scaling
We deļ¬ne Scaling Policies just like with classic
Auto Scaling.
We Scale on Just Two Metrics
ā€£ CPUUtilization
ā€£ MemoryUtilization
Total CPU/Memory In Use
Total CPU/Memory Reserved
=
Feature #3:
EC2 Container Registry (ECR)
When you work with Docker, you need
a place to store your Docker images.
ā€£ Classic Docker build pipeline example:
Git Commit
to Master Branch
Build Docker
Image
Push to Docker
Registry
There are a few options for the
Docker Registry
ā€£ Docker Hub
ā€£ Quay.io by CoreOS
ā€£ Artifactory by jfrog
But there are some challenges.
ā€£ Docker Hub can sometimes be slow or
unreliable.
ā€£ Authenticating to any solution means you have
to store the credentials somewhere.
ā€£ Download speeds and proximity to the service
make a difference.
So Amazon has released ā€Ø
EC2 Container Registry (ECR)
Amazon EC2 Container Registry
ECR Features
ā€£ Fully managed by Amazon
ā€£ Relatively fast
ā€£ Accessible by a typical docker client
ā€£ Integrated with IAM Policies and IAM Users
ECR Limitations
ā€£ You can only store up to 1,000 images per
docker repo.
ā€£ Pricing model requires you cull your unused
docker images from the ECR repo.
ā€£ No hosting of public docker images.
ā€£ Docker repo names can be awkwardly long.
But I still prefer ECR.
ā€£ One less vendor to deal with.
ā€£ One integrated security model.
ā€£ Repo limits are probably appropriate.
ā€£ Not hosting public repos gives clear separation
of public and private repos.
Kinesis Analytics
Big Idea
ā€£ As companies grow, they eventually evolve out
of the monolithic app and into a microservices
architecture.
Microservice A Microservice B
ā€£ Usually, companies will start with two microservices.
ā€£ Then theyā€™ll keep factoring out monolithic code into
more and more microservices.
ā€£ Eventually, teams will want an individual
microservice to publish an event stream.
ā€£ This way Microservice B can do something
when Microservice A publishes a certain event.
ā€£ But if we have n services, and each service reads
the event stream of the other n - 1 services, now
we have a combinatorial explosion:
YUCK!
ā€£ What if instead all services published their event streams to a
central service.
ā€£ And all services read event streams from that same central service.
ā€£ Now we have n connections, which is
manageable!
ā€£ These are the insights that LinkedIn had around 2011 when it wrote
Apache Kafka.
ā€£ The central ā€œevent publishing serviceā€ would need to be:
ā€£ scalable
ā€£ resilient
ā€£ temporarily persist data to support consumers that go down
ā€£ not lose any data, even as data volume surges
ā€£ The details are published in an epic blog post
by LinkedIn engineer and Kakfa author Jay
Kreps:
ā€£ It turns out the concept of a scalable,
performant, resilient centralized event stream
can apply to lots of domains!
ā€£ IoT events
ā€£ Logging events
ā€£ Social media clickstreams
ā€£ Basically, any real-time data source
ā€£ But running a Kafka cluster is highly non-trivial.
ā€£ So AWS introduced its own version of Kafka
and offered it as a managed service.
Amazon Kinesis Streams
ā€£ At ReInvent 2014, Amazon shared a wicked
cool example of how Major League Baseball
was tracking data from the ļ¬eld and using it to
generate stats, visualizations, and more:
ā€£ Hereā€™s an excerpt from their architecture.
ā€£ But what happens after the data gets into
Kinesis?
Amazon Kinesis
?
ā€£ The answer is that we can have Kinesis
Consumers that periodically read the data.
Amazon Kinesis
Me Want Moar Data!
ā€£ The consumer can then do anything with it
ā€£ Store it in S3 for later retrieval.
ā€£ Store it in RedShift for later querying.
ā€£ Store it in a relational database.
ā€£ Or any other custom operation.
ā€£ Previously, we had to write our own custom
worker to do any processing.
ā€£ But what if we just want to query windows of
incoming data and write it to a database? Isnā€™t
that pretty common?
ā€£ But now we donā€™t have to!
ā€£ Thatā€™s why Amazon has introduced:
Amazon Kinesis Analytics
Input - Query - Output
ā€£ Inputs
ā€£ Streaming Data Sources: Kinesis Streams, Kinesis Firehose
ā€£ Reference Data Source: Data in S3
ā€£ Query
ā€£ Write ANSI SQL against the data stream
ā€£ Outputs
ā€£ S3
ā€£ Redshift
ā€£ Kinesis Firehose ( ā€”> Amazon Elasticsearch)
ā€£ Kinesis Streams
Core Features
ā€£ Use Standard SQL to query data streams.
ā€£ Kinesis will inspect your data stream and automatically
create a baseline schema against which you can write
your queries.
ā€£ Built-in live SQL editor to test queries against live data.
ā€£ Pre-written queries for common use cases.
ā€£ Query continuously, by Tumbling Windows, or Sliding
Windows.
Letā€™s combine it all in a
sample architecture!
Business Problem
ā€£ Ice Cream shop
ā€£ IoT Enabled
ā€£ We track weight of each tub of ice cream
continuously as a way to know in real-time how
much ice cream we need to order.
ā€£ Our customer wants a slick real-time
dashboard of everything.
Architecture
IoT Weight Monitors
Kinesis Streams
Kinesis Analytics
S3 Bucket
ECS Cluster
App to Query S3 Data ā€Ø
and return Dashboard data
App that serves static assetsā€Ø
for a Single-Page App
ALB
Users get dashboard
updates with WebSockets
RDS PostgreSQL
Caveats
ā€£ If you had a low enough volume of data, you could just have
your sensors write directly to RDS Postgres and reduce lots of
cost and complexity.
ā€£ But if you have enough data volume that you need the power of
Kinesis, then this architecture makes sense.
ā€£ Querying S3 for real-time data is probably a bad idea, so it may
make more sense to write a worker to read from S3 and write
data to RDS Postgres or to use Redshift.
ā€£ Serving a static web app from an ECS app isnā€™t bad, but using S3
(+ CloudFront) is more efļ¬cient (but also more complex to
setup).
Thank you!
Want to keep up with the latest news on
DevOps, AWS, software infrastructure,
and Gruntwork?
http://www.gruntwork.io/newsletter/

Weitere Ƥhnliche Inhalte

Was ist angesagt?

Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
Ā 
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeployAmazon Web Services
Ā 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
Ā 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Amazon Web Services
Ā 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWSShiva Narayanaswamy
Ā 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at ScaleAmazon Web Services
Ā 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
Ā 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
Ā 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSLaura Frank Tacho
Ā 
Building A CICD Pipeline for Deploying to Containers
Building A CICD Pipeline for Deploying to ContainersBuilding A CICD Pipeline for Deploying to Containers
Building A CICD Pipeline for Deploying to ContainersAmazon Web Services
Ā 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAmazon Web Services
Ā 
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...Amazon Web Services Korea
Ā 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverBlazeMeter
Ā 
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microserviceAmazon Web Services
Ā 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)Amazon Web Services
Ā 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeAmazon Web Services
Ā 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentAxel Fontaine
Ā 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpOntico
Ā 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWSManish Jain
Ā 

Was ist angesagt? (20)

Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Ā 
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
Ā 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Ā 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Ā 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWS
Ā 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale
Ā 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
Ā 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
Ā 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
Ā 
Building A CICD Pipeline for Deploying to Containers
Building A CICD Pipeline for Deploying to ContainersBuilding A CICD Pipeline for Deploying to Containers
Building A CICD Pipeline for Deploying to Containers
Ā 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
Ā 
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...
[AWS Dev Day] ģ•± ķ˜„ėŒ€ķ™” | AWS Fargateė„¼ ģ‚¬ģš©ķ•œ ģ„œė²„ė¦¬ģŠ¤ ģ»Øķ…Œģ“ė„ˆ ķ™œģš© ķ•˜źø° - ģ‚¼ģ„±ģ „ģž ź°œė°œģž ķ¬ķ„ø ģ‚¬ė”€ - ģ •ģ˜ģ¤€...
Ā 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & Webdriver
Ā 
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
Ā 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
Ā 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the Time
Ā 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Ā 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
Ā 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWS
Ā 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
Ā 

Ƅhnlich wie New AWS Services

Amazon ECS (December 2015)
Amazon ECS (December 2015)Amazon ECS (December 2015)
Amazon ECS (December 2015)Julien SIMON
Ā 
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationAWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationSanjay Sharma
Ā 
Advanced Container Scheduling
Advanced Container SchedulingAdvanced Container Scheduling
Advanced Container SchedulingAmazon Web Services
Ā 
Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Amazon Web Services
Ā 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to ServerlessAdrien Blind
Ā 
E301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSE301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSThanh Nguyen
Ā 
AWS fault tolerant architecture
AWS fault tolerant architectureAWS fault tolerant architecture
AWS fault tolerant architectureskadyan1
Ā 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWSAmazon Web Services
Ā 
Running Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkRunning Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkAmazon Web Services
Ā 
Microservices: moving parts around
Microservices: moving parts aroundMicroservices: moving parts around
Microservices: moving parts aroundChris Winters
Ā 
AcademyCloudFoundations_Module_10 (2).pptx
AcademyCloudFoundations_Module_10 (2).pptxAcademyCloudFoundations_Module_10 (2).pptx
AcademyCloudFoundations_Module_10 (2).pptxrawwatchtime
Ā 
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Amazon Web Services
Ā 
Amazon AWS - a quick review
Amazon AWS - a quick reviewAmazon AWS - a quick review
Amazon AWS - a quick reviewGeeks Anonymes
Ā 
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container Day
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container DayECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container Day
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container DayAmazon Web Services Korea
Ā 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfAmazon Web Services
Ā 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSAmazon Web Services
Ā 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and SchedulingAmazon Web Services
Ā 
Alexander Torosh "Projects scaling with Amazon Web Services"
Alexander Torosh "Projects scaling with Amazon Web Services"Alexander Torosh "Projects scaling with Amazon Web Services"
Alexander Torosh "Projects scaling with Amazon Web Services"Fwdays
Ā 

Ƅhnlich wie New AWS Services (20)

Amazon ECS (December 2015)
Amazon ECS (December 2015)Amazon ECS (December 2015)
Amazon ECS (December 2015)
Ā 
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationAWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
Ā 
Advanced Container Scheduling
Advanced Container SchedulingAdvanced Container Scheduling
Advanced Container Scheduling
Ā 
Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018
Ā 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to Serverless
Ā 
E301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSE301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaS
Ā 
Shipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howtoShipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howto
Ā 
AWS fault tolerant architecture
AWS fault tolerant architectureAWS fault tolerant architecture
AWS fault tolerant architecture
Ā 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
Ā 
Running Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkRunning Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic Beanstalk
Ā 
Microservices: moving parts around
Microservices: moving parts aroundMicroservices: moving parts around
Microservices: moving parts around
Ā 
AcademyCloudFoundations_Module_10 (2).pptx
AcademyCloudFoundations_Module_10 (2).pptxAcademyCloudFoundations_Module_10 (2).pptx
AcademyCloudFoundations_Module_10 (2).pptx
Ā 
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Ā 
Amazon AWS - a quick review
Amazon AWS - a quick reviewAmazon AWS - a quick review
Amazon AWS - a quick review
Ā 
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container Day
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container DayECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container Day
ECS & ECR Deep Dive - ź¹€źø°ģ™„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: AWS Container Day
Ā 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Ā 
AWS.doc
AWS.docAWS.doc
AWS.doc
Ā 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECS
Ā 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and Scheduling
Ā 
Alexander Torosh "Projects scaling with Amazon Web Services"
Alexander Torosh "Projects scaling with Amazon Web Services"Alexander Torosh "Projects scaling with Amazon Web Services"
Alexander Torosh "Projects scaling with Amazon Web Services"
Ā 

KĆ¼rzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĆŗjo
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
Ā 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
Ā 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
Ā 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationRadu Cotescu
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 

KĆ¼rzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Ā 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
Ā 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organization
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 

New AWS Services

  • 1. New AWS Services AWS PHOENIX MEETUP Josh Padnick Gruntwork Monday, August 29, 2016
  • 2. Todayā€™s talk is about three recent updates in AWS.
  • 3. Todayā€™s talk is about three recent updates in AWS. ā€£ Application Load Balancer (ALB) ā€£ EC2 Container Service (ECS) ā€£ Kinesis Analytics
  • 4. For each service, weā€™ll discussā€¦ ā€£ The big idea ā€£ Whatā€™s new ā€£ Examples
  • 6. Weā€™ll start simple. But weā€™ll get progressively more technical. At a certain point, weā€™ll dive deep into the technical nuances of the topic. In such cases, look for the Nerd Alert ribbon. Nerd Alert
  • 7. Hi, Iā€™m Josh Padnick. ā€£ Published A Comprehensive Guide ā€Ø to Building a Scalable Web App on AWS. Received 500+ up votes on Hacker News. ā€£ Consulted on DevOps & AWS with ~25 companies worldwide including Intel and Infusionsoft. ā€£ Full-stack engineer for 10+ years ā€£ Co-founder at Gruntwork.
  • 8. ā€£ We setup software teams on AWS with DevOps best practices and world-class infrastructure. ā€£ But we do it in about 2 weeks! ā€£ The secret sauce is we offer battle-tested, pre- written ā€œInfrastructure Packagesā€ for common AWS needs. ā€£ Plus consulting & support as needed. http://gruntwork.io I work at Gruntwork.
  • 10. Letā€™s start by talking about the generic concept of a Load Balancer.
  • 11. The Big Idea Hi, Iā€™m an EC2 Instance! M y A pp
  • 12. The Big Idea With a single VM, users can connect directly to the VM.
  • 13. The Big Idea But if that VM fails, our entire service goes down. X X
  • 14. The Big Idea With multiple VMs, we gain High Availability (HA)!
  • 15. The Big Idea If one VM goes down, we can just serve trafļ¬c from the other. X X āœ…
  • 16. The Big Idea But how do we route requests to more than one VM? ?
  • 17. The Big Idea We use a Load Balancer. This is sometimes called a Reverse Proxy. Load Balancer
  • 18. The Big Idea There are a few properties we want out of this load balancer:
  • 19. The Big Idea There are a few properties we want out of this generic load balancer: ā€£ It should itself be HA! ā€£ It should elastically scale as we get more trafļ¬c. ā€£ It should do a Health Check on each VM.
  • 20. The Big Idea Keep goingā€¦ ā€£ It should support the latest protocols ā€Ø (TCP, UDP, HTTP(S) 1.1, HTTP/2, WebSockets). ā€£ It should log all requests. ā€£ It should emit helpful metrics.
  • 21. The Big Idea Keep goingā€¦ ā€£ It should allow routing a single user to the same VM, but spread different users across different VMs (sticky sessions). ā€£ It should route a request for /apples to one set of VMs and /oranges to another (path- based routing).
  • 22. The Big Idea Keep goingā€¦ ā€£ It should have ļ¬rst-class support for routing to Docker containers in EC2 Container Service (ECS) ā€£ Route to an app running in a container, not just to a VM. ā€£ Route to multiple different containers on the same VM. ā€£ Know about new containers when I launch them (service discovery). Nerd Alert
  • 23. In 2012, Amazon released the Elastic Load Balancer. Elastic Load Balancer (ELB)
  • 24. Nerd Alert Old ELB was a Layer 4 Load Balancer Open Systems Interconnection (OSI) Network Model Physical / Data Link1 / 2 Network (IP, ICMP)3 Transport (TCP, UDP)4 Session5 Presentation (TLS)6 Application (HTTP, FTP, DNS, SSH)7
  • 25. But thereā€™s a problemā€¦ ā€£ Helpful metrics like ā€œSum HTTP 5XX errorsā€ only apply to HTTP trafļ¬c. ā€£ Path-based routing requires inspecting the HTTP trafļ¬c. Some of our feature asks are HTTP-speciļ¬c.
  • 26. But thereā€™s a problemā€¦ ā€£ Route to more than one port on the same VM Some of our feature asks are DOCKER-speciļ¬c.
  • 27. So AWS has released the new Application Load Balancer (ALB).
  • 28. So AWS has released the new Application Load Balancer (ALB). An updated load balancer opinionated to: ā€Ø - modern apps built with HTTPā€Ø - Docker
  • 29. Updated Terminology Elastic Load Balancing Application Load Balancer (ALB) Classic Load Balancerā€Ø (Sometimes called ā€œELBā€)
  • 30. Nerd Alert ALB is a Layer 7 Load Balancer Open Systems Interconnection (OSI) Network Model Physical / Data Link1 / 2 Network (IP, ICMP)3 Transport (TCP, UDP)4 Session5 Presentation (TLS)6 Application (HTTP, FTP, DNS, SSH)7
  • 31. Nerd Alert ALB is a Layer 7 Load Balancer Translation ā€£ The ALB inspects HTTP trafļ¬c and makes routing decisions based on this. ā€£ But the ALB doesnā€™t deal with ā€œOSI Layer 3ā€ forwarding, so no TCP or UDP forwarding. Application (HTTP, FTP, DNS, SSH)7
  • 32. New features in the ALB
  • 33. Support for HTTP/2 ā€£ Did you know HTTP 1.1 came out in 1999 when this was what the Web looked like?
  • 34. Support for HTTP/2 ā€£ The web of 2016 is different than the web of 1999:
  • 35. HTTP/2 Benefits ā€£ Sends headers/cookies just once instead of on every request. ā€£ Encodes all data in binary versus a textual format. ā€£ Transmits all data over a single, multiplexed TCP connection versus multiple blocking connections in HTTP/1.1. Nerd Alert
  • 36. Your Backend App Can Still ā€Ø Speak HTTP/1.1 Nerd Alert HTTP/2 HTTP/1.x Note that HTTP/2 requires thatā€Ø you use HTTPS on the ALB.
  • 37. All modern browsers support HTTP/2 Nerd Alert SOURCE: http://caniuse.com/#search=http2
  • 38. Support for WebSockets ā€£ A long-time ask for ELBs has been WebSocket support. ALBs now support this! Nerd Alert ws://ā€¦ ws://ā€¦
  • 39. Content-Based Routing ā€£ Route /blue to one service. ā€£ Route /green to another service. ā€£ Previously, this required two load balancers. Now, it requires just one!
  • 40. Content-Based Routing ā€£ LIMITATION ā€£ We donā€™t get path rewriting. ā€£ So you canā€™t send /blue to /hello/blue unless your backend app handles that. Nerd Alert
  • 41. New Concepts in Elastic Load Balancing ā€£ Target Groups The Classic Load Balancer includes as part of its conļ¬guration which EC2 Instances it will route to. ELB
  • 42. New Concepts in Elastic Load Balancing ā€£ Target Groups With ALBs, the concept of Load Balancer is separated from the concept of Target EC2 Instances. ALB Target ā€Ø Group Target ā€Ø Group
  • 43. New Concepts in Elastic Load Balancing ā€£ Target Groups Our ALB needs a list of ā€œtargetsā€ where it can send trafļ¬c. Weā€™ll group all such targets into a Target Group. Empty Target Group
  • 44. New Concepts in Elastic Load Balancing ā€£ Target Groups Letā€™s add one Target: i-123 Port 8000 Notice we have both an instance id and port number.
  • 45. New Concepts in Elastic Load Balancing ā€£ Target Groups Letā€™s add a second Target: i-123 Port 8000 i-123 Port 8001 This target has the same instance id but a different port number.
  • 46. New Concepts in Elastic Load Balancing ā€£ Target Groups Letā€™s add a third Target: i-123 Port 8000 i-123 Port 8001 i-789 Port 3034
  • 47. New Concepts in Elastic Load Balancing ā€£ Target Groups Our ALB will send trafļ¬c to anyā€Ø Healthy Target in the Target Group. i-123 Port 8000 i-123 Port 8001 i-789 Port 3034
  • 48. New Concepts in Elastic Load Balancing ā€£ Target Groups Note that the Classic ELB does not use a Target Group and can only send to the same port on different EC2 Instances. i-123 Port 8000 i-789 Port 8000
  • 49. New Concepts in Elastic Load Balancing ā€£ Target Groups The big takeaway is you can group your (micro)services into Target Groups, even if multiple target groups include the same EC2 Instance! i-123 i-456 i-789 Service B Service A Nerd Alert
  • 50. Content-Based Routing ā€£ Route /blue to one service Target Group. ā€£ Route /green to another service Target Group. ā€£ Previously, this required two load balancers. Now, it requires just one!
  • 51. Support for Container-Based Apps ā€£ We often want to run the same Docker image on the same EC2 Instance on different ports. ā€£ Target Groups means the ALB can route to either to two different ports on the same server! ā€£ This also means we can dynamically select our container ports in an EC2 Container Service Cluster! Nerd Alert
  • 52. Nerd Alert Support for Container-Based Apps Portā€Ø 8523 Portā€Ø 8000 Portā€Ø 4738 Portā€Ø 8713
  • 53. Target Group metrics. ā€£ We get CloudWatch Metrics on Target Groups. ā€£ This is a nice way to get metrics speciļ¬c to a service. Nerd Alert
  • 54. Better metrics. ā€£ Many new metrics on the ALB! Nerd Alert ā€£ ClientTLSNegotiationErrorCount ā€£ TargetTLSNegotiationErrorCount ā€£ TargetConnectionErrorCount ā€£ TargetResponseTime ā€£ NewConnectionCount ā€£ ActiveConnectionCount ā€£ RejectedConnectionCount ā€£ ProcessedBytes
  • 55. Other Cool Features ā€£ Load-balancer generated sticky-session cookies (client must support cookies). ā€£ Slightly less expensive. ā€£ Faster performance in general. Nerd Alert
  • 56. When to Use the ALB ā€£ When running any HTTP-based service. ā€£ When using WebSockets with a load balancer. ā€£ When using Docker, especially with EC2 Container Service.
  • 57. When to Use the Classic ELB ā€£ You need OSI Layer 4 Routing (i.e. TCP / UDP) ā€£ Your app listens on a protocol other than HTTP.
  • 58. Alternatives to the ALB/ELB ā€£ Set up your own load balancer using Nginx or HAProxy. ā€£ But this means you need to build auto- scaling, auto-failover, automated DNS updates, conļ¬gure metrics, conļ¬gure logging, manage upgrades, and a few more items. ā€£ Conclusion: donā€™t do this unless you have to.
  • 59. Recent Updates to EC2 Container Service (ECS)
  • 60. The Big Idea Hi, Iā€™m an EC2 Instance!
  • 61. The Big Idea I can offer you resource isolation. And I can be launched in just minutes!
  • 62. Limitations of a VM But minutes could be an eternity. If deploying multiple times a day,ā€Ø weā€™re just waiting for VMs to launch. Building an Amazon Machine Imageā€Ø also takes on the order of minutes.
  • 63. Limitations of a VM And I canā€™t run that AMI locally. If I want to run the same ā€œGolden Imageā€ locally, Iā€™m out of luck. X
  • 64. Sometimes a single app uses a ā€Ø tiny portion of available resources. Mem Usage: 12% CPU Usage: 7%
  • 65. So itā€™d be nice if we could pack multiple apps in a single EC2 Instance. Mem Usage: 85% CPU Usage: 90% App 1 App 2 App 3
  • 67. Why developers love containers. ā€£ A container is just an isolated OS process, so it runs directly on your EC2 Instance. ā€£ Itā€™s similar to a ā€œlightweight VMā€ and can start in milliseconds. ā€£ You can run multiple containers on a single EC2 Instance. ā€£ You can run the same docker image on any platform. ā€£ You can download pre-built docker images for almost all custom software.
  • 68. So we want to run our apps as containers. ā€£ But we donā€™t want to run containers on just a single EC2 Instance. If I go down, Iā€™m taking ā€Ø all apps with me!
  • 69. We want to run multiple containers across ā€Ø multiple EC2 Instances.
  • 70. But running a ā€œdocker clusterā€ is hard. ā€£ Way to bootstrap the cluster ā€£ Container scheduler ā€£ Service Discovery solution ā€£ Load balance to containers ā€£ Auto-restart failed containers ā€£ Cluster-wide metrics We needā€¦
  • 71. There are multiple options to solve this problem today.
  • 72. But my favorite solution is ā€Ø Amazon EC2 Container Service (ECS) Amazon EC2 Container Service
  • 73. Benefits of ECS ā€£ Built-in cluster bootstrapping ā€£ Built-in scheduler ā€Ø (with ability to use a custom scheduler) ā€£ Built-in service discovery ā€£ Built-in load balancer (ALB) ā€£ Built-in auto-restart on failed containers ā€£ NEW! Auto-scale your service ā€£ NEW! Fine-grained AWS permissions on your service
  • 74. Whatā€™s Missing from ECS ā€£ Service-to-service authentication ā€£ Run background jobs within the cluster (you can still do this with Lambaā€™s run on cron schedules, though) ā€£ DNS namespacing ā€£ Built-in persistent volumes ā€£ Built-in support for log aggregation (on services other than CloudWatch Logs)
  • 75. Then why is it my favorite? ā€£ Because most teams donā€™t need those features. ā€£ If youā€™re ok with the limitations, ECS is easier to setup than anything else. ā€£ The new ALB plus the new features weā€™ll talk about make this even more compelling.
  • 80. ECS Task Definition Declares what kind of ECS Task should be run.ā€Ø (e.g. docker run properties)
  • 82. One other quick reviewā€¦
  • 83. EC2 Instances get permissions to AWS Resources via IAM Roles. EC2 Instance Authenticates to AWS via IAM Role
  • 84. EC2 Instances get permissions to AWS Resources via IAM Roles. EC2 Instance S3 Bucket
  • 86. Feature #1: IAM Role for ECS Tasks
  • 87. IAM Roles for EC2 Instances Previously, ECS Tasks could only get permission to other AWS resources (e.g. a ļ¬le in S3) by using the IAM Role of the ECS Instance. ECS Instance IAM Role
  • 88. IAM Roles for EC2 Instances This meant that the BLUE and YELLOW app both got the same AWS permissions. ECS Instance IAM Role ECS Instance IAM Role
  • 89. IAM Roles for ECS Tasks With IAM Roles for ECS Tasks, now each ECS Task can get its own IAM Role! ECS Task IAM Role ECS Task IAM Role
  • 90. IAM Roles for ECS Tasks This means that each ECS Task can have its own set of permissions to other AWS resources. ECS Task IAM Role ECS Task IAM Role Bucket A Bucket B
  • 91. How It Works ā€£ When we create an ECS Task Deļ¬nition, we can now specify a Task Role.
  • 92. Feature #2: ECS Service Auto-Scaling
  • 93. ECS Service Auto-Scaling Previously, we could auto-scale the ECS Instances but not the ECS Tasks. This meant that we could not auto-scale an ECS Service without lots of hackery.
  • 95. ECS Service Auto-Scaling We deļ¬ne Scaling Policies just like with classic Auto Scaling.
  • 96. We Scale on Just Two Metrics ā€£ CPUUtilization ā€£ MemoryUtilization Total CPU/Memory In Use Total CPU/Memory Reserved =
  • 97. Feature #3: EC2 Container Registry (ECR)
  • 98. When you work with Docker, you need a place to store your Docker images. ā€£ Classic Docker build pipeline example: Git Commit to Master Branch Build Docker Image Push to Docker Registry
  • 99. There are a few options for the Docker Registry ā€£ Docker Hub ā€£ Quay.io by CoreOS ā€£ Artifactory by jfrog
  • 100. But there are some challenges. ā€£ Docker Hub can sometimes be slow or unreliable. ā€£ Authenticating to any solution means you have to store the credentials somewhere. ā€£ Download speeds and proximity to the service make a difference.
  • 101. So Amazon has released ā€Ø EC2 Container Registry (ECR) Amazon EC2 Container Registry
  • 102. ECR Features ā€£ Fully managed by Amazon ā€£ Relatively fast ā€£ Accessible by a typical docker client ā€£ Integrated with IAM Policies and IAM Users
  • 103. ECR Limitations ā€£ You can only store up to 1,000 images per docker repo. ā€£ Pricing model requires you cull your unused docker images from the ECR repo. ā€£ No hosting of public docker images. ā€£ Docker repo names can be awkwardly long.
  • 104. But I still prefer ECR. ā€£ One less vendor to deal with. ā€£ One integrated security model. ā€£ Repo limits are probably appropriate. ā€£ Not hosting public repos gives clear separation of public and private repos.
  • 106. Big Idea ā€£ As companies grow, they eventually evolve out of the monolithic app and into a microservices architecture. Microservice A Microservice B
  • 107. ā€£ Usually, companies will start with two microservices. ā€£ Then theyā€™ll keep factoring out monolithic code into more and more microservices.
  • 108. ā€£ Eventually, teams will want an individual microservice to publish an event stream.
  • 109. ā€£ This way Microservice B can do something when Microservice A publishes a certain event.
  • 110. ā€£ But if we have n services, and each service reads the event stream of the other n - 1 services, now we have a combinatorial explosion:
  • 111. YUCK!
  • 112. ā€£ What if instead all services published their event streams to a central service. ā€£ And all services read event streams from that same central service.
  • 113. ā€£ Now we have n connections, which is manageable!
  • 114. ā€£ These are the insights that LinkedIn had around 2011 when it wrote Apache Kafka. ā€£ The central ā€œevent publishing serviceā€ would need to be: ā€£ scalable ā€£ resilient ā€£ temporarily persist data to support consumers that go down ā€£ not lose any data, even as data volume surges
  • 115. ā€£ The details are published in an epic blog post by LinkedIn engineer and Kakfa author Jay Kreps:
  • 116. ā€£ It turns out the concept of a scalable, performant, resilient centralized event stream can apply to lots of domains! ā€£ IoT events ā€£ Logging events ā€£ Social media clickstreams ā€£ Basically, any real-time data source
  • 117. ā€£ But running a Kafka cluster is highly non-trivial. ā€£ So AWS introduced its own version of Kafka and offered it as a managed service. Amazon Kinesis Streams
  • 118. ā€£ At ReInvent 2014, Amazon shared a wicked cool example of how Major League Baseball was tracking data from the ļ¬eld and using it to generate stats, visualizations, and more:
  • 119. ā€£ Hereā€™s an excerpt from their architecture.
  • 120. ā€£ But what happens after the data gets into Kinesis? Amazon Kinesis ?
  • 121. ā€£ The answer is that we can have Kinesis Consumers that periodically read the data. Amazon Kinesis Me Want Moar Data!
  • 122. ā€£ The consumer can then do anything with it ā€£ Store it in S3 for later retrieval. ā€£ Store it in RedShift for later querying. ā€£ Store it in a relational database. ā€£ Or any other custom operation.
  • 123. ā€£ Previously, we had to write our own custom worker to do any processing.
  • 124. ā€£ But what if we just want to query windows of incoming data and write it to a database? Isnā€™t that pretty common?
  • 125. ā€£ But now we donā€™t have to! ā€£ Thatā€™s why Amazon has introduced: Amazon Kinesis Analytics
  • 126. Input - Query - Output ā€£ Inputs ā€£ Streaming Data Sources: Kinesis Streams, Kinesis Firehose ā€£ Reference Data Source: Data in S3 ā€£ Query ā€£ Write ANSI SQL against the data stream ā€£ Outputs ā€£ S3 ā€£ Redshift ā€£ Kinesis Firehose ( ā€”> Amazon Elasticsearch) ā€£ Kinesis Streams
  • 127. Core Features ā€£ Use Standard SQL to query data streams. ā€£ Kinesis will inspect your data stream and automatically create a baseline schema against which you can write your queries. ā€£ Built-in live SQL editor to test queries against live data. ā€£ Pre-written queries for common use cases. ā€£ Query continuously, by Tumbling Windows, or Sliding Windows.
  • 128. Letā€™s combine it all in a sample architecture!
  • 129. Business Problem ā€£ Ice Cream shop ā€£ IoT Enabled ā€£ We track weight of each tub of ice cream continuously as a way to know in real-time how much ice cream we need to order. ā€£ Our customer wants a slick real-time dashboard of everything.
  • 130. Architecture IoT Weight Monitors Kinesis Streams Kinesis Analytics S3 Bucket ECS Cluster App to Query S3 Data ā€Ø and return Dashboard data App that serves static assetsā€Ø for a Single-Page App ALB Users get dashboard updates with WebSockets RDS PostgreSQL
  • 131. Caveats ā€£ If you had a low enough volume of data, you could just have your sensors write directly to RDS Postgres and reduce lots of cost and complexity. ā€£ But if you have enough data volume that you need the power of Kinesis, then this architecture makes sense. ā€£ Querying S3 for real-time data is probably a bad idea, so it may make more sense to write a worker to read from S3 and write data to RDS Postgres or to use Redshift. ā€£ Serving a static web app from an ECS app isnā€™t bad, but using S3 (+ CloudFront) is more efļ¬cient (but also more complex to setup).
  • 132. Thank you! Want to keep up with the latest news on DevOps, AWS, software infrastructure, and Gruntwork? http://www.gruntwork.io/newsletter/