SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container Power Hour with Jess,
Clare, and Abby
Jess Frazelle, GitHub
Clare Liguori, AWS
Abby Fuller, AWS
C O N 3 6 2
Agenda
• Welcome!
• What is GitOps anyways?
• Continuous integration, preview environments, and PR bots
• Demo time! GitHub Actions and AWS Fargate
• Questions?
Welcome!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“GitOps: versioned CI/CD on top of
declarative infrastructure. Stop scripting
and start shipping.”
— @kelseyhightower
Simply put, everything is managed as
code, as part of a git workflow.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
configuration references to
environment variables (not the actual secret!)
code documentation
With GitOps, this all belongs in version control.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Tie work to commits, to pull requests, to merges, to deploys
Easier to debug, review, and roll back
Can view the impact of changes and merge conflicts
Feature-driven development
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ git checkout -b new-branch
Switched to a new branch 'new-branch'
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
$ git add -a
$ git commit -m “adding support for feature”
$ git push origin new_branch
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
infrastructure
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Integration
+
Containers
=
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
No CI = Sad Team
#teamchat
abby: Nothing will compile for me
clare: When’s the last time we did a full build?
abby: Three months ago, I think
clare: A lot could have broken since then…
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Start with Classic CI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Start with Classic CI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does Classic CI get better
with containers?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does Classic CI get better
with containers?
It’s easier!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Classic CI + Dockerfiles =
FROM python:2.7-alpine
WORKDIR /opt/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY ./app /opt/app
EXPOSE 80
CMD ["python", "service.py"]
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Classic CI + Dockerfiles =
FROM node:10.12.0-alpine
RUN npm install -g npm@6.4.1
WORKDIR /opt/app
COPY app/package.json app/package-lock.json ./
RUN npm ci
COPY ./app /opt/app
EXPOSE 80
CMD [ "node", "service.js" ]
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Classic CI + Dockerfiles =
FROM ubuntu:14.04.5
ENV DOCKER_BUCKET="download.docker.com" DOCKER_VERSION="17.09.0-ce" DOCKER_CHANNEL="stable" DOCKER_SHA256="a9e90a73c3cdfbf238f148e1ec0eaff5eb181f92f35bdd938fd7dab18e1c4647"
DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" DOCKER_COMPOSE_VERSION="1.21.2" GITVERSION_VERSION="3.6.5"
# Install git, SSH, and other utilities
RUN set -ex && echo 'Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/99use-gzip-compression && apt-get update && apt install -y apt-transport-https && apt-key adv --keyserver
hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && echo "deb https://download.mono-project.com/repo/ubuntu stable-trusty main" | tee /etc/apt/sources.list.d/mono-
official-stable.list && apt-get update && apt-get install software-properties-common -y --no-install-recommends && apt-add-repository ppa:git-core/ppa && apt-get update && apt-get install git=1:2.*
-y --no-install-recommends && git version && apt-get install -y --no-install-recommends openssh-client=1:6.6* && mkdir ~/.ssh && touch ~/.ssh/known_hosts && ssh-keyscan -t rsa,dsa -H github.com >>
~/.ssh/known_hosts && ssh-keyscan -t rsa,dsa -H bitbucket.org >> ~/.ssh/known_hosts && chmod 600 ~/.ssh/known_hosts && apt-get install -y --no-install-recommends wget=1.15-* python=2.7.* python2.7-
dev=2.7.* fakeroot=1.20-* ca-certificates tar=1.27.* gzip=1.6-* zip=3.0-* autoconf=2.69-* automake=1:1.14.* bzip2=1.0.* file=1:5.14-* g++=4:4.8.* gcc=4:4.8.* imagemagick=8:6.7.* libbz2-dev=1.0.*
libc6-dev=2.19-* libcurl4-openssl-dev=7.35.* libdb-dev=1:5.3.* libevent-dev=2.0.* libffi-dev=3.1~* libgeoip-dev=1.6.* libglib2.0-dev=2.40.* libjpeg-dev=8c-* libkrb5-dev=1.12+* liblzma-dev=5.1.*
libmagickcore-dev=8:6.7.* libmagickwand-dev=8:6.7.* libmysqlclient-dev=5.5.* libncurses5-dev=5.9+* libpng12-dev=1.2.* libpq-dev=9.3.* libreadline-dev=6.3-* libsqlite3-dev=3.8.* libssl-dev=1.0.*
libtool=2.4.* libwebp-dev=0.4.* libxml2-dev=2.9.* libxslt1-dev=1.1.* libyaml-dev=0.1.* make=3.81-* patch=2.7.* xz-utils=5.1.* zlib1g-dev=1:1.2.* unzip=6.0-* curl=7.35.* e2fsprogs=1.42.*
iptables=1.4.* xfsprogs=3.1.* xz-utils=5.1.* mono-devel less=458-* groff=1.22.* liberror-perl=0.17-* asciidoc=8.6.* build-essential=11.* bzr=2.6.* cvs=2:1.12.* cvsps=2.1-* docbook-xml=4.5-*
docbook-xsl=1.78.* dpkg-dev=1.17.* libdbd-sqlite3-perl=1.40-* libdbi-perl=1.630-* libdpkg-perl=1.17.* libhttp-date-perl=6.02-* libio-pty-perl=1:1.08-* libserf-1-1=1.3.* libsvn-perl=1.8.*
libsvn1=1.8.* libtcl8.6=8.6.* libtimedate-perl=2.3000-* libunistring0=0.9.* libxml2-utils=2.9.* libyaml-perl=0.84-* python-bzrlib=2.6.* python-configobj=4.7.* sgml-base=1.26+* sgml-data=2.0.*
subversion=1.8.* tcl=8.6.* tcl8.6=8.6.* xml-core=0.13+* xmlto=0.0.* xsltproc=1.1.* && rm -rf /var/lib/apt/lists/* && apt-get clean
# Download and set up GitVersion
RUN set -ex && wget "https://github.com/GitTools/GitVersion/releases/download/v${GITVERSION_VERSION}/GitVersion_${GITVERSION_VERSION}.zip" -O /tmp/GitVersion_${GITVERSION_VERSION}.zip && mkdir -p
/usr/local/GitVersion_${GITVERSION_VERSION} && unzip /tmp/GitVersion_${GITVERSION_VERSION}.zip -d /usr/local/GitVersion_${GITVERSION_VERSION} && rm /tmp/GitVersion_${GITVERSION_VERSION}.zip && echo
"mono /usr/local/GitVersion_${GITVERSION_VERSION}/GitVersion.exe $@" >> /usr/local/bin/gitversion && chmod +x /usr/local/bin/gitversion
# Install Docker
RUN set -ex && curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz && echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - && tar -
-extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ && rm docker.tgz && docker -v && addgroup dockremap && useradd -g dockremap dockremap && echo 'dockremap:165536:65536'
>> /etc/subuid && echo 'dockremap:165536:65536' >> /etc/subgid && wget "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind && curl -L
https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/dind /usr/local/bin/docker-
compose && docker-compose version
# Install dependencies by all python images equivalent to buildpack-deps:jessie on the public repos.
RUN set -ex && wget "https://bootstrap.pypa.io/2.6/get-pip.py" -O /tmp/get-pip.py && python /tmp/get-pip.py && pip install awscli==1.* && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*
VOLUME /var/lib/dockeCOPY dockerd-entrypoint.sh /usr/local/bin/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Classic CI + Docker + Jenkins =
node {
checkout scm
docker.build("test-image")
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Classic CI + Docker + AWS CodeBuild =
version: 0.2
phases:
build:
commands:
- docker build -t test-image .
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Start with Classic CI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Add CI to Pull Requests
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does Pull Request CI get
better with containers?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does Pull Request CI get
better with containers?
It’s built on containers!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Pull Request CI + Containers =
FROM docker:dind
RUN apk update && apt upgrade && apt add curl wget bash git
# Install Ruby
RUN apk add ruby ruby-bundler
# Install docker-compose
RUN curl -L
https://github.com/docker/compose/releases/download/1.23.1/docker-compose-
Linux-x86_64 -o /usr/local/bin/docker-compose
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Pull Request CI + Containers + AWS CodeBuild =
version: 0.2
phases:
install:
commands:
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --
host=tcp://127.0.0.1:2375 --storage-driver=overlay&
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
build:
commands:
- docker build -t my-app .
- docker-compose up -d
- rake test
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s next for containers + CI?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s next for containers + CI?
Continuous testing in pull requests:
Use containers and infrastructure-as-code
to validate an environment before merging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Modern Application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Modern Application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Modern Application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Testing of Containers
Validate an artifact (Build)
• Build image
• Run unit tests with mocked
dependencies and
environments
• Test image with local
dependencies
Validate an environment (Test)
• Provision containers in
“preview” cloud environment
• Run integration tests against
real dependencies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Testing of Containers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Testing of Containers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Demo: @clare-bot
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GitHub Actions enable you to automate
your workflows from idea to production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@jessfraz
@clare_Liguori
@abbyfuller
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...
Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...
Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...Amazon Web Services
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Amazon Web Services
 
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018Amazon Web Services
 
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Amazon Web Services
 
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Amazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018Amazon Web Services
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Amazon Web Services
 
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with Fargate
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with FargateDEM07 Best Practices for Monitoring Amazon ECS Containers Launched with Fargate
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with FargateAmazon Web Services
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Amazon Web Services
 
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...Amazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Amazon Web Services
 
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...Amazon Web Services
 
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...Amazon Web Services
 
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...Amazon Web Services
 
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Amazon Web Services
 
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...Amazon Web Services
 
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018Amazon Web Services
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Amazon Web Services
 

Was ist angesagt? (20)

Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...
Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...
Reuters Lives: Scaling & Monitoring Live Video in the Cloud (DEV316-S) - AWS ...
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
 
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018
A Few Milliseconds in the Life of an HTTP Request (CTD416) - AWS re:Invent 2018
 
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
 
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
 
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with Fargate
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with FargateDEM07 Best Practices for Monitoring Amazon ECS Containers Launched with Fargate
DEM07 Best Practices for Monitoring Amazon ECS Containers Launched with Fargate
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
 
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...
Mythical Mysfits: Management and Ops with AWS Fargate (CON322-R1) - AWS re:In...
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
 
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...
AWS re:Invent 2018: Deep Dive: Hybrid Cloud Storage Arch. w/Storage Gateway, ...
 
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...
IoT Microcontrollers and Getting Started with Amazon FreeRTOS (IOT338-R1) - A...
 
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...
Runtime Security across Kubernetes and AWS Fargate (CON317-R1) - AWS re:Inven...
 
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
 
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...
 
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018
Machine Learning at the IoT Edge (IOT214) - AWS re:Invent 2018
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
 

Ähnlich wie Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018

AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018Amazon Web Services Korea
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28Amazon Web Services
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
PHPアプリケーションのコンテナ化入門
PHPアプリケーションのコンテナ化入門PHPアプリケーションのコンテナ化入門
PHPアプリケーションのコンテナ化入門Amazon Web Services Japan
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...Amazon Web Services
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using ContainersAmazon Web Services
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon Web Services
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Amazon Web Services
 
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...Amazon Web Services
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018AWS Germany
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Ashley Roach
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitAmazon Web Services
 

Ähnlich wie Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018 (20)

AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
 
PHPアプリケーションのコンテナ化入門
PHPアプリケーションのコンテナ化入門PHPアプリケーションのコンテナ化入門
PHPアプリケーションのコンテナ化入門
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using Containers
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
 
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
 

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
 

Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container Power Hour with Jess, Clare, and Abby Jess Frazelle, GitHub Clare Liguori, AWS Abby Fuller, AWS C O N 3 6 2
  • 2. Agenda • Welcome! • What is GitOps anyways? • Continuous integration, preview environments, and PR bots • Demo time! GitHub Actions and AWS Fargate • Questions?
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5. “GitOps: versioned CI/CD on top of declarative infrastructure. Stop scripting and start shipping.” — @kelseyhightower
  • 6. Simply put, everything is managed as code, as part of a git workflow.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. configuration references to environment variables (not the actual secret!) code documentation With GitOps, this all belongs in version control.
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Tie work to commits, to pull requests, to merges, to deploys Easier to debug, review, and roll back Can view the impact of changes and merge conflicts Feature-driven development
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ git checkout -b new-branch Switched to a new branch 'new-branch'
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. $ git add -a $ git commit -m “adding support for feature” $ git push origin new_branch
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. infrastructure
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Integration + Containers =
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. No CI = Sad Team #teamchat abby: Nothing will compile for me clare: When’s the last time we did a full build? abby: Three months ago, I think clare: A lot could have broken since then…
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Start with Classic CI
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Start with Classic CI
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does Classic CI get better with containers?
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does Classic CI get better with containers? It’s easier!
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Classic CI + Dockerfiles = FROM python:2.7-alpine WORKDIR /opt/app COPY requirements.txt ./ RUN pip install -r requirements.txt COPY ./app /opt/app EXPOSE 80 CMD ["python", "service.py"]
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Classic CI + Dockerfiles = FROM node:10.12.0-alpine RUN npm install -g npm@6.4.1 WORKDIR /opt/app COPY app/package.json app/package-lock.json ./ RUN npm ci COPY ./app /opt/app EXPOSE 80 CMD [ "node", "service.js" ]
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Classic CI + Dockerfiles = FROM ubuntu:14.04.5 ENV DOCKER_BUCKET="download.docker.com" DOCKER_VERSION="17.09.0-ce" DOCKER_CHANNEL="stable" DOCKER_SHA256="a9e90a73c3cdfbf238f148e1ec0eaff5eb181f92f35bdd938fd7dab18e1c4647" DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" DOCKER_COMPOSE_VERSION="1.21.2" GITVERSION_VERSION="3.6.5" # Install git, SSH, and other utilities RUN set -ex && echo 'Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/99use-gzip-compression && apt-get update && apt install -y apt-transport-https && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && echo "deb https://download.mono-project.com/repo/ubuntu stable-trusty main" | tee /etc/apt/sources.list.d/mono- official-stable.list && apt-get update && apt-get install software-properties-common -y --no-install-recommends && apt-add-repository ppa:git-core/ppa && apt-get update && apt-get install git=1:2.* -y --no-install-recommends && git version && apt-get install -y --no-install-recommends openssh-client=1:6.6* && mkdir ~/.ssh && touch ~/.ssh/known_hosts && ssh-keyscan -t rsa,dsa -H github.com >> ~/.ssh/known_hosts && ssh-keyscan -t rsa,dsa -H bitbucket.org >> ~/.ssh/known_hosts && chmod 600 ~/.ssh/known_hosts && apt-get install -y --no-install-recommends wget=1.15-* python=2.7.* python2.7- dev=2.7.* fakeroot=1.20-* ca-certificates tar=1.27.* gzip=1.6-* zip=3.0-* autoconf=2.69-* automake=1:1.14.* bzip2=1.0.* file=1:5.14-* g++=4:4.8.* gcc=4:4.8.* imagemagick=8:6.7.* libbz2-dev=1.0.* libc6-dev=2.19-* libcurl4-openssl-dev=7.35.* libdb-dev=1:5.3.* libevent-dev=2.0.* libffi-dev=3.1~* libgeoip-dev=1.6.* libglib2.0-dev=2.40.* libjpeg-dev=8c-* libkrb5-dev=1.12+* liblzma-dev=5.1.* libmagickcore-dev=8:6.7.* libmagickwand-dev=8:6.7.* libmysqlclient-dev=5.5.* libncurses5-dev=5.9+* libpng12-dev=1.2.* libpq-dev=9.3.* libreadline-dev=6.3-* libsqlite3-dev=3.8.* libssl-dev=1.0.* libtool=2.4.* libwebp-dev=0.4.* libxml2-dev=2.9.* libxslt1-dev=1.1.* libyaml-dev=0.1.* make=3.81-* patch=2.7.* xz-utils=5.1.* zlib1g-dev=1:1.2.* unzip=6.0-* curl=7.35.* e2fsprogs=1.42.* iptables=1.4.* xfsprogs=3.1.* xz-utils=5.1.* mono-devel less=458-* groff=1.22.* liberror-perl=0.17-* asciidoc=8.6.* build-essential=11.* bzr=2.6.* cvs=2:1.12.* cvsps=2.1-* docbook-xml=4.5-* docbook-xsl=1.78.* dpkg-dev=1.17.* libdbd-sqlite3-perl=1.40-* libdbi-perl=1.630-* libdpkg-perl=1.17.* libhttp-date-perl=6.02-* libio-pty-perl=1:1.08-* libserf-1-1=1.3.* libsvn-perl=1.8.* libsvn1=1.8.* libtcl8.6=8.6.* libtimedate-perl=2.3000-* libunistring0=0.9.* libxml2-utils=2.9.* libyaml-perl=0.84-* python-bzrlib=2.6.* python-configobj=4.7.* sgml-base=1.26+* sgml-data=2.0.* subversion=1.8.* tcl=8.6.* tcl8.6=8.6.* xml-core=0.13+* xmlto=0.0.* xsltproc=1.1.* && rm -rf /var/lib/apt/lists/* && apt-get clean # Download and set up GitVersion RUN set -ex && wget "https://github.com/GitTools/GitVersion/releases/download/v${GITVERSION_VERSION}/GitVersion_${GITVERSION_VERSION}.zip" -O /tmp/GitVersion_${GITVERSION_VERSION}.zip && mkdir -p /usr/local/GitVersion_${GITVERSION_VERSION} && unzip /tmp/GitVersion_${GITVERSION_VERSION}.zip -d /usr/local/GitVersion_${GITVERSION_VERSION} && rm /tmp/GitVersion_${GITVERSION_VERSION}.zip && echo "mono /usr/local/GitVersion_${GITVERSION_VERSION}/GitVersion.exe $@" >> /usr/local/bin/gitversion && chmod +x /usr/local/bin/gitversion # Install Docker RUN set -ex && curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz && echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - && tar - -extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ && rm docker.tgz && docker -v && addgroup dockremap && useradd -g dockremap dockremap && echo 'dockremap:165536:65536' >> /etc/subuid && echo 'dockremap:165536:65536' >> /etc/subgid && wget "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind && curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/dind /usr/local/bin/docker- compose && docker-compose version # Install dependencies by all python images equivalent to buildpack-deps:jessie on the public repos. RUN set -ex && wget "https://bootstrap.pypa.io/2.6/get-pip.py" -O /tmp/get-pip.py && python /tmp/get-pip.py && pip install awscli==1.* && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/* VOLUME /var/lib/dockeCOPY dockerd-entrypoint.sh /usr/local/bin/
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Classic CI + Docker + Jenkins = node { checkout scm docker.build("test-image") }
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Classic CI + Docker + AWS CodeBuild = version: 0.2 phases: build: commands: - docker build -t test-image .
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Start with Classic CI
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Add CI to Pull Requests
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does Pull Request CI get better with containers?
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does Pull Request CI get better with containers? It’s built on containers!
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Pull Request CI + Containers = FROM docker:dind RUN apk update && apt upgrade && apt add curl wget bash git # Install Ruby RUN apk add ruby ruby-bundler # Install docker-compose RUN curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose- Linux-x86_64 -o /usr/local/bin/docker-compose
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Pull Request CI + Containers + AWS CodeBuild = version: 0.2 phases: install: commands: - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock -- host=tcp://127.0.0.1:2375 --storage-driver=overlay& - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" build: commands: - docker build -t my-app . - docker-compose up -d - rake test
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s next for containers + CI?
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s next for containers + CI? Continuous testing in pull requests: Use containers and infrastructure-as-code to validate an environment before merging
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Modern Application
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Modern Application
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Modern Application
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Testing of Containers Validate an artifact (Build) • Build image • Run unit tests with mocked dependencies and environments • Test image with local dependencies Validate an environment (Test) • Provision containers in “preview” cloud environment • Run integration tests against real dependencies
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Testing of Containers
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Testing of Containers
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Demo: @clare-bot
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 45. GitHub Actions enable you to automate your workflows from idea to production
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 48. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. @jessfraz @clare_Liguori @abbyfuller
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.