37

KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Embed Size (px)

Citation preview

Page 1: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 2: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

BACKING PROXIMITY

ChatOps and Automatic Deployment on k8s

Andreas Heim, Lead Platform Engineer [email protected]

@heim @unacast

Page 3: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

“Unacast is one of the top 10 global companies in the 3,5$ billion retail

analytics industry”

“Unacast: The Prototype for the New Advertising

Generation”

Winner of “Best new Nordic company”

BACKING PROXIMITY

The #1 platform connecting customers’ physical behaviour from beacons and other sensors to online marketing platforms Offices in Oslo, NYC, London and San Francisco

PROX Retargeting network: 46+

partners

Currently 1 000 000 sensors

connected to the

network

Proxbook directory: 285

members

Page 4: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Why does Unacast Exist?

Page 5: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

BACKING PROXIMITY

The World is Being Sensored Up!

Source: Proxbook Q4 Report www.proxbook.com

Page 6: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

BACKING PROXIMITY

Page 7: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Push notifications: In-store experience and

increased basket size

The traditional approach

Added opportunities with PROXRetargeting:

Leverage proximity data, get customers back to

store

BACKING PROXIMITY

Page 8: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 9: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

BACKING PROXIMITY

Page 10: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

App Engine

Datastore

Pub/SubDataflow

BigQuery

Container Engine

Dataflow

Page 11: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

dev == prod

Page 12: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

ChatOps??!?11

Page 13: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 14: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

• Copy the files from your computer to production fileshare • Send a jar to the sysadmin • Run a deploy-script from your local computer • Git push to production • Use Jenkins or a custom UI to do deployments • ChatOps

Page 15: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Send jar via email

Local script

git push to production

Central UI

ChatOps

Repeatable Transparent Arena for discussion

Page 16: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

soft pipeline

Page 17: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 18: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 19: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 20: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 21: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 22: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 23: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

But hey, k8s what?

Page 24: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Deploy scripts

• Check that dependencies are in present • Creating a Replication Controller if none exist • Updating the Replication Controller if exists • Performing rolling update

Page 25: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Heaven passes info to our scripts

• Branch • Sha • Environment

Page 26: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 27: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

https://gist.github.com/heim/3881e4c62a01f17255f9

Page 28: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Caveats

• None

Page 29: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Future plans

• Shorten container build time • Automated canary releases • Manage infrastructure • Deployment API

Page 30: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Emerging patterns

• nginx-ssl-proxies • certificates in secrets • discovery by dns

• environment discovery • one cluster per environment • building containers == slow

Page 31: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Where to start

• Start with monitoring • Make stable deploy scripts that do not require a lot of

parameters • Test locally first • Slowly does it • Avoid channel spamming

Page 32: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

http://labs.unacast.com/

Page 33: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 34: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 35: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 36: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
Page 37: KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

We are hiring http://thetwenty.jobs