Upload
amazon-web-services-korea
View
263
Download
2
Embed Size (px)
Citation preview
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
December 8, 2014 | Korea
Amazon EC2 Container Service Highly Scalable, High Performance Container Management Service
김일호 솔루션스 아키텍트
re:
Image: Izabella Reimers
Without Container :
How to pack ?
How to load / unload ?
How to transship ?
How to check dependencies ?
How to protect ?
Container related sessions in re:Invent 2014
Docker is an open platform for developers to build, ship, and run
distributed applications in Linux containers. In this session, Nathan
LeClaire, a Solutions Engineer at Docker Inc., will be demonstrating
workflows that can dramatically accelerate the development and
deployment of distributed applications with Docker containers.
Through in-depth demos, this session will show how to achieve
painless deployments that are both readily scalable and highly
available by combining AWS's strengths as an infrastructure platform
with those of Docker's as a platform that transforms the software
development lifecycle.
If you have tried Docker but are unsure about how to run it at scale,
you will benefit from this session. Like virtualization before,
containerization (à; la Docker) is increasing the elastic nature of
cloud infrastructure by an order of magnitude. But maybe you still
have questions: How many containers can you run on a given
Amazon EC2 instance type? Which metric should you look at to
measure contention? How do you manage fleets of containers at
scale?
Container related sessions in re:Invent 2014
Container technology, particularly Docker, is all the rage these days.
At AWS, our customers have been running Linux containers at scale
for several years, and we are increasingly seeing customers adopt
Docker, especially as they build loosely coupled distributed
applications. However, to do so they have to run their own cluster
management solutions, deal with configuration management, and
manage their containers and associated metadata. We believe that
those capabilities should be a core building block technology, just
like EC2. Today, we are announcing the preview of Amazon EC2
Container Service, a new AWS service that makes is easy to run
and manage Docker-enabled distributed applications using powerful
APIs that allow you to launch and stop containers, get complete
cluster state information, and manage linked containers. In this
session we will discuss why we built the EC2 Container Service,
some of the core concepts, and walk you through how you can use
the service for your applications.
What is container – OS Virtualization
Containers are isolated,
but share OS kernel and,
where appropriate,
bins/libraries
…result is significantly faster
deployment, much less overhead,
easier migration, faster restart
Containers
Make the containers easy to use, standardized,
interoperable
• Container technology has been around for a
while (c.f. LXC, Solaris Zones, BSD Jails)
• Shipping containers are not just steel boxes.
• With Docker, low-level containers get the
following:
- Ease of use, tooling
- Re-usable components
- Ability to run on any Linux server today:
Physical, Virtual, Cloud, …
Easy deployments with API
Standardized environment fidelity
Better fleet management
Distributed applications
Cloud is programmable and automated environment
… Good fit to Docker
Listening to our customers Image: highersights
Cluster management
Configuration management
Scaling
Security Availability Container sprawl
Image: RaSeLaSeD - ll Pinguino
Elastic Load Balancing
ENIs
Auto Scaling
Security Groups
IAM
Image: xmatt
Tagging
Multi-AZ
Amazon EBS VPC
Building block service
Cluster management service
Manages your containers
Manages cluster state
Schedules containers onto your cluster
Task: A grouping of related containers
Nginx Web Server Rails Application
MySQL Database
Log Collector
… about entire architecture not just a container
Task Definition
{ “family” : “my-website”,
“version” : “1.0”
“containers” : [
<<CONTAINER DEFINTIONS>>
]
}
Grouping
Versioning
Container Definition
• Names and identifies your image
• Includes default runtime attributes for your container – Environment Variables
– Port Mappings
– Container entry point and commands
– Resource constraints
– Etc..
… No longer concerned over exact state
Example
{ “name” : “webServer”,
“image” : “nginx:latest”
“cpu” : 512,
“memory” : 128,
“portMappings” : [ { “containerPort” : 9443, “hostPort” : 443 }],
“links” : [“rails”],
“essential” : true
}
Cluster
• Provides a pool of resources for your Tasks
• A grouping of Container Instances
• Starts empty, dynamically scalable
… about underlying infrastructure not just a container
Container Instance
• An instance on which Tasks are scheduled
• Runs AMI with ECS Agent installed
• Registers into cluster on launch
… Forget how to make instance container runnable
Sign up for the preview
http://aws.amazon.com/ecs
Coming Soon …
• Elastic Load Balancing integration
• Amazon CloudWatch integration
• Amazon CloudWatch Logs integration
• AWS CloudFormation support
• Support for Tagging
• AWS Management Console
• Partner AMIs (including CoreOS)