Date post: | 14-Sep-2014 |
Category: |
Technology |
View: | 15,234 times |
Download: | 0 times |
mentor.com/embedded
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
James [email protected]
twitter: @wickett
The DevOps Way of Delivering Results in the Enterprise
I want you to be successful and make a difference
James WickettSr. DevOps Engineer
Mentor Graphics Embedded Software Division
regular blogger at: theagileadmin.comruggeddevops.org
CISSP, GWAPTCCSK, GSEC, GCFW
@wickett
Experience
• Started using AWS cloud in early 2008
• 2.5 years working on a DevOps team
• History of working in the enterprise and in startups and in startups inside the enterprise
• DevOps Days Austin Organizer
ConclusionsThe cloud necessitates a new approach to our operations (business and tech)
DevOps has worked for startups and can work for the enterprise
Rugged DevOps fills some of the needs of the enterprise
Use a Behavior Driven Infrastructure approach
DevOps Antipatterns• Rebrand your Ops team as the DevOps team• Use a machines to people hiring ratio to
determine headcount• Deploy software manually• Believe chef/puppet/cfengine will solve all your
problems• Test only the application code• Deploy to a production-like environment only
after development is complete• Rely on the standard logs for metrics• Hide stuff from your team
before devops and enterprise, lets start with cloud
courtesy of akakumo http://www.flickr.com/photos/kky/704056791/sizes/o/
“Cloud? I’ve been doing that since 1988. It’s just the same old thing with a new
name." - Technohipster
“Rugged DevOps will help you build your cloud” - http://bit.ly/rugged-devops
OSSMOn-DemandScalableSelf-serviceMeasured
Dave Nielsen > http://www.rackspace.com/blog/on-definitions-keeping-it-simple-with-ossm/
we sell time now
“I don’t want you to send me an
installation disc”- your customer
we sell social and friendships
New landscape
Are New Skills Required for Cloud Computing?
Cloud computing requires new skills - 74%Cloud computing does not require new skills - 26%
source: The 2011 (ISC)2 Global Information Security Workforce Study
Specific New Skills Required for Cloud Computing
A detailed understanding of cloud computing - 92% agreeEnhanced technical knowledge - 82% agreeContract negotiation skills - 49% agree
source: The 2011 (ISC)2 Global Information Security Workforce Study
Code is social
Delivery is King
courtesy of dbaron: http://www.flickr.com/photos/dbaron/2437975928/
Time To Market is Crucial
SaaS and PaaS
New World of Services
Give me API or
Give me Death-@littleidea
the old way is broken
DevOps is the new hotness for startups
DevOps is a movementpredicated by:
cloud, startups, SaaS, consumerization of IT
“there is nothing to suggest that devops can’t work in the enterprise”
-Patrick Debois
Cutter IT Journal, Vol. 24, No. 12, pg 3
DevOps?
Dev
http://www.flickr.com/photos/johnemofunk/551939308
Ops
http://www.flickr.com/photos/kristykay/125709246
source: Gene Kim, “When IT says No” @SXSW 2012
DevOps
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
http://upload.wikimedia.org/wikipedia/commons/b/b5/Devops.svg
http://dev2ops.org/blog/2010/2/22/what-is-devops.html
http://dev2ops.org/blog/2010/2/22/what-is-devops.html
http://dev2ops.org/blog/2010/2/22/what-is-devops.html
CultureAutomationMeasurementSharing
source: John Willis (@botchagalupe) and Damon Edwards (@damonedwards)
DevOps is Culture
Culture is the most important aspect to DevOps succeeding in the enterprise
Culture
Eliminate the blame game
Open post-mortems
Rewarding failure (and emphasis on testing)
Release often
DevOps Antipattern:Rebrand your Ops team as the DevOps team
DevOps Antipattern:Use a machines to people hiring ratio to determine
headcount
DevOps is Automation
Automation
Deploy
Control
Monitoring
Config Management
Orchestration
Unique bits
OS Image (AMI)
Software (RPM)
DevOps Antipattern:
Deploy software manually
DevOps Antipattern:Test only the application code
DevOps Antipattern:
Manual configuration of production environments
DevOps Antipattern:Believe chef/puppet/cfengine will solve all your
problems
DevOps Antipattern:Deploy to a production-like environment only after
development is complete
DevOps is Measurement
Measurement
Performance metrics
Logs
Metrics mapped to business goals
Integration with people
DevOps Antipattern: Rely on the standard logs for metrics
DevOps is Sharing
Sharing
Feedback loops
Enables the Automation and Measurement
Significantly impacts Culture
http://www.flickr.com/photos/mrphotographyfan/6108192865
DevOps Antipattern:Hide stuff from your team
Don’t forget Lean
and Kanban
courtesy of fright42: http://www.flickr.com/photos/fright42/5329361800/sizes/l/in/photostream/
The DevOps Library
Enterprise?
the perception of The Enterprise
slow
innovation starved
process obsessed
compliance and conformity as first order goals
control
DevOps and Enterpriseare unlikely
traveling companions
“there is nothing to suggest that devops can’t work in the enterprise”
-Patrick Debois
Cutter IT Journal, Vol. 24, No. 12, pg 3
“The main challenge will be reevaluating the existing people and processes from a constant collaboration viewpoint, keeping the business goals in mind.”
-Patrick Debois
Cutter IT Journal, Vol. 24, No. 12, pg 3
Startups need
Cash
Customers (stakeholders)
Experimentation
Risk
The Enterprise has different needs
The Enterprise needs
Longevity
Stakeholders
Revenue
Compliance
Safeguards (data, legal, ...)
THE INEQUITABLE DISTRIBUTION OF LABOR IN SECURITY MIMICS THAT IN DEV/OPS
2% of an engineering dev team are working on security
- BSIMM 2012 data, http://bsimm.com/
I recognize that my code will be attacked by talented and persistent adversaries who threaten our physical,
economic, and national security.
I am rugged, not because it is easy, but because it is necessary... and I am up for the challenge.
I recognize that my code will be used in ways I cannot anticipate, in ways it was not designed,
and for longer than it was ever intended.
Current Software
slide from http://bit.ly/rugged-devops
Rugged Software
slide from http://bit.ly/rugged-devops
Current Software
slide from http://bit.ly/rugged-devops
Rugged Software
slide from http://bit.ly/rugged-devops
Current Software
slide from http://bit.ly/rugged-devops
Rugged Software
slide from http://bit.ly/rugged-devops
ADVERSITY REQUIRES RUGGED SOLUTIONS
slide from http://bit.ly/rugged-devops
RUGGEDIZATION THEORY
Building solutions to handle adversity will cause unintended, positive benefits that will provide value that would have been unrealized otherwise.
slide from http://bit.ly/rugged-devops
NO PAIN, NO GAIN
slide from http://bit.ly/rugged-devops
Rugged DevOpsrepeatable – no manual steps
reliable - no DoS here
reviewable – aka audit
rapid – fast to build, deploy, restore
resilient – automated reconfiguration
reduced - limited attack surface
slide from http://bit.ly/rugged-devops
Rugged DevOps Testing
unit tests
smoke tests
security tests (gauntlt)
outside-in tests (cucumber, aruba)
monitoring (created from your tests)
What about the toolchain?
Paul Hammond, Scaling Typekit Infrastructure for Startups, Velocity 2012
Paul Hammond, Scaling Typekit Infrastructure for Startups, Velocity 2012
Our Toolchain and Software Stack
chef
Datadog
pingdom
loggly
PagerDuty
JIRA
ubuntu
mongodb
nginx
tornado
haproxy
IRC
AWS (ec2, s3)
cucumber
aruba
gauntlt
CloudWatch
github
Behavior Driven Infrastructure
Write failing tests describing the infrastructure you wish you had
Make them pass by writing infrastructure automation code (chef/puppet)
Repeat
In summary
Culture is the most important aspect to DevOps succeeding in the enterprise
-me, 30 minutes ago
ConclusionsThe cloud necessitates a new approach to our operations (business and tech)
DevOps has worked for startups and can work for the enterprise
Rugged DevOps fills some of the needs of the enterprise
Use a Behavior Driven Infrastructure approach
DevOps Antipatterns• Rebrand your Ops team as the DevOps team• Use a machines to people hiring ratio to
determine headcount• Deploy software manually• Believe chef/puppet/cfengine will solve all your
problems• Test only the application code• Deploy to a production-like environment only
after development is complete• Rely on the standard logs for metrics• Hide stuff from your team
mentor.com/embedded
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
James [email protected]
twitter: @wickett
The DevOps Way of Delivering Results in the Enterprise