1. DevOps for Large Enterprises
Márcio Sete, Principal Consultant
Visual Studio ALM MVP
marcio.sete@especificacoes.com http://especificacoes.com/cases
@marciosete
5. Opportunity Cost Of
Wasted IT Spending?
$2,600,000,000,000.00
($2.6 Trillion US)
Source: Gene Kim - Why Everyone Needs DevOps Now: My Fifteen Year Journey Studying High Performing IT Organizations
6. Ops’ job is NOT to keep
the site stable and fast
7. Ops’ job is to enable
the business
(this is dev’s job too)
13. The IT Core Chronic Conflict
Every IT organization is pressured to simultaneously:
Respond more quickly to urgent business needs
Provide stable, secure and predictable IT service
Source: The authors acknowledge Dr. Eliyahu Goldratt, creator of the Theory of Constraints and
author of The Goal, has written extensively on the theory and practice of identifying and
resolving core, chronic conflicts.
14. “Every company is an IT company regardless of
what business they think they’re in.” - Christopher Little
95% of all capital projects have an IT component…
50% of all capital spending is technology-related
We are here…
Where we need
to be…
IT is always in the way
23. Upstream Agile Process vs. Downstream Agile Practices
Agile Downstream
Agile UpStream
Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report
27. Automate Provisioning
• Are the configuration files in place?
• Do they contain the right settings?
• Is this port open?
• Is that port closed?
• Are we patched sufficiently?
• Are we using the correct version of this
package?
28. Automate Provisioning
• More ways to deploy infrastructure and code:
– Windows PowerShell
– Windows PowerShell Desired State Configuration (DSC)
– Puppet
– Chef (for servers that are not running a Windows operating system)
29. Automate Provisioning
• Practical applications:
– Enabling or disabling server roles and features
– Managing registry settings
– Managing files and directories
– Starting, stopping, and managing processes and services
– Managing groups and user accounts
– Deploying new softwares
– Managing environment variables
– Running Windows PowerShell scripts
– Fixing a configuration that has drifted away from the desired state
– Discovering the actual configuration state on a given node
30. Automate Testing
• Unit
• UI (Functional and Integration)
• Load
• Database
• Provisioning (already solved, yea?)