Implementing DevOps for Large Organizations

Thoughts on DevOps for larger teams

DevQops

dev·qops     \?d?v-,Kops\
: to undertake “DevOps” with particular impetus on Quality Assurance (QA), ideal for the larger organisation with rigorous QA processes and sophisticated, multi-tiered IT systems.
Example: “I use DevQops since DevOps didn’t quite address my development, quality assurance and IT operational needs.”

DevQops v. DevOps

Wikipedia describes DevOps as:
DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) operations professionals.
Without trying to be overly simplistic, the emphasis here is the interaction between developers and operations. Since DevOps is still relatively immature in the IT industry, the general consensus is to focus on the literal interpretation; communication, collaboration and integration between developers and operations.
In my opinion, DevOps is the latest ‘branding exercise’ to encompass Continuous Integration (developers) and Continuous Delivery (operations). In theory this makes absolute sense; submit small changes frequently by the developers (without breaking the application) and implement in Production frequently.
DevOps encompasses both Continuous Integration and Continuous Delivery
However, I believe this approach is only suitable for a subset of all organisations, those that develop relatively simple systems with a short route to Live. For organisations that have large, complex, multi-tiered systems – such as Financial Services, Telecommunications, Utilities, Retail and Gaming organisations – it is likely that rigorous QA processes are in place to address various methods of testing, such as:
  • Systems Integration Testing,
  • Regression Testing,
  • User Acceptance Testing,
  • Penetration Testing,
  • Load Testing,
  • Functional Testing,
  • Smoke Testing.
Once these levels of QA are introduced, the ability to frequently make changes and deliver changes is somewhat restricted.

DevOps for large organizations

DevOps and the enterprise

System architectural example
If we consider the example above; this could be a typical financial system topology which might represent a single QA stage (a single test-rig) within the overall software development life cycle. As a minimum – and for the purposes of this example – let’s assume this particular organisation undertakes at least four levels of testing:
  • Systems Integration Testing,
  • Regression Testing,
  • User Acceptance Testing, and
  • Load Testing.
In terms of complexity, change management and environment management, it is my belief that the QA managers have a far more difficult job than even the Operations team – the Operations team, while important, typically only have to manage a single version of any given system within a single environment, Production.
The QA team has the more complex and demanding role of having to:
  • Manage multiple versions of a single application,
  • Manage multiple applications simultaneously,
  • Manage multiple test-rigs simultaneously, and
  • Co-ordinate all of the above to ensure testing is completed within the agreed test duration.
If the QA element cannot be managed efficiently (streamlined and automated) then it effectively renders Continuous Integration and Continuous Delivery nigh on useless – as per Kanban, your process is only as effective as your greatest bottleneck.
So, to get to DevOps nirvana (DevQops) one has to assess the processes surrounding QA. In my experience the most common issues are around:
  • Managing “change-sets”; a collection of small changes from development scheduled for delivery,
  • Infrastructure Management; provisioning required infrastructure to support altered application(s), and
  • Application Deployment; implementing changes from development – or other test stages – into desired test-rig.
These common issues are not difficult to manage in themselves, but when applied to a large organisation with hundreds, if not thousands, of servers, test-rigs environments and applications, then the task becomes brittle, cumbersome and resource-intensive [costly] to manage.
I will dedicate a future Blog on “How to Implement Fully Automated DevQops”.

TRagan

Ms. Ragan has had extensive experience in the development and implementation of DevOps for large organizations. She began her consulting career in 1989 on Wall Street specializing in build, testing and release management for the distributed platform. It was during her consulting experiences that Ms. Ragan recognized the lack of standardized development procedures on open systems that were common on the mainframe. In the years leading to the creation of OpenMake Software she worked with development teams in implementing a community driven standardized build and deploy process that enabled frequent builds and releases, automated around version control. Her knowledge and experience contributed to the creation of OpenMake Meister, the first commercial Build Automation solution. Ms. Ragan served on the Eclipse Foundation Board of Directors as an Add-in Provider Representative for 5 years. She has been published on numerous occasions and regularly speaks at conferences including CA World where she presented for 15 consecutive years. She holds a BS Degree in Business Administration, Computer Technology from California State University, Pomona.

0 thoughts on “DevOps for the Large Organization”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

DevOps

Cross Platform continuous delivery

Cross Platform Continuous delivery, from windows to z/OS Cross Platform Continuous Delivery – DevOps at full strength Cross Platform Continuous Delivery for the Enterprise is supported by Release Engineer and Meister Cross platform continuous delivery is a requirement for the Read more...

DevOps

DVCS in the Enterprise: Are we there yet?

DVCS Offers Huge Gains and will be Next Generation Version Control Understanding DVCS for Version Control Distributed version control systems (DVCS) have made huge gains in adoption over the past few years and GitHub in Read more...

DevOps

.Net Solutions with complex dependencies

.Net Solutions with Complexity .Net Solution builds can get complicated with multiple solution files We often get customers who have multiple .Net Solutions for creating a single application.   While Microsoft may advise against the practice, Read more...