2. HELLO!
I am Jessica Deen
I am here because I love technology and
community.
I focus heavily on Linux, OSS, DevOps and
Containers.
I love Disney and CrossFit/Fitness.
You can find me at @jldeen on GitHub,
Twitter, and Instagram.
3. Disclaime
r
The next 30 minutes will NOT make
you an expert, but it will:
- Get you thinking
- Show you what’s possible
- Give you some sample code for you to get
started on your own time
4. GOING DIGITAL
12 years
average age of S&P
500 corporations
by 2020
1 million/hour
new devices
coming online
by 2020
60% computing
in the public cloud
by 2025
5. developers
I need to create applications
at a competitive rate without
worrying about IT
New applications run smoothly
on my machine but malfunction
on traditional IT servers
My productivity and application
innovation become suspended
when I have to wait on IT
6. IT
I need to manage servers
and maintain compliance
with little disruption
I’m unsure of how to integrate
unfamiliar applications, and I
require help from developers
I’m unable to focus on both
server protection and
application compliance
10. DevOps is the union of people,
process, and products to enable
continuous delivery of value to
our end users.
-Donovan Brown
http://bit.ly/WhatIs-DevOps
11. Key DevOps Practices
Infrastructure as
Code
Continuous
Integration
Continuous
Deployment
Automated Testing Release
Management
Performance
Monitoring
Availability
Monitoring
Load Testing &
Auto Scale
Automated
Recovery (Rollback
& Roll Forward)
12. DevOps Benefits
IT Performance Metrics
2015 2016 2017
Deployment
Frequency
30x more
frequent
200x more
frequent
46x more
frequent
Lead Time for
Changes
200x faster 2,555x faster 440x faster
Mean Time to
Recover
(MTTR)
168x faster 24x faster 96x faster
Change Failure
Rate
3x lower (1/3
as likely)
5x lower (1/5
as likely)
Source: https://puppetlabs.com
13. Developers
Enable ‘write-once, run-anywhere’ apps
Enables microservice architectures
Great for dev/test of apps and services
Production realism
Growing Developer Community
Operations
Portability, Portability, Portability
Standardized development, QA, and prod
environments
Abstract differences in OS distributions
and underlying infrastructure
Higher compute density
Easily scale-up and scale-down in response
to changing business needs
DevOps
14. Namespaces (what a
process can see)
PID
Mount
Network
UTS
IPC
User
Cgroup
What is a Container?
Cgroups (what a process
can use)
Memory
CPU
Blkio
Cpuacct
Cpuset
Devices
Net_prio
Not a real thing. An application delivery mechanism with
process isolation based on several Linux kernel features.
15. Open Source Container Runtime
Mac, Linux, Windows Support
Command Line Tool
“Dockerfile” format
The Docker image format with layered
filesystem
What is
18. Virtualization Containerization
Type 1
Hardware
Hypervisor 1
VM VM VM
Hardware
Type 2
Host OS
Hypervisor 2
VM VM VM
Virtual machine
Guest OS
Dependencies
Application
Hardware
Host OS
Docker Engine
Dependency 1 Dependency 2
C C C C C
Container
App dependencies
Application XYZ
Virtualization versus containerization
21. Features include:
Automatic bin packing
Self-healing
Horizontal scaling
Service discovery
Load balancing
Automated rollouts and rollbacks
Secret and configuration
management
What is a Kubernetes?
Open source container orchestrator that automates
deployment, scaling, and management of applications.
Designed by Google
Based on their
system used to
run BILLIONS of
containers per
week
Over 2,300
contributors
Graduated from CNCF
27. Easy to use:
Fastest path to Kubernetes on
Azure
Up and running with 3 simple
commands
I argue there are 2.5 commands
Why AKS?
Uses open APIs – 100% upstream Kubernetes
Easy to manage:
Automated upgrades
and patching
Easily scale the
cluster up and down
Self-healing control
plane
28. Getting Started with AKS
$ az aks create -g myResourceGroup -n myCluster --generate-ssh-keys
Running ..
$ az aks install-cli
Downloading client to /usr/local/bin/kubectl ..
$ az aks get-credentials -g myResourceGroup -n myCluster
Merged "myCluster" as current context ..
$ kubectl get nodes
NAME STATUS AGE VERSION
aks-mycluster-36851231-0 Ready 4m v1.8.1
aks-mycluster-36851231-1 Ready 4m v1.8.1
aks-mycluster-36851231-2 Ready 4m v1.8.1
29. Managing an AKS Cluster
$ az aks list –o table
Name Location ResourceGroup KubernetesRelease
ProvisioningState
------------------ ---------- -------------- ------------------- ------------
-------
myCluster westus2 myResourceGroup 1.7.7 Succeeded
$ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.8.1
Running ..
$ kubectl get nodes
NAME STATUS AGE VERSION
aks-mycluster-36851231-0 Ready 12m v1.8.1
aks-mycluster-36851231-1 Ready 8m v1.8.1
aks-mycluster-36851231-2 Ready 3m v1.8.1
$ az aks scale -g myResourceGroup -n myCluster --agent-count 10
Running ..
32. Release automation tools
Simplifying the Kubernetes experience
Streamlined
Kubernetes
development
The package
manager for
Kubernetes
Event-driven
scripting for
Kubernetes
Visualization
dashboard for
Brigade
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
33. 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 rollback
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
34. 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
Why is this transformation important? Let’s take a look at the next few years before us…
In 2020, 1 million new devices are expected to come online every hour. The connectivity between people and data is creating billions of new relationships that are driven not only by data but by algorithms that keep customers engaged and buying.*
In 2020, the average age of a S&P 500 corporation is expected to be 12 years old. Compare that to the S&P 500 in 1960 when the average age was 60 years old.**
By the year 2025, at least 60 percent of computing will be cloud-based, due to “everything-as-a-service” shifting fundamental changes in the IT industry.***
For digital transformation, mobility is the universal catalyst and cloud is the great enabler.
How are you planning for digital transformation? Do you have the right people and the right technology in place to build your digital vision?
How can you use technology to shape your future?
*http://www.gartner.com/newsroom/id/3142917
**http://upstart.bizjournals.com/resources/author/2015/06/04/fortune-500-must-disrupt-or-die-writes-r-ray-wang.html?page=all
***http://www.emersonnetworkpower.com/en-US/Latest-Thinking/Data-Center-2025/Documents/002401_DataCenter2025Report_HR_INTERACTIVE.PDF
Here’s what we hear from dev
Want to be able to move fast
Things to run smooth on their machine and production – dev / prod parity
Don’t want to be blocked on IT / ops team
IT
- wants to minimize risk
don’t really understand applications or what it takes to be a dev
Unable to do both infrastructure stuff and handle the application operations
Traditional model - Empathize, land the case for change based on change in business context
Take empathizing tone (don’t want to make this sound negative). We want them to realize that what customers have done may have worked in the past but they need to recognize the need for change as the business is changing rapidly.
Most companies are running custom apps that are stitched together, they have purpose-built hardware to think about, and have specialized teams, and everything has been carefully customized (over many years in some cases!).
Now as an enterprise, you did all this for all the right reasons, but you might consider that it might be holding our customers (and their business) back in many ways given that the business context has changed fundamentally. In this new age of apps, the old way of doing this is causing friction because IT isn’t moving as fast as business wants it to.
This is manifested in developers not getting the speed and freedom they need to create the best end-user experiences. That leads to lost productivity on their side, which results in ‘Shadow IT’. In 2015, 42% of the technology budget resides outside IT; this will grow to 50% by 2020 (Gartner). So this is real.
And we all know that while Shadow IT behaviors provide immediate gratification, it comes with risk.
Slide 8: Cloud model (Mark) – Empathize, ask customers to be change agents, land cloud principles.
Now let’s look at the cloud.
Everyone knows that the cloud offers agility and innovation. It’s proving itself to be the way forward for the modern enterprise and we’ll talk more about that in a bit.
But for some of our IT customers, the cloud might seem a little daunting.
They might be asking, “Is this something I want to lead the charge on? How does it help my career?”
The tension some of them experience is because you’re not sure if things are consistent with what you’re doing on-premises and it seems like it will be hard to manage.
There’s also a tension between developers who want speed and freedom (represented by business demands), and the IT folks who have to worry about things like security and compliance.
Bridge to our POV while bringing them along. Implore them to be change agents in their orgs.
But make no mistake about it – the cloud is the natural way forward for the rapidly evolving enterprise. Let’s all embrace it. In this context, we’re already seeing some leading indicators around “bi-modal“ IT among you: 45% of CIOs have a second, fast, mode of service delivery that complements their rock solid operations” (Gartner Symposium, Oct 2014). So there’s already some great progress that a lot of you seem to be driving. This is do-able. And we want our customers to be change agents in driving cloud adoption in your orgs.
Our POV
We believe that cloud is a model/architecture, not a location.
(Cloud-first principles as in the slide)
Turns out that Microsoft has been on its own cloud-first journey for many years and we have fully operationalized cloud-first in our hyper-scale datacenters. We’d like to share some of that next to help customers shortcut their journey.
Some may wonder why these gaps in year-over-year performance are widening or narrowing. It is important to note that all these measures are relative: They compare the difference between the high and low performers. Between 2016 to 2017, the gap for frequency of code deployments narrowed: High performers are still shipping code as the business demands, while low performers went from shipping between once per month and once every six months in 2016, to shipping between once per week and once per month in 2017. Low performers in 2017 have also reduced their lead time for changes: from between one month and six months in 2016 to between one week and one month. This change does not mean that high performers are no longer performing as well. It simply means that low performers are doing better with throughput than they were, on average, and we applaud them for this improvement. 2015 Report had 4,976 respondents with companies of ALL sizes and verticals.
Add in graphic from Codefresh layer example -
Add in graphic from Codefresh layer example -
Setup Jenkins Server with one command? – Jenkins Values File
Codefresh Demo
Don’t forget VSTS Mac, Linux, Windows Demo