Azure
Event driven pipelines with Brigade
Justin Davies
Open Source Technical Sales Lead
@justindavies
Azure container strategy
Embrace containers as
ubiquitous
Support containers
across the compute
portfolio
Democratize container
technology
@justindavies
Azure container ecosystem
IaaSPaaS
Azure services
SQL Database
Redis Cache
CosmosDB
And more!
Partner services
OpenShift
Pivotal Cloud Foundry
Docker Enterprise
Edition
Mesosphere
DC/OS
Azure
Azure
Container
Registry
(ACR)
OSBA
Azure Container
Service (AKS)
ACS
Engine
Batch
Azure Container
Instances (ACI)
Azure Virtual
Machines
Virtual Machine
Scale Sets (VMSS)
Service Fabric
Virtual kubelet
App Service
@justindavies
Brigade
Run scriptable, automated tasks in the cloud — as part
of your Kubernetes cluster
Simple, powerful pipes
Each project gets a brigade.js config
file, which is where you can write
dynamic, interwoven pipelines and tasks
for your Kubernetes cluster
Runs inside your cluster
By running Brigade as a service inside
your Kubernetes cluster, you can harness
the power of millions of available Docker
images
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
@justindavies
Kashti
A simple UI to display build results and logs
Simple visualizations
A web dashboard for Brigade, helping to
easily visualize and inspect your Brigade
builds
Driving deep insights
Make Brigade DevOps workflows—
projects, scripts, and jobs—and their
events visible instantly
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
@justindavies
Brigade event pipelineAzure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
@justindavies
Brigade ArchitectureAzure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
@justindavies
@justindavies
apiVersion: v1
kind: Secret
metadata:
name: example
labels:
heritage: brigade
project: brigade-1234567890
build: 01C1R2SYTYAR2WQ2DKNTW8SH08
component: build
type: brigade.sh/build
data:
event_provider: github
event_type: push
revision:
commit: 6913b2703df943fed7a135b671f3efdafd92dbf3
ref: master
build_name: example
project_id: brigade-1234567890
build_id: 01C1R2SYTYAR2WQ2DKNTW8SH08
payload: "{ 'foo': 'bar' }"
script: "console.log('hello');"
Brigade event pipeline (GitHub)Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
@justindavies
GitHub eventsAzure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
push: Fired whenever something is pushed
pull_request: Fired whenever a pull request's state is changed. See
the action value in the payload, which will be one of the following:
• opened
• reopened
• Synchronize
pull_request:labeled: Fired whenever a label is added to a pull request.
pull_request:unlabeled: Label is removed from a pull request.
create: Fired when a tag, branch, or repo is created.
release: Fired when a new release is created.
status: Fired when a status change happens on a commit.
commit_comment: Fired when a comment is added to a commit.
@justindavies
Helm
The best way to find, share, and use software built
for Kubernetes
Manage complexity
Charts can describe complex
apps; provide repeatable app
installs, and serve as a single
point of authority
Easy updates
Take the pain out
of updates with in-place
upgrades and custom
hooks
Simple sharing
Charts are easy to
version, share, and host
on public or private
servers
Rollbacks
Use helm rollout to
roll back to an older
version of a release with
ease
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Helm
Helm Charts helps you define, install, and upgrade even
the most complex Kubernetes application
custom
services
Chart.yml
db
load balancer
ci
…
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools

Kube London May 2018

  • 1.
    Azure Event driven pipelineswith Brigade Justin Davies Open Source Technical Sales Lead @justindavies
  • 2.
    Azure container strategy Embracecontainers as ubiquitous Support containers across the compute portfolio Democratize container technology @justindavies
  • 3.
    Azure container ecosystem IaaSPaaS Azureservices SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Container Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service @justindavies
  • 4.
    Brigade Run scriptable, automatedtasks in the cloud — as part of your Kubernetes cluster Simple, powerful pipes Each project gets a brigade.js config file, which is where you can write dynamic, interwoven pipelines and tasks for your Kubernetes cluster Runs inside your cluster By running Brigade as a service inside your Kubernetes cluster, you can harness the power of millions of available Docker images Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools @justindavies
  • 5.
    Kashti A simple UIto display build results and logs Simple visualizations A web dashboard for Brigade, helping to easily visualize and inspect your Brigade builds Driving deep insights Make Brigade DevOps workflows— projects, scripts, and jobs—and their events visible instantly Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools @justindavies
  • 6.
    Brigade event pipelineAzureContainer Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools @justindavies
  • 7.
    Brigade ArchitectureAzure Container Service(AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools @justindavies
  • 8.
    @justindavies apiVersion: v1 kind: Secret metadata: name:example labels: heritage: brigade project: brigade-1234567890 build: 01C1R2SYTYAR2WQ2DKNTW8SH08 component: build type: brigade.sh/build data: event_provider: github event_type: push revision: commit: 6913b2703df943fed7a135b671f3efdafd92dbf3 ref: master build_name: example project_id: brigade-1234567890 build_id: 01C1R2SYTYAR2WQ2DKNTW8SH08 payload: "{ 'foo': 'bar' }" script: "console.log('hello');"
  • 10.
    Brigade event pipeline(GitHub)Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools @justindavies
  • 11.
    GitHub eventsAzure Container Service(AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools push: Fired whenever something is pushed pull_request: Fired whenever a pull request's state is changed. See the action value in the payload, which will be one of the following: • opened • reopened • Synchronize pull_request:labeled: Fired whenever a label is added to a pull request. pull_request:unlabeled: Label is removed from a pull request. create: Fired when a tag, branch, or repo is created. release: Fired when a new release is created. status: Fired when a status change happens on a commit. commit_comment: Fired when a comment is added to a commit. @justindavies
  • 12.
    Helm The best wayto find, share, and use software built for Kubernetes Manage complexity Charts can describe complex apps; provide repeatable app installs, and serve as a single point of authority Easy updates Take the pain out of updates with in-place upgrades and custom hooks Simple sharing Charts are easy to version, share, and host on public or private servers Rollbacks Use helm rollout to roll back to an older version of a release with ease Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 13.
    Helm Helm Charts helpsyou define, install, and upgrade even the most complex Kubernetes application custom services Chart.yml db load balancer ci … Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools