docker, containers & creating ... - information services · storage & content delivery...

34
Docker, containers & creating scalable, reproducible, workflows in the cloud Ian Muñoz - Computational Scientist

Upload: others

Post on 28-May-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Docker, containers & creating scalable, reproducible, workflows in the cloud

Ian Muñoz - Computational Scientist

Page 2: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Docker, containers & creating scalable, reproducible, workflows in the cloud

Ian Muñoz - Computational Scientist

Page 3: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Who is this guy?

Page 4: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

● Docker● AWS● Demos● Thoughts & Questions

Page 5: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Docker: A container platform

Page 6: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What is a container?

A “container” is just a term people use to describe a combination of Linux namespaces and cgroups. Linux namespaces and cgroups ARE first class objects. NOT containers.

-Jessie Frazelle https://blog.jessfraz.com/post/containers-zones-jails-vms/

Page 7: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Infrastructure as code (IaC):

is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.

https://en.wikipedia.org/wiki/Infrastructure_as_Code

Page 8: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway
Page 9: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway
Page 10: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

DockerfileFROMRUNCMDLABELMAINTAINEREXPOSEENVADDCOPYENTRYPOINTVOLUMEUSERWORKDIRARGONBUILDSTOPSIGNALHEALTHCHECKSHELL

Page 11: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Docker Swarm (mode)

Page 12: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Cluster managementDecentralized designDeclarative service modelScalingDesired state reconciliationMulti-host networkingService discoveryLoad balancingSecure by defaultRolling updates

Benefits:

Page 13: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

NIST: “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Definition: Cloud Computing

http://trade.gov/topmarkets/pdf/Cloud_Computing_Top_Markets_Report.pdf

Page 14: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

● ~70% of IT professionals are using the cloud in some shape or form.

● 1.5 clouds on average

● Professionals are using between 1 and 6 clouds

● There are many clouds

● The cloud ultimately provides:

○ infrastructure (IaaS)

○ platforms (Paas)

○ software (Saas)

http://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2017-state-cloud-survey

Page 15: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What is AWS (Amazon Web Services)?

Page 16: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What is AWS (Amazon Web Services)?

Page 17: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What is AWS (Amazon Web Services)?

Page 18: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What is AWS (Amazon Web Services)?

Page 19: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Storage & Content Delivery

Amazon Simple Storage Service

Amazon Elastic Block Store

AWS Import/Export

AWS Storage Gateway

Amazon S3 bucket bucket with objects

object AWS Import/Export

AWS Storage Gatewayvolume snapshotAmazon EBS

cached volume

virtual tape library

non-cached volume

Page 20: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Compute & NetworkingAmazon Elastic Compute Cloud

Amazon EC2 instance instances AMI DB on instance

instance with CloudWatch

Elastic IP optimized instance

Amazon Lambda

Amazon Virtual Private Cloud

Amazon VPC router Internet gateway

customer gateway

virtual private gateway

VPN connection

VPC peering

Page 21: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Amazon Databases

tableDynamoDB item items attribute attributes

Amazon RDS RDS DB instance

RDS DB instance standby

(Multi-AZ)

RDS DB instance read

replica

MySQL DB instance

Oracle DB instance

MS SQL instance

global secondary

index

AWS OpsWorks

AWS OpsWorks layersstack instances apps

monitoring

deployment

permissionsresources

Amazon Simple Queue Service

Amazon Simple Workflow

Amazon SQS queue message Amazon SWF decider worker

Elastic Transcoder

Amazon Elastic MapReduce

Amazon EMR cluster MapR M3 engine MapR M5 engine

MapR M7 engine

engine

Amazon Kinesis Kinesis-enabled app

AWS Data Pipeline

Page 22: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway
Page 23: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

http://repository.wellesley.edu/cgi/viewcontent.cgi?article=1472&context=thesiscollection

Page 24: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

https://www.cloudyn.com/blog/analyzing-aws-ec2-price-drops-over-the-past-5-years/

Page 25: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Inspired by: https://aws.amazon.com/blogs/compute/better-together-amazon-ecs-and-aws-lambda/

Original Design

Page 26: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

BatchProcessing

Where does your data live?

How does it getTo the cloud?

Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.–Andrew Tanenbaum, 1981 https://what-if.xkcd.com/31/

Page 27: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Simple Queue Service

Elastic Container Service

Page 28: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Potential Issues with the cloud...

Page 29: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What’s next?

Page 30: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

What’s next?

● GPU Cluster● Amazon EFS● Better State (Dynamo)● More automated configuration● Better Spot configuration

Page 31: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Things I am excited about

More dynamic GPUs

Abstracting batch processing

Page 32: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway

Thank You!

[email protected]

Page 33: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway
Page 34: Docker, containers & creating ... - Information Services · Storage & Content Delivery Amazon Simple Storage Service Amazon Elastic Block Store AWS Import/Export AWS Storage Gateway