KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes

Preview:

Citation preview

BACKING PROXIMITY

ChatOps and Automatic Deployment on k8s

Andreas Heim, Lead Platform Engineer andreas.heim@unacast.com

@heim @unacast

“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

Why does Unacast Exist?

BACKING PROXIMITY

The World is Being Sensored Up!

Source: Proxbook Q4 Report www.proxbook.com

BACKING PROXIMITY

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

BACKING PROXIMITY

App Engine

Datastore

Pub/SubDataflow

BigQuery

Container Engine

Dataflow

dev == prod

ChatOps??!?11

• 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

Send jar via email

Local script

git push to production

Central UI

ChatOps

Repeatable Transparent Arena for discussion

soft pipeline

But hey, k8s what?

Deploy scripts

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

Heaven passes info to our scripts

• Branch • Sha • Environment

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

Caveats

• None

Future plans

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

Emerging patterns

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

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

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

http://labs.unacast.com/

We are hiring http://thetwenty.jobs

Recommended