Defining DevOps for the Enterprise

Is there anything in the DevOps methodology that makes it impossible to use for secure development? To get the answer, first you have to define DevOps.

The software world is moving toward agile, and that's a good thing according to the speakers and attendees at Agile 2017, an industry conference taking place in Orlando, Fla. When agile expands to include both hardware and software, you can end up at DevOps, which promises continuous delivery of constantly improving software on a consistent, stable infrastructure.

But what, really, is devops? According to Amazon:

"DevOps is the combination of cultural philosophies, practices and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market."

Which is fine, but what does all this look like when put into practice?

A session at Agile 2017 sought to answer these questions. I sat in on the session and came away with several large impressions about DevOps -- impressions that have implications for IT generalists and security specialists alike.

Eliminate the seven wastes
In the Toyota production system on which much of agile is based, there are seven "mudas" or wastes, that must be eliminated in order to optimize a process. The seven are:

  • Overproduction -- When you make things before they're required, then you are over-producing. Don't make unnecessary things.

  • Waiting -- Whenever goods are not moving or being processed, the waste of waiting occurs. Waiting is wasting time.

  • Transporting -- When you move things around unnecessarily, it's a waste of transportation. This is true whether you're moving raw materials, physical product, people, or status messages.

  • Inappropriate processing -- When you subject things to processing they don't need just because it's the way things have always been done, you're committing the wast of inappropriate processing. Reviews that don't lead to quality improvement, and approvals that exist only to satisfy an ego are examples of this waste.

  • Unnecessary inventory -- When you have overproduction waste and you keep the items around, then you add unnecessary inventory to your waste list. This wastes space, money and energy -- if you can't justify, in process terms, keeping things around, let them go.

  • Unnecessary/excess motion -- Sometimes, a process includes motion that is the equivalent of the spinning beachball on a computer screen -- motion that exists for the sole purpose of reassuring managers that something is happening. Eliminate unnecessary motion and increase efficiency.

  • Defects -- In some ways, this is the worst sort of waste because defective products mean that the entire process has been wasted. Improving the product quality means that the process has been improved.

Into practice
Eliminating these wastes involves the introduction of several practical processes:

Automation -- "Deployment should be boring. If it's not, then you're not doing it right." Processes like deployment should be standardized as much as possible, and standardization leads to automation. In the ideal situation, a developer should be able to, at the end of the dev process, commit updates to the code repository and know that they will be tested, verified and deployed automatically.

A large percentage of all deployment problems come from human errors. Standardizing and automating the process means that errors will be reduced.

Infrastructure is software -- Treating infrastructure as software, where you check configurations in and out of a repository, sign off on all changes and have a record of all changes made. As with software, standardization makes boring deployment possible, and boring deployment is the gateway to automation.

A principled organization-- When DevOps is embraced, it must result in changes to the organization. Without the proper principles in place, DevOps can't be successful. What are the principles that enable DevOps?

  • Empowered individuals

  • Accountable individuals and teams

  • Teamwork

  • Trust

  • Transparency

  • Continuous learning/improvement

  • Feedback Loops

  • Data driven decisions

  • Standardization

  • Customer focus

Want to learn more about the tech and business cases for deploying virtualized solutions in the cable network? Join us in Denver on October 18 for Light Reading's Virtualizing the Cable Architecture event – a free breakfast panel at SCTE/ISBE's Cable-Tec Expo featuring speakers from Comcast and Charter.

You'll notice that there aren't a lot of "DevOps requires this product" descriptions in the list. The reason is that every organization will decide how these principles are demonstrated in their particular processes. Even within agile, there are many different methodologies, and those expand when an organization evolves from agile to DevOps.

If your organization uses DevOps, I'd love to hear from you. Do you see these principles in action within your company? Do you think these principles are important whether or not your company makes use of DevOps? This is a topic we'll be covering in much greater detail -- it would be great to have your experience in our coverage.

Related posts:

— Curtis Franklin is the editor of SecurityNow.com. Follow him on Twitter @kg4gwa.

Read more about:

Security Now

About the Author(s)

Curtis Franklin, Principal Analyst, Omdia

Curtis Franklin Jr. is Principal Analyst at Omdia, focusing on enterprise security management. Previously, he was senior editor of Dark Reading, editor of Light Reading's Security Now, and executive editor, technology, at InformationWeek, where he was also executive producer of InformationWeek's online radio and podcast episodes

Curtis has been writing about technologies and products in computing and networking since the early 1980s. He has been on staff and contributed to technology-industry publications including BYTE, ComputerWorld, CEO, Enterprise Efficiency, ChannelWeb, Network Computing, InfoWorld, PCWorld, Dark Reading, and ITWorld.com on subjects ranging from mobile enterprise computing to enterprise security and wireless networking.

Curtis is the author of thousands of articles, the co-author of five books, and has been a frequent speaker at computer and networking industry conferences across North America and Europe. His most recent books, Cloud Computing: Technologies and Strategies of the Ubiquitous Data Center, and Securing the Cloud: Security Strategies for the Ubiquitous Data Center, with co-author Brian Chee, are published by Taylor and Francis.

When he's not writing, Curtis is a painter, photographer, cook, and multi-instrumentalist musician. He is active in running, amateur radio (KG4GWA), the MakerFX maker space in Orlando, FL, and is a certified Florida Master Naturalist.

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like


More Insights