from silos to devops: our story
TRANSCRIPT
From Silos to DevOps:
Our (in Progress) Story
April 2, 2015
Gil Irizarry (Director of Engineering, Tools)
David Murgatroyd (VP, Engineering)
Our Goal for this talk
● Talk about DevOps
● ...and how it fits into Basis...
● ...and discuss the future (ours and yours)
Quick survey: How many of us...
● Work for companies whose product is
delivered via SaaS?
● … but that didn’t start out doing SaaS (e.g.,
delivered on-premise products)?
● … and consider your deployment strategy
less than ideal?
● How many attended the previous talk?
And now for some...
What is DevOps?
● From Wikipedia: a software development
method that stresses communication,
collaboration, integration, automation and
measurement of cooperation between
software developers and other IT
professionals.
● Acknowledges the interdependence of
software development, quality assurance,
and IT operations, and aims to help an
organization rapidly produce software ... and
to improve operations performance.
DevOps principles: CAMS
Culture
Automation
Measurement
Sharing
From Damon
Edwards and John Willis
Some (likely apocryphal) stories:
● The Banana Corporation
● Best Buy
From http://itrevolution.com/devops-culture-
part-1/
Background reading
● History of DevOps:
http://itrevolution.com/the-history-of-devops/
● Convergence of DevOps:
http://itrevolution.com/the-convergence-of-
devops/
● http://dev2ops.org/
The Basis Story
● Delivering on-premise text analytics libraries
(e.g., jars) for ~15 years
● Customers across many industries and
around the world -- you may have used us
today without knowing it
● Rolling-out of a text analytics API later this
year -- currently servicing Alpha users
Producing an On-Prem Library v. a Service
Library Service
What we deliver A tarball RESTful API
How often we
deliver
Release a few times a
quarter
Deploy a few times a
day
When something
goes wrong
Customers email us Monitors page us
Most important
system to keep up
Build machines Runtime service
Key software
measurements
Speed & accuracy (value to
customers)
… and also utilization
(cost to operate)
Key components Open source libraries (e.g.,
Apache’s)
IaaS tools (e.g., AWS’s)
What we do at Basis
● Bamboo for automated builds, pulling code
from git repositories
● Builds tagged by development as ‘release’
get pulled into a custom-baked AMI on AWS
integrated with auto-scaling
● Custom script uses the AMI to deploy EC2
instances, ELBs and infrastructure.
What we do at Basis
● The good news: software-defined
infrastructure (SDI)
● Also good news: IT and Dev have worked
together from the start to define the
deployment process
● Needs improvement: deployments are still
kicked off manually (but hey, we’re still in
alpha)
Now and Future
● Now: We have a de-facto DevOps team
composed of IT, Tools, RelEng, and Eng,
but…
● Future: We aspire to
create a NoOps
environment. But what
is “NoOps”?
● NoOps is the concept that an IT environment
can become so automated and abstracted
from the underlying infrastructure that there
is no need for a dedicated team to manage
software in-house.
● FYI, Forrester coined the
term NoOps, here’s a
table of theirs...
What is NoOps?
Why NoOps for Basis?
● empower developers (developer-defined
infrastructure - DDI) ○ Check out http://venturebeat.com/2015/04/01/the-
geek-shall-inherit-the-earth-the-age-of-developer-
defined-infrastructure/
● reduce the effort needed to maintain the
deployment
● transition to SaaS without building up a large
Ops team
Discussion topics? Suggestions...
● What are the challenges with NoOps?
● What advice would you give us (Basis)?
● From what different traditional software
engineering roles do folks transition into
*Ops?
● How does *Ops affect your software
development methodology? How do you
reconcile fixed-length sprints in a continuous
deployment environment?
● Is Basis hiring *Ops? (Hint: yes.)