SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tim Secor - Manager, Developer Productivity
8/11/2016
Continuous Integration
with ECS and Docker
Topics
• Who is Okta
• Okta Engineering—How Do We work, how do we ship
our code?
• The Challenge of the Developer Productivity Team
• A CI System with Amazon EC2 Container Service and
Docker
Okta: Connect Everything
• Connects all users, devices,
applications, and organizations
• SSO, Adaptive MFA,
Provisioning, Universal Directory,
Mobility
• The broadest and deepest
application network
Leader: Okta
Magic Quadrant
Leader: Okta
Forrester Wave
What We Do
We believe that connecting
everything will make organizations
more productive and more secure.
What We Believe
We Make Customers
Successful
© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved.
Millions of people use Okta every dayMillions of people use Okta every day
© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 5
Thousands of enterprises use Okta to
connect to Adobe’s Creative Cloud
jim@designer.com
© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 6
Thousands of Enterprise Customers
Ed, Gov,
Non-Profit
Services Media ConsumerTechnology Manufacturing,
Energy
FinanceCloudHealth
© Okta and/or its affiliates. All rights reserved. Okta Confidential 7© Okta and/or its affiliates. All rights reserved. Okta Confidential 7
Okta Application Network
Mobility
Management
Single Sign On Adaptive MFA Provisioning
Universal Directory
Extensible Profiles, Attribute Transformations,
Directory Integration and AD Password Management
Secure SSO for All Your
Web Apps, On-prem
and Cloud, with Flexible
Policy, from Any Device
Contextual Access
Policies,
Modern Factors,
Adaptive Authentication,
Integrations for Apps
and VPNs
Lifecycle Management,
Cloud & On-prem App
Integration, Mastering
from Apps, Directory
Provisioning, Rules,
Workflow, Reporting
Tight User Identity
Integration, Device
Based Contextual
Access,
Light-weight
Management
Okta IT & Platform products
© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 8
The most reliable IDaaS available
Never taken offline for upgrades
Redundant and scalable
A B C A B C
DC2 DC1
okta.com/trust
A Platform Architecture For Scale
DATA TIER
A B C LOAD
BALANCERS
APP
SERVERS
© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 9
Global Datacenters
Engineering
Okta Engineering—How Do We work, how do
we ship our code?
• 200 engineers, split into teams with embedded
specialists
• 1 week sprints, and deploy to production weekly
• Capability to do more than one hotfix per day at
customers’ request or for bugs found in CI or pre-prod
• Every merge to master is a potential release candidate
Okta Engineering—How Do We Test Our Code?
• Every topic branch goes through the same amount of
vigor in testing as release candidate.
• Passing automated tests is enforced at commit time.
• Largest repo: 30K tests, takes 60 minutes (22 parallel
runs)
• Smallest repo: 100 tests, 5 minutes
• The Developer Productivity team is responsible for
supporting engineering.
Challenge of Developer Productivity Team
• Developer experience
• Quality
• Cost
• Cloud First
Challenge of Developer Productivity Team
• Developer experience
• Quality
• Cost
• Cloud First
Developers expect fast turn-
around time and reliable results.
Challenge of Developer Productivity Team
• Developer experience
• Quality
• Cost
• Cloud First
We need to run all the tests
required to guarantee quality.
Challenge of Developer Productivity Team
• Developer experience
• Quality
• Cost
• Cloud First
We need to run an
infrastructure which is as cost-
effective as possible
Challenge of Developer Productivity Team
• Developer experience
• Quality
• Cost
• Cloud First
We aim to use cloud services
first, wherever possible
Problems
CI using Open Source, Monolithic Applications
Vision
Vision
• Clean testing environments
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Vision
• Clean testing
environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Isolate test environments from
others, parallel and serial runs
Vision
• Clean testing environments
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Workers should survive the
loss of their build server
Worker pool should scale
quickly
Number of workers should not
affect memory footprint of build
server
Vision
• Clean testing environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Run our services for cheaper
rates, as we have many short
lived tasks, and could certainly
handle a few failures
Vision
• Clean testing environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Enable testing of infrastructure
changes in topic branches
Vision
• Clean testing environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Should survive build server
reboots
Shouldn’t be tied to specific
workers or build servers
Centralized
Should have good visibility
Re-queuing of lost tasks
Vision
• Clean testing environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Push testing and creation of
test machines to developers
Vision
• Clean testing environment
• Dynamic worker scaling
• Spot instances for cost
• Versioned Testing
• Improved queuing system
• Less Infrastructure
Flakiness
• The correct privileges, to
maintain security
Launch tasks in secure
environments
Solutions
EC2 Container Service and Docker
• Amazon Web Services + Java app tailored to Okta
process
• Immutable and Disposable build workers—created for
one-time use, destroyed when job is done
• Near ZERO cost on weekends, scales with load
• EC2 Container Service allows us to maximize usage of
EC2 instances
• Same containers for multiple types and numbers of
builds
• Same Machine Image can run multiple docker images
Custom Reporting
Docker
• http://www.docker.com/what-docker#/VM
Docker Update
• Update Dockerfile and our CI system builds the new image,
uploading it to our repository
• Update task definition for cluster updates
Dockerfile
FROM docker.aue1d.saasure.com/okta-base:2.0
MAINTAINER Okta
RUN useradd -d /home/container_user -m -s /bin/bash container_user
# Install wget, tar, hostname
RUN yum install -y wget tar hostname
# Install Java 8
RUN yum install -y java-1.8.0-oracle-1.8.0_31
RUN mkdir -p /opt/sage
RUN mkdir -p /var/log/sage
RUN chown container_user /var/log/sage
ADD conf/* /opt/sage/conf/
ADD core/target/core-*.jar /opt/sage/sage.jar
EXPOSE 8882 8883
USER container_user
CMD java $OKTA_SAGE_JAVA_ARGS -jar /opt/sage/sage.jar server /opt/sage/conf/sage.yml
Docker Security Conventions
Container repository
• Only allow containers from internal repository
Security scanning of containers - JFrog Xray
Process monitoring on docker host – cAdvisor from google
Secrets or any form of config NEVER baked in containers
Start from minimal, audited base OS
Run container as non-privileged user w/ user namespaces
Docker 1.10+
Monitor alas.aws.amazon.com for critical updates
Docker Source Conventions
3 categories of container definitions
1. “Library” definitions used as the basis for building other images
2. Third-party service definitions e.g. Zookeeper or Elasticsearch
3. Internal service definitions
Repo per internal service
• Dockerfile in same repo => image versioned with code
• Docker compose for running dependent services
• Pegged versions (no builds)
Single repo for library and third-party service definitions
Docker Build Conventions
Integration tests run against code running in container
Build owns creating immutable version and publishing to
artifact server
Strict rules around “FROM” clause
• Must point at internal artifact server
• Must be tagged following SEMVER-SHORT_SHA convention
• Never allow missing or use of “latest” tag for repeatable builds
Docker Build Process
© Okta and/or its affiliates. All rights reserved.
Logging and monitoring
• Logging
• All output streams pipe to STDOUT/STDERR of the running process
• Log forwarding is provided by underlying host
• Log entries contain
• Host
• Container Id
• Image name & version
• Request Id
• Metrics
• Host level, generic container metrics provided by host
• App level metrics published directly to well defined endpoints
Amazon EC2 Container Service
• ECS Under The Hood
Amazon EC2 Container Service Host Management
Userdata installs:
• Slave terminator – T-800
• Base docker images an option
• Credentials – from s3
• Splunk Forwarder – logging
• Cluster target
• Cache – code and libs
Amazon EC2 Container Service
Identity and Access Management separation per service
• Either service per cluster or use new Identity and Access
Management for Elastic Container Service functionality
Sharing the docker daemon to allow running docker within
docker
Pre-fetching large data blobs and making them available
on the hosts is an option
Multiple containers: mysql, redis, kinesilite
Task Definitions
{
"taskDefinitionArn": "arn:aws:ecs:us-east-1:262205085595:task-definition/base-container-box-
task:1",
"containerDefinitions": [
{
"memory": 15000,
"essential": true,
"mountPoints": [
{
"containerPath": "/usr/bin/docker",
"sourceVolume": "docker_daemon",
"readOnly": null
},
{
"containerPath": "/var/run/docker.sock",
"sourceVolume": "docker_socket",
"readOnly": null
}
Task Definitions
],
}
],
"volumes": [
{
"host": {
"sourcePath": "/var/run/docker.sock"
},
"name": "docker_socket"
},
{
"host": {
"sourcePath": "/usr/bin/docker"
},
"name": "docker_daemon"
}
],
"family": "base-container-box-task”
Clean Testing Environments
• Docker images
• Nearly instant machine refresh
• Easy for users to create and upload images that have
been tested to work locally
• Efficient Machine use
• Amazon EC2 Container Service with EC2 Container
Repository and private repository backend
Docker Start Up
Docker Start Up
Dynamic Worker Scaling
Simple
Queue
Service
LambdaSimple
Notification
Service
Lambda
Scaling
Bin Packing
EC2 Container Service
Dynamic Worker Scaling
Lambda allocates jobs using bin packing
This is one of the changes we had to make in order to use
EC2 Container Service for long running tasks, rather than
services spread across many stateless instances
Disconnects unneeded nodes from cluster allowing
themselves to self terminate when they are idle
VS
Dynamic Worker Scaling
Lambda allocates jobs using bin packing
This is one of the changes we had to make in order to use
EC2 Container Service for long running tasks, rather than
services spread across many stateless instances
Disconnects unneeded nodes from cluster allowing
themselves to self terminate when they are idle
VS
Dynamic Worker Scaling
Lambda allocates jobs using bin packing
This is one of the changes we had to make in order to use
EC2 Container Service for long running tasks, rather than
services spread across many stateless instances
Disconnects unneeded nodes from cluster allowing
themselves to self terminate when they are idle
VS
Dynamic Worker Scaling
Lambda allocates jobs using bin packing
This is one of the changes we had to make in order to use
EC2 Container Service for long running tasks, rather than
services spread across many stateless instances
Disconnects unneeded nodes from cluster allowing
themselves to self terminate when they are idle
VS
Dynamic Worker Scaling`
Lambda allocates jobs using bin packing
This is one of the changes we had to make in order to use
EC2 Container Service for long running tasks, rather than
services spread across many stateless instances
Disconnects unneeded nodes from cluster allowing
themselves to self terminate when they are idle
VS
Dynamic Worker Scaling
Spot Instances
Spot Instances
Spot Instances
Versioned Jobs
Scripts checked into repositories Makes a transition to Docker jobs
easy
Versioned Jobs With EC2 Container Service
• Versioned build and test scripts can now be run in
versioned docker containers, using versioned task
definitions
• Creates extreme flexibility
• Cloud formation allows us to stand up whole new
clusters with all different versions in a matter of minutes
for long term testing
EC2 Container Service + Docker Problems
• Docker containers not launching
• EC2 Container Service agent failing
• Docker containers stopping
• Incompatibility with certain services
• Docker OS availability
• Cleanup
• Image size
© Okta and/or its affiliates. All rights reserved.
• Elastic Load Balancer
• Dynamic port mapping to containers
• Fail health based on HTTP return code
• Different health endpoint for adding vs removing
• Bin packing scheduler
• Could provide better cost management reporting and tools
• Ability to mark container instances as un-schedulable
• Remove sharp edges around the stopped state
• Give Auto Scaling Groups ability to set Elastic Compute Cloud instance
”shutdown behavior”
• Periodic cleanup process in Elastic Container Service to deregister stopped
instances
EC2 Container Service Feature Requests
© Okta and/or its affiliates. All rights reserved.
• /etc/ecs/ecs.config
• ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION for forensics (default 1hr)
• ECS_LOGLEVEL=debug
• Beware of running services in same cluster that use the same ports
• Tune Elastic Load Balancer health check
• Docker 1.10 for security enhancements
• Canary & Blue/Green separate service attached to same Elastic Load
Balancer
• Rollback is trivial
• Elastic Container Service is incredibly easy to get up and running
• The ecosystem is changing quickly, we are moving cautiously
• Holding off on stateful services in Docker
EC2 Container Service Takeaways
Amazon Web Services
Elastic Compute Cloud
Simple Queue Service
LambdaEC2 Container Service Simple Storage Service
Relational Database Service
Kinesis
EC2 Spot Instances
EC2 Container Registry
CloudFormation
Simple Notification Service
CloudWatch
CloudTrail
Building CI with Amazon Web Services
Future
Expand Use
• Use EC2 Container Service for more services
• Allow Developers to control their test suites and Docker
images more directly
• Developer Environments
• Use docker for local long running services
• Use a VM running the same version OS
• Remote updates to keep it in line with CI
• Aim to enable running CI containers right out of the box
Result: Happy Engineering Team
• Developers can write more tests quicker.
• Happy devs, timely build/test status feedback.
• Happy quality team, all tests are run at each commit.
• Happy ops team, release candidate produced quickly.
• Happy management, infra budget is under control.
Thank You
Join us @Okta - www.okta.com/company/careers/
stackshare.io/okta/okta
Remember to complete
your evaluations!
Continuous Integration with Amazon ECS and Docker

Weitere ähnliche Inhalte

Was ist angesagt?

Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...Amazon Web Services
 
ENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems ManagerENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems ManagerAmazon Web Services
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...Amazon Web Services
 
Getting Started with Windows Workloads on Amazon EC2
 Getting Started with Windows Workloads on Amazon EC2 Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2Amazon Web Services
 
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)Amazon Web Services
 
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...Amazon Web Services
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Amazon Web Services
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSAmazon Web Services
 
Amazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep DiveAmazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep DiveAmazon Web Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)Amazon Web Services Korea
 
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Amazon Web Services
 
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)Amazon Web Services
 
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ... Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...Amazon Web Services
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon AuroraAmazon Web Services
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSAmazon Web Services
 
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksAmazon Web Services
 
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...Amazon Web Services
 

Was ist angesagt? (20)

Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
 
ENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems ManagerENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems Manager
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
 
Getting Started with Windows Workloads on Amazon EC2
 Getting Started with Windows Workloads on Amazon EC2 Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2
 
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
AWS re:Invent 2016: High Performance Cinematic Production in the Cloud (MAE304)
 
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...
AWS re:Invent 2016: Best Practices for Data Warehousing with Amazon Redshift ...
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWS
 
Amazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep DiveAmazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep Dive
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
 
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
 
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)
AWS re:Invent 2016: Deep Dive on Amazon Relational Database Service (DAT305)
 
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ... Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWS
 
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
 
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
 

Andere mochten auch

Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSAmazon Web Services
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSAmazon Web Services
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)Amazon Web Services
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceAmazon Web Services
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at OktaJon Todd
 
Continuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesContinuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesAmazon Web Services
 
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...Igor Brusic
 
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...Oscar Romano
 
Containers 101 - CloudCamp London
Containers 101 - CloudCamp LondonContainers 101 - CloudCamp London
Containers 101 - CloudCamp LondonEd Hoppitt
 
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...Igor Brusic
 
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - Argentina
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - ArgentinaCisco Visual Networking Index and VNI Service Adoption 2014–2019 - Argentina
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - ArgentinaOscar Romano
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
Getting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsAmazon Web Services
 
Successful Cloud Adoption for the Enterprise. Not If. When.
Successful Cloud Adoption for the Enterprise. Not If. When.Successful Cloud Adoption for the Enterprise. Not If. When.
Successful Cloud Adoption for the Enterprise. Not If. When.Amazon Web Services
 
AWS Summit Gold Sponsor Presentation - Soltius
AWS Summit Gold Sponsor Presentation - SoltiusAWS Summit Gold Sponsor Presentation - Soltius
AWS Summit Gold Sponsor Presentation - SoltiusAmazon Web Services
 
Best Practices for Protecting Cloud Workloads - November 2016 Webinar Series
Best Practices for Protecting Cloud Workloads - November 2016 Webinar SeriesBest Practices for Protecting Cloud Workloads - November 2016 Webinar Series
Best Practices for Protecting Cloud Workloads - November 2016 Webinar SeriesAmazon Web Services
 
Cost optimization at scale toronto v3
Cost optimization at scale toronto v3Cost optimization at scale toronto v3
Cost optimization at scale toronto v3Amazon Web Services
 

Andere mochten auch (20)

Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECS
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at Okta
 
Continuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesContinuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar Series
 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
 
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...
Marseille 2017 FTTH Conference Main Programm "Service Delivery in a 3-Layer-O...
 
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...
Cisco Visual Networking Index (VNI) Global Mobile Data Traffic Forecast for 2...
 
Containers 101 - CloudCamp London
Containers 101 - CloudCamp LondonContainers 101 - CloudCamp London
Containers 101 - CloudCamp London
 
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...
Marseille 2017 FTTH Conference Workshop "Revenues from Passive Network and fr...
 
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - Argentina
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - ArgentinaCisco Visual Networking Index and VNI Service Adoption 2014–2019 - Argentina
Cisco Visual Networking Index and VNI Service Adoption 2014–2019 - Argentina
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Getting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise Applications
 
Successful Cloud Adoption for the Enterprise. Not If. When.
Successful Cloud Adoption for the Enterprise. Not If. When.Successful Cloud Adoption for the Enterprise. Not If. When.
Successful Cloud Adoption for the Enterprise. Not If. When.
 
Application Migrations
Application MigrationsApplication Migrations
Application Migrations
 
AWS Summit Gold Sponsor Presentation - Soltius
AWS Summit Gold Sponsor Presentation - SoltiusAWS Summit Gold Sponsor Presentation - Soltius
AWS Summit Gold Sponsor Presentation - Soltius
 
Best Practices for Protecting Cloud Workloads - November 2016 Webinar Series
Best Practices for Protecting Cloud Workloads - November 2016 Webinar SeriesBest Practices for Protecting Cloud Workloads - November 2016 Webinar Series
Best Practices for Protecting Cloud Workloads - November 2016 Webinar Series
 
Cost optimization at scale toronto v3
Cost optimization at scale toronto v3Cost optimization at scale toronto v3
Cost optimization at scale toronto v3
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 

Ähnlich wie Continuous Integration with Amazon ECS and Docker

[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric CloudPerforce
 
Virtualization Vs. Containers
Virtualization Vs. ContainersVirtualization Vs. Containers
Virtualization Vs. Containersactualtechmedia
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfNandiniSinghal16
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
AWS Workshop Series: Microsoft licensing and active directory on AWS
AWS Workshop Series: Microsoft licensing and active directory on AWSAWS Workshop Series: Microsoft licensing and active directory on AWS
AWS Workshop Series: Microsoft licensing and active directory on AWSAmazon Web Services
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything ChefMandi Walls
 
AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for DevelopersAmazon Web Services
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayOkko Oulasvirta
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerSakari Hoisko
 
Devtest Orchestration for SDN & NFV
Devtest Orchestration for SDN & NFVDevtest Orchestration for SDN & NFV
Devtest Orchestration for SDN & NFVAlex Henthorn-Iwane
 

Ähnlich wie Continuous Integration with Amazon ECS and Docker (20)

[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Virtualization Vs. Containers
Virtualization Vs. ContainersVirtualization Vs. Containers
Virtualization Vs. Containers
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdf
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
AWS Workshop Series: Microsoft licensing and active directory on AWS
AWS Workshop Series: Microsoft licensing and active directory on AWSAWS Workshop Series: Microsoft licensing and active directory on AWS
AWS Workshop Series: Microsoft licensing and active directory on AWS
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Newt global meetup microservices
Newt global meetup microservicesNewt global meetup microservices
Newt global meetup microservices
 
AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for Developers
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training day
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Devtest Orchestration for SDN & NFV
Devtest Orchestration for SDN & NFVDevtest Orchestration for SDN & NFV
Devtest Orchestration for SDN & NFV
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Kürzlich hochgeladen

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Kürzlich hochgeladen (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Continuous Integration with Amazon ECS and Docker

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tim Secor - Manager, Developer Productivity 8/11/2016 Continuous Integration with ECS and Docker
  • 2. Topics • Who is Okta • Okta Engineering—How Do We work, how do we ship our code? • The Challenge of the Developer Productivity Team • A CI System with Amazon EC2 Container Service and Docker
  • 3. Okta: Connect Everything • Connects all users, devices, applications, and organizations • SSO, Adaptive MFA, Provisioning, Universal Directory, Mobility • The broadest and deepest application network Leader: Okta Magic Quadrant Leader: Okta Forrester Wave What We Do We believe that connecting everything will make organizations more productive and more secure. What We Believe We Make Customers Successful
  • 4. © Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Millions of people use Okta every dayMillions of people use Okta every day
  • 5. © Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 5 Thousands of enterprises use Okta to connect to Adobe’s Creative Cloud jim@designer.com
  • 6. © Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 6 Thousands of Enterprise Customers Ed, Gov, Non-Profit Services Media ConsumerTechnology Manufacturing, Energy FinanceCloudHealth
  • 7. © Okta and/or its affiliates. All rights reserved. Okta Confidential 7© Okta and/or its affiliates. All rights reserved. Okta Confidential 7 Okta Application Network Mobility Management Single Sign On Adaptive MFA Provisioning Universal Directory Extensible Profiles, Attribute Transformations, Directory Integration and AD Password Management Secure SSO for All Your Web Apps, On-prem and Cloud, with Flexible Policy, from Any Device Contextual Access Policies, Modern Factors, Adaptive Authentication, Integrations for Apps and VPNs Lifecycle Management, Cloud & On-prem App Integration, Mastering from Apps, Directory Provisioning, Rules, Workflow, Reporting Tight User Identity Integration, Device Based Contextual Access, Light-weight Management Okta IT & Platform products
  • 8. © Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 8 The most reliable IDaaS available Never taken offline for upgrades Redundant and scalable A B C A B C DC2 DC1 okta.com/trust A Platform Architecture For Scale DATA TIER A B C LOAD BALANCERS APP SERVERS
  • 9. © Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential© Okta and/or its affiliates. All rights reserved. Okta Confidential 9 Global Datacenters
  • 11. Okta Engineering—How Do We work, how do we ship our code? • 200 engineers, split into teams with embedded specialists • 1 week sprints, and deploy to production weekly • Capability to do more than one hotfix per day at customers’ request or for bugs found in CI or pre-prod • Every merge to master is a potential release candidate
  • 12. Okta Engineering—How Do We Test Our Code? • Every topic branch goes through the same amount of vigor in testing as release candidate. • Passing automated tests is enforced at commit time. • Largest repo: 30K tests, takes 60 minutes (22 parallel runs) • Smallest repo: 100 tests, 5 minutes • The Developer Productivity team is responsible for supporting engineering.
  • 13. Challenge of Developer Productivity Team • Developer experience • Quality • Cost • Cloud First
  • 14. Challenge of Developer Productivity Team • Developer experience • Quality • Cost • Cloud First Developers expect fast turn- around time and reliable results.
  • 15. Challenge of Developer Productivity Team • Developer experience • Quality • Cost • Cloud First We need to run all the tests required to guarantee quality.
  • 16. Challenge of Developer Productivity Team • Developer experience • Quality • Cost • Cloud First We need to run an infrastructure which is as cost- effective as possible
  • 17. Challenge of Developer Productivity Team • Developer experience • Quality • Cost • Cloud First We aim to use cloud services first, wherever possible
  • 19. CI using Open Source, Monolithic Applications
  • 21. Vision • Clean testing environments • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security
  • 22. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Isolate test environments from others, parallel and serial runs
  • 23. Vision • Clean testing environments • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Workers should survive the loss of their build server Worker pool should scale quickly Number of workers should not affect memory footprint of build server
  • 24. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Run our services for cheaper rates, as we have many short lived tasks, and could certainly handle a few failures
  • 25. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Enable testing of infrastructure changes in topic branches
  • 26. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Should survive build server reboots Shouldn’t be tied to specific workers or build servers Centralized Should have good visibility Re-queuing of lost tasks
  • 27. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Push testing and creation of test machines to developers
  • 28. Vision • Clean testing environment • Dynamic worker scaling • Spot instances for cost • Versioned Testing • Improved queuing system • Less Infrastructure Flakiness • The correct privileges, to maintain security Launch tasks in secure environments
  • 30. EC2 Container Service and Docker • Amazon Web Services + Java app tailored to Okta process • Immutable and Disposable build workers—created for one-time use, destroyed when job is done • Near ZERO cost on weekends, scales with load • EC2 Container Service allows us to maximize usage of EC2 instances • Same containers for multiple types and numbers of builds • Same Machine Image can run multiple docker images
  • 33. Docker Update • Update Dockerfile and our CI system builds the new image, uploading it to our repository • Update task definition for cluster updates
  • 34. Dockerfile FROM docker.aue1d.saasure.com/okta-base:2.0 MAINTAINER Okta RUN useradd -d /home/container_user -m -s /bin/bash container_user # Install wget, tar, hostname RUN yum install -y wget tar hostname # Install Java 8 RUN yum install -y java-1.8.0-oracle-1.8.0_31 RUN mkdir -p /opt/sage RUN mkdir -p /var/log/sage RUN chown container_user /var/log/sage ADD conf/* /opt/sage/conf/ ADD core/target/core-*.jar /opt/sage/sage.jar EXPOSE 8882 8883 USER container_user CMD java $OKTA_SAGE_JAVA_ARGS -jar /opt/sage/sage.jar server /opt/sage/conf/sage.yml
  • 35. Docker Security Conventions Container repository • Only allow containers from internal repository Security scanning of containers - JFrog Xray Process monitoring on docker host – cAdvisor from google Secrets or any form of config NEVER baked in containers Start from minimal, audited base OS Run container as non-privileged user w/ user namespaces Docker 1.10+ Monitor alas.aws.amazon.com for critical updates
  • 36. Docker Source Conventions 3 categories of container definitions 1. “Library” definitions used as the basis for building other images 2. Third-party service definitions e.g. Zookeeper or Elasticsearch 3. Internal service definitions Repo per internal service • Dockerfile in same repo => image versioned with code • Docker compose for running dependent services • Pegged versions (no builds) Single repo for library and third-party service definitions
  • 37. Docker Build Conventions Integration tests run against code running in container Build owns creating immutable version and publishing to artifact server Strict rules around “FROM” clause • Must point at internal artifact server • Must be tagged following SEMVER-SHORT_SHA convention • Never allow missing or use of “latest” tag for repeatable builds
  • 39. © Okta and/or its affiliates. All rights reserved. Logging and monitoring • Logging • All output streams pipe to STDOUT/STDERR of the running process • Log forwarding is provided by underlying host • Log entries contain • Host • Container Id • Image name & version • Request Id • Metrics • Host level, generic container metrics provided by host • App level metrics published directly to well defined endpoints
  • 40. Amazon EC2 Container Service • ECS Under The Hood
  • 41. Amazon EC2 Container Service Host Management Userdata installs: • Slave terminator – T-800 • Base docker images an option • Credentials – from s3 • Splunk Forwarder – logging • Cluster target • Cache – code and libs
  • 42. Amazon EC2 Container Service Identity and Access Management separation per service • Either service per cluster or use new Identity and Access Management for Elastic Container Service functionality Sharing the docker daemon to allow running docker within docker Pre-fetching large data blobs and making them available on the hosts is an option Multiple containers: mysql, redis, kinesilite
  • 43. Task Definitions { "taskDefinitionArn": "arn:aws:ecs:us-east-1:262205085595:task-definition/base-container-box- task:1", "containerDefinitions": [ { "memory": 15000, "essential": true, "mountPoints": [ { "containerPath": "/usr/bin/docker", "sourceVolume": "docker_daemon", "readOnly": null }, { "containerPath": "/var/run/docker.sock", "sourceVolume": "docker_socket", "readOnly": null }
  • 44. Task Definitions ], } ], "volumes": [ { "host": { "sourcePath": "/var/run/docker.sock" }, "name": "docker_socket" }, { "host": { "sourcePath": "/usr/bin/docker" }, "name": "docker_daemon" } ], "family": "base-container-box-task”
  • 45. Clean Testing Environments • Docker images • Nearly instant machine refresh • Easy for users to create and upload images that have been tested to work locally • Efficient Machine use • Amazon EC2 Container Service with EC2 Container Repository and private repository backend
  • 48. Dynamic Worker Scaling Lambda allocates jobs using bin packing This is one of the changes we had to make in order to use EC2 Container Service for long running tasks, rather than services spread across many stateless instances Disconnects unneeded nodes from cluster allowing themselves to self terminate when they are idle VS
  • 49. Dynamic Worker Scaling Lambda allocates jobs using bin packing This is one of the changes we had to make in order to use EC2 Container Service for long running tasks, rather than services spread across many stateless instances Disconnects unneeded nodes from cluster allowing themselves to self terminate when they are idle VS
  • 50. Dynamic Worker Scaling Lambda allocates jobs using bin packing This is one of the changes we had to make in order to use EC2 Container Service for long running tasks, rather than services spread across many stateless instances Disconnects unneeded nodes from cluster allowing themselves to self terminate when they are idle VS
  • 51. Dynamic Worker Scaling Lambda allocates jobs using bin packing This is one of the changes we had to make in order to use EC2 Container Service for long running tasks, rather than services spread across many stateless instances Disconnects unneeded nodes from cluster allowing themselves to self terminate when they are idle VS
  • 52. Dynamic Worker Scaling` Lambda allocates jobs using bin packing This is one of the changes we had to make in order to use EC2 Container Service for long running tasks, rather than services spread across many stateless instances Disconnects unneeded nodes from cluster allowing themselves to self terminate when they are idle VS
  • 57. Versioned Jobs Scripts checked into repositories Makes a transition to Docker jobs easy
  • 58. Versioned Jobs With EC2 Container Service • Versioned build and test scripts can now be run in versioned docker containers, using versioned task definitions • Creates extreme flexibility • Cloud formation allows us to stand up whole new clusters with all different versions in a matter of minutes for long term testing
  • 59. EC2 Container Service + Docker Problems • Docker containers not launching • EC2 Container Service agent failing • Docker containers stopping • Incompatibility with certain services • Docker OS availability • Cleanup • Image size
  • 60. © Okta and/or its affiliates. All rights reserved. • Elastic Load Balancer • Dynamic port mapping to containers • Fail health based on HTTP return code • Different health endpoint for adding vs removing • Bin packing scheduler • Could provide better cost management reporting and tools • Ability to mark container instances as un-schedulable • Remove sharp edges around the stopped state • Give Auto Scaling Groups ability to set Elastic Compute Cloud instance ”shutdown behavior” • Periodic cleanup process in Elastic Container Service to deregister stopped instances EC2 Container Service Feature Requests
  • 61. © Okta and/or its affiliates. All rights reserved. • /etc/ecs/ecs.config • ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION for forensics (default 1hr) • ECS_LOGLEVEL=debug • Beware of running services in same cluster that use the same ports • Tune Elastic Load Balancer health check • Docker 1.10 for security enhancements • Canary & Blue/Green separate service attached to same Elastic Load Balancer • Rollback is trivial • Elastic Container Service is incredibly easy to get up and running • The ecosystem is changing quickly, we are moving cautiously • Holding off on stateful services in Docker EC2 Container Service Takeaways
  • 62. Amazon Web Services Elastic Compute Cloud Simple Queue Service LambdaEC2 Container Service Simple Storage Service Relational Database Service Kinesis EC2 Spot Instances EC2 Container Registry CloudFormation Simple Notification Service CloudWatch CloudTrail
  • 63. Building CI with Amazon Web Services
  • 65. Expand Use • Use EC2 Container Service for more services • Allow Developers to control their test suites and Docker images more directly • Developer Environments • Use docker for local long running services • Use a VM running the same version OS • Remote updates to keep it in line with CI • Aim to enable running CI containers right out of the box
  • 66. Result: Happy Engineering Team • Developers can write more tests quicker. • Happy devs, timely build/test status feedback. • Happy quality team, all tests are run at each commit. • Happy ops team, release candidate produced quickly. • Happy management, infra budget is under control.
  • 67. Thank You Join us @Okta - www.okta.com/company/careers/ stackshare.io/okta/okta