Containers allow you to easily package your application's code, configurations, and dependencies into easy-to-use building blocks that deliver environmental consistency, operational efficiency, developer productivity, and version control. Containers can help ensure that applications deploy quickly, reliably, and consistently regardless of deployment environment. Running containers in the AWS Cloud allows you to build robust, scalable applications and services by leveraging benefits such as elasticity, availability, security, and economies of scale.

In this track, you will learn how to run Docker-enabled applications on AWS. We will demonstrate how microservices, an architectural pattern well suited for containers, can be easily deployed using AWS Elastic Beanstalk. We will dive deep into Amazon EC2 Container Service (ECS) and we will explore how Amazon ECS can be integrated with other AWS services such as AWS CodePipeline and AWS CloudWatch. We will discuss how Amazon ECS can be extended and integrated with other scheduling frameworks, such as Apache Mesos.

Level: Getting Started | Technical Session

Time: 10:00am - 11:00am

AWS is an elastic, secure, flexible, and developer-centric ecosystem that serves as an ideal platform for Docker deployments. AWS offers the scalable infrastructure, APIs, and SDKs that integrate tightly into a development lifecycle and accentuate the benefits of the lightweight and portable containers that Docker offers to its users. This session will familiarize you with the benefits of containers, introduce Amazon EC2 Container Service (ECS), and demonstrate how to use Amazon ECS for your applications.

Level: Getting Started | Technical Session

Time: 12:30pm - 1:30pm

In this session, we introduce you to a solution for easily running a Docker-powered microservices architecture on AWS using Elastic Beanstalk. We will also cover the fundamentals of Elastic Beanstalk and how it benefits developers looking for a quick and scalable way to get their applications running on AWS with no infrastructure work required. In the second half of the session Sean O’Brien, engineer at Prezi, will share how Prezi is using Elastic Beanstalk to build microservices for its entire development team.

Building a microservices architecture using Docker can require a lot of work, from launching and operating the underlying infrastructure to installing and maintaining cluster management software. With AWS Elastic Beanstalk’s multicontainer support feature, many of these tasks are simplified and abstracted away so you can focus on your application code. AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker. Elastic Beanstalk leverages Amazon EC2 Container Service for its container management capabilities.

Level: Deep Dive | Technical Session

Time: 1:45pm - 2:45pm

Running and managing large scale applications with microservices architectures can be difficult and often requires operating complex container management infrastructure. Amazon EC2 Container Service (ECS) is a highly scalable, high performance service for running and managing Docker applications. In this session, we will walk through a number of patterns and tools used by our customers to run their applications on Amazon ECS. We will show you how to setup, manage, and scale your Amazon ECS resources, and keep them secure. We will also discuss how to monitor your containerized application running on Amazon ECS and we'll provide best practices for logging and service discovery.

Level: Getting Started | Technical Session

Time: 3:00pm - 4:00pm

Keeping consistent environments across your development, test, and production systems can be a complex task. Docker containers offer a way to develop and test your application in the same environment in which it runs in production. You can use tools such as Docker Compose for local testing of applications; Jenkins and AWS CodePipeline for code builds and workflow automation; and Amazon EC2 Container Service (ECS) to manage and scale containers.

In this session, you will learn how to build containers into your continuous deployment workflow and orchestrate container deployments using Amazon ECS.

Level: Deep Dive | Technical Session

Time: 4:15pm - 5:15pm

One of the core principles behind the design of Amazon ECS is the separation of the scheduling logic from the state management. This allows you to use the Amazon ECS schedulers, write your own schedulers, or integrate with third party schedulers.

In this session we will explore the advanced cluster management capabilities of Amazon ECS and dive deep into the Amazon ECS Service Scheduler, which supports long-running applications by monitoring container health, restarting failed containers, and load balancing across containers. We will explain how you can communicate with the Amazon ECS API in order to integrate your own custom schedulers. We will then walk through how we built an Apache Mesos scheduler driver that enables you to integrate Mesos scheduling frameworks to work with Amazon ECS without requiring a Mesos cluster. We will also demo using Marathon to schedule Docker containers on an Amazon ECS cluster.