Delivering an app or service fast and frequently to production isn't the same as delivering the app or service fast and frequently to its intended users. Before an app is actually 'live' it has to run the gauntlet of production deployment that stands between it and real, live users. While DevOps has helped organizations make huge strides toward continuous delivery in dev and test environments, the production environment remains a very real obstacle in realizing continuous deployment. The biggest hurdle in that obstacle course is a narrow definition of DevOps that fails to include a broad set of technologies and tools outside the Dev and Ops domain. In this session we'll explore the underlying elements of a comprehensive DevOps approach (SDN, CD/CI, and Agile) and how they mix, match, and combine to enable the operational transformation DevOps promises to achieve the ultimate goal of IT agility: continuous deployment.
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
DevOps Moves To Production (Lori MacVittie)
1.
2. DevOps Moves to Production
Lori MacVittie. F5 Networks
@lmacvittie
3. About Lori
Developer Lori
• 9 years software
development
– Enterprise architecture
– Telecom
– ISVs
• Still hobby coding
– PHP + vi
– node.js
Networking Lori
• 6 years Network
Computing Test Lab
– Networking
– Security
– Integration and Middleware
• 9 years F5 Networks
– Technical Marketing
– Evangelism
M.S. Computer Science
5. “Currently, DevOps is more like a philosophical
movement, not yet a precise collection of practices,
descriptive or prescriptive”
JOHN ALLSPAW, PATRICK DEBOIS, DAMON EDWARDS, JEZ HUMBLE, GENE KIM, MIKE ORZEN,
AND JOHN WILLIS
8. Expanding CD into Production
Taking a Toll on Dev and Ops
Dev drawn into
production
troubleshooting
more often
45% 43%
Ops spending
more time
deploying
software
31%
Ops spending
more time
managing
production apps
31%
Experiencing
higher number
of perf and/or
availability
problems
15%
All of the above
Source: NewRelic sponsored EMA Survey, 2015
17. Turret Syndrome
• Don’t collaborate well
• Success is measured on
different metrics
• Handoffs are awkward and
cause bottlenecks
• Processes are inefficient and
burdened by a tower/silo
mentality (even within silos)
18. Develop Build Deploy Test ReleaseAPP
NETWORK Deploy
The toolchainthatworksforapps(dev) is notthe sameexacttool
chainthatworksforthenetwork(production)
22. Infrastructure as code
APIs
• Call by call
• CLI as API
• Step by step
• Config on device
Templates
• Settings
• Deployed via API
• All at once
• Config off device
23.
24. • Repositories will store templates, policies, and artifacts as
easily as code (infrastructure as code)
• Git
• Subversion
• Network functions increasingly virtualized/containerized for
better integration with deploy/test phases
• Ansible
• Vagrant
• Docker
• SDx relies on the other API ecosystem (infrastructure APIs) to
enable deploy
• VMware
• Cisco
• OpenStack
• SaltStack
• Puppet
• Chef
• Cloud marketplaces
Find commonalities in tool chains to Reduce Friction
Develop
Build
Deploy
Title: DevOps Moves to Production
Delivering an app or service fast and frequently to production isn't the same as delivering the app or service fast and frequently to its intended users. Before an app is actually "live" it has to run the gauntlet of production deployment that stands between it and real, live users.
While DevOps has helped organizations make huge strides toward continuous delivery in dev and test environments, the production environment remains a very real obstacle in realizing continuous deployment. The biggest hurdle in that obstacle course is a narrow definition of DevOps that fails to include a broad set of technologies and tools outside the Dev and Ops domain.
In this session we'll explore the underlying elements of a comprehensive DevOps approach (SDN, CD/CI, and Agile) and how they mix, match, and combine to enable the operational transformation DevOps promises to achieve the ultimate goal of IT agility: continuous deployment.
Delivering an app or service fast and frequently to production isn't the same as delivering the app or service fast and frequently to its intended users. Before an app is actually "live" it has to run the gauntlet of production deployment that stands between it and real, live users.
While DevOps has helped organizations make huge strides toward continuous delivery in dev and test environments, the production environment remains a very real obstacle in realizing continuous deployment. The biggest hurdle in that obstacle course is a narrow definition of DevOps that fails to include a broad set of technologies and tools outside the Dev and Ops domain.
The good news is I’m going to quit smoking next week. The benefits are just to good to ignore any more, and everyone keeps telling me how great it would be if I just adopted an approach that eliminated all those costs and got rid of the health uncertainties and all that goes along with the way I’ve been doing things for 30 years. There are so many options today to help me reach that goal. Patches and pills and support groups, I mean I’d be crazy not to try, right?
The bad news is I’m going to quit smoking next week. I’m going to be irritable, and gain some weight, and probably be frustrated like nobody’s business for days. The patches are going to itch. The pills are going to mess with my head and muddle my mind. I might slip up a few times and have to listen to people berate me for considering abandoning the attempt. I’ll try cold turkey, slow burn, everything. It’s going to be painful until I find the right tool for the job.
Change is painful. Not just for those undertaking to achieve it, but for those associated with them. Consider the impact on dev and ops of trying to move CD into production, where it has to go to achieve continuous deployment.
https://newrelic.com/devops-engine?_ga=1.98020511.1269424346.1417551241&aliId=155020142
A total of 87% said that they had experienced delays between development and production. Developers indicated that there were several main causes, namely “inconsistent environments across development, test and production, lack of automation in the application deployment process, and difficulty of collaboration between development and operations,” according to the PRNewswire announcement by Zend.
And the troubles don’t stop once production starts. 90% of developers said that they were spending weekends, holidays and vacations to fix production phase app emergencies. Regular work time appears to get sucked up by issue-fixing as well. 80% of developers said that at least a quarter of their time is spent fixing app problems, and 43% of developers said it takes up over half their time.
http://static.zend.com/topics/Zend-Developer-Pulse-report-Q2-2013-0523-EN.pdf
See, the people in production aren’t ready for that. They’ve never done things that way, they don’t have the tools in place to support it. Kind of like non-smokers trying to support someone quitting the habit. It’s hard when you can’t empathize because you’ve never been there before.
And that’s a big problem for production and DevOps today. Production operations aren’t familiar with the tools and techniques Dev uses to speed along delivery of applications. Dev talks about microservices and architectures. Production talks about microseconds and appliances.
This is about where we are today. Continuous Delivery is automated, orchestrated, integrated. Except for that whole “deploy to production” piece. Because production is not dev/test/QA.
True Continuous Deployment is served through end-to-end programmability and automation, inclusive of infrastructure. The moment a manual process or service queue is encountered to configure firewalls, load-balancers, access systems, availability services, etc., the human latency meter starts ticking and productivity takes a steep dive.
So. How do we enable continuous deployment? Introduce DevOps to production.
Silos and speed
Silos. Speed.
Lack of coordination and collaboration (that’s culture). Inconsistent interfaces. Manual processes. Approvals. Deployment windows.
Pythagorean Theorem. DevOps is too dev for production.
SDN
SDDC
SD-WAN
SDS
SDSecurity
These are all about the same thing: Software-defined. APIs. Templates | Policies. Fast. Flexible. Fearless.
SDx is the treatment of infrastructure as code.
Many infrastructure components (like Cisco APIC) expose a northbound API in the style of “SDN” that enables configuration management to occur via a REST API. These interfaces – either through pre-existing integrations or home grown – are what enable policies to be stored in a repository and then automatically deployed as part of the orchestrated deployment process better known as “continuous deployment”.
Remember, it’s about what you want to do, not necessarily how you’re going to get there. It’s not about the tools you use, or the languages, it’s about how you enable consistent, predictable, and repeatable app deployments that span the entire lifecycle from dev to user. That means combining continuous delivery toolchains with software-defined infrastructure toolchains to enable continuous deployment.