Putting DevOps and the Hybrid Cloud into Practice with CollabNet TeamForge Laurence Sweeney October 2012
Challenges now driving DevOps adoption include the pressures and chaos of multiembedded platforms (especially mobile), multicloud deployment and governance. [IDC] Table of Contents Introduction What is DevOps?... 3 The Enterprise Legacy Moving to DevOps and the Hybrid Cloud... 3 Embrace the Cloud... 4 Implement Community Architecture... 4 Codify Dev Processes... 5 Orchestrate DevOps... 6 Leverage Hybrid Cloud... 6 How Can CollabNet Help?... 7 Hybrid cloud-based resources and dev approaches, technologies, and resiliencies must be re-evaluated to understand and implement realistic spans of control. [Saugatuck]
Introduction In this paper we take a look at the growing DevOps movement and consider the CollabNet Enterprise Cloud Development model. This model can be a powerful tool in helping to understand where you are with your portfolio and in assessing your next steps. What is DevOps? The first use of the phrase DevOps is usually credited to a meeting held in Belgium in 2009 1. It s fair to say that there are differing opinions as to what exactly is DevOps; add to that the cloud word and we have a recipe for confusion and misset expectations. At its core, DevOps is an Agile methodology that stresses collaboration between those building software (traditionally Dev), those deploying software (traditionally Ops), and those using the software. The idea of infrastructure as code 2,3 is a common theme in DevOps conversations and is an acknowledgement that the Ops community has been writing code to manage infrastructure for the last twenty years or more. The hybrid cloud is the new normal for the Enterprise. Arguably this idea of infrastructure as code has its genesis in Enterprise System Management platforms and Information Technology Infrastructure Library (ITIL) best practices, but it has really hit home with the advent of virtualized environments and the cloud. Increasingly the data center is about code. Environments are spun up, configured and released on demand. More and more enterprises are making use of so-called hybrid cloud strategies where part of the portfolio is in the traditional, on-premise data center and the rest is either with Application Service Providers or public/private clouds. The hybrid cloud is the new normal for the enterprise. The Enterprise Legacy Moving to DevOps and the Hybrid Cloud In the rush to bring the latest apps to production, or to identify and get on top of your mobile app strategy, all whilst reducing costs and increasing productivity, it can be difficult to put time aside to think about a holistic software development and deployment strategy. 1 http://www.devopsdays.org/events/2009-ghent/ 2 http://blog.carlossanchez.eu/2012/03/13/infrastructure-as-code/ 3 http://www.agileweboperations.com/the-implications-of-infrastructure-as-code Putting DevOps and the Hybrid Cloud into practice with CollabNet TeamForge 3
Start-ups and green field developments have their own challenges but they are free from the burden of history. It s no surprise that in many cases the leaders in the DevOps movement come from the Web 2.0+ space. Without an over-arching strategy it is easy to accrue more legacy after all what is one more app on the pile? The issue becomes one of enterprise agility. It is difficult to move quickly and confidently if you are unsure about what you have and what might break next. The CollabNet Enterprise Cloud Development blueprint is a simple model for thinking through some of these key ideas. It is supported by a checklist provided in the form of five steps with an approach that delivers incremental value and prepares you for the next step in the process. The five steps are organized according to the most commonly found deployment scenarios, although the sequence is not meant to be prescriptive. Embrace the Cloud First things first. Do you know where everything is? Traditional Software Configuration Management (SCM) tools such as ClearCase can provide a false sense of security, particularly in ClearCase multisite environments. The answer it s in ClearCase, is only helpful if you can actually find what you re looking for. There are best practices for configuring ClearCase and managing config specs, but in the real world they are often poorly adopted. Maintaining a consistent multi-site configuration Versioned Object Base (VOB) tags, regions, sync architecture) is a full-time job for a dedicated team. Forrester Wave 4 data indicates a full-time ClearCase admin for every 144 developers. In today s environment this is no longer affordable, and as the number of admins has already been greatly reduced, it s often standards and best practices that are the first to give under the pressure. In many cases the cost of licensing ClearCase and other legacy platforms prevented the Ops team from adopting SCM, and code was managed in an ad-hoc fashion (if at all). We can no longer consider source code in isolation. There must be a clear path from source code to application in production. Pragmatically that path must be: Reliable It just works. Repeatable The same set of inputs will result in the same set of outputs. Auditable An independent third party can understand and follow what happened in a reasonable period of time. An audit trail is of no value if it is so complex as to be difficult or impossible to comprehend. If infrastructure is indeed code, then everyone (not just Dev) needs the tools to participate. Implement Community Architecture Today s software development requires collaboration from beginning to end. A consistent enterprise strategy can no longer tolerate silos of fragmented data and islands of automation. There is a temptation to endorse the many silos and islands and declare the job done. After all in many cases the workgroups using those silos are just fine. Why mess with success? 4 The Forrester Wave SCM Vendor Summary, Q2 2007, Carey Schwaber, May 2007 4 CollabNet, Inc. All rights reserved.
The problem is that whilst individual workgroups might succeed in being agile, the business will not. Even if we can completely separate the workgroups and guarantee no interaction between them, we re still faced with the deployment problem. Teams will pick different target stacks and different clouds; hidden and often fragile dependencies will grow. Having recognized the organic sprawl of the workgroup, the enterprise reaction is often to start hammering square pegs into round holes. There is a middle ground, a more pragmatic alternative. Implementing community architecture can provide flexibility and control. By aligning projects into a taxonomy of needs, smart decisions can be made around about where to enforce standards. For example, when looking at a typical enterprise portfolio it is usually clear that some projects should not be permitted to transition from Waterfall to Agile methodologies. It may be perceived that they are approaching end-of-life, or that there is no positive fiscal impact in making the change. However, be careful not to overlook the positive people benefits of moving from Waterfall to Agile. The key point is that an enterprise has to deal with the depth of history as well as the breadth of applications. To successfully implement a community architecture in ClearCase is a challenge. ClearCase Unified Change Management (UCM) and the associated project VOB attempts to resolve this issue, but is often unsuccessful in real world implementations. On the other hand, CollabNet TeamForge has been designed with communities in mind. The ability to rapidly instantiate (via templates) a new project and inherit all of the defined community attributes such at Role-Based Access Controls (RBAC), tooling, Agile or Waterfall workflows is key to developer (and project manager) adoption. Do they pass the reliable, repeatable, auditable test? Codify Dev Processes Embracing the Cloud, Implementing Community Architecture, and Codifying Dev Processes are usually best tackled together or at the least in tightly coupled work streams. Codifying Dev Processes really pays off when there is visibility to all the assets and the community architecture. It is here that decisions and standards can be applied in a transparent way across the enterprise. The decision to migrate to a public / private cloud often forces standardization on target stacks. Reducing the number of target stacks in the portfolio can result in multi-million dollar savings. 5 Clearcase has sophisticated build avoidance tools (e.g. clearmake), but in many cases the complexity of the ecosystem with multi-site branch mastership, dynamic or Snapshot views, makes it difficult to implement in production. The capability of modern build engines, such as Jenkins (included with CollabNet TeamForge), combined with the centralization of IP (Embrace the Cloud) make centralized build processes a compelling solution for many companies. By Codifying Dev Processes in the context of a community architecture, the centralization of Continuous Integration (CI), Continuous Deployment (CD) testing tools and environments truly becomes a data driven conversation. The objective is not one size fits all. The objective rather should be How many do we need, do they add value (usually defined in terms of revenue) and do they pass the Reliable, Repeatable, Auditable test? The emotional and career investment that individuals and teams have made with specific tools and processes shouldn t be ignored and must be addressed in any transition. Tackling this important management of change issue with data based on your go-forward target environments, operating principles and benefits will really help to ground the conversations. Without taking these foundational steps it is difficult to move to a truly agile, integrated DevOps workflow. The tools and processes must support visibility and transparency allowing teams to work across functional silos. 5 See for example http://www.collab.net/sites/default/files/uploads/collabnet_casestudy_deutschepostdhl.pdf, Deutsche Post performed a formal ROI analysis, and concluded that already after the first roll-out phase (about a third of total rollout), TeamForge essentially had paid for itself. Putting DevOps and the Hybrid Cloud into practice with CollabNet TeamForge 5
This visibility and transparency is not a call for the removal of RBAC. On the contrary, good RBAC increases trust in the system. All too often where there are weak or non-existent controls in place individuals or teams resort to some form of security by obscurity. This is the worst of all possible cases and will fail the pragmatic audit test suggested above. Orchestrate DevOps Once there is transparency and visibility (suitably protected by RBAC) across the Software Development Lifecycle (SDLC), the enterprisewide orchestration of DevOps becomes possible. Ideally at this point, the Ops team will be full members of the software development community. Successful DevOps requires not just collaboration between the traditional Dev and Ops communities, but also a merging of best practices. Just as the Dev teams should be expected to deal with and embrace the challenge of a smaller number of targets, the Ops teams should embrace SCM, user stories, Scrum and so forth. If not already in use, this is the ideal time to evaluate Kanban software development techniques as a complement to existing agile practices such as Scrum. Application Release Automation (ARA) on its own is not sufficient for DevOps. The Ops community has had ARA tools for many years. The DevOps difference is the fully auditable and traceable path from a user requirement or user story to an application in production. DevOps automation relies heavily on ARA tools as well as on Application Lifecycle Management (ALM) tooling. ARA tools on their own are just deploying environments and packages without traceability or auditability. Often they will struggle with problems of configuration management or version control that the Dev teams have long since conquered. Bringing the two communities together and sharing best practices results in a net gain for everyone. The good news is that if your Ops team has already invested in an ARA tool you will have discovered this during the Embrace the Cloud / Implement Community Architecture / Codify Dev cycle. If you haven t yet chosen your ARA strategy, you re ideally placed to make a selection. CollabNet TeamForge integrates with all the leading ARA vendors tools. Leverage Hybrid Cloud A fully realized DevOps strategy and implementation is possible for the enterprise. DevOps is not just for the web-facing or mobile part of the portfolio. Having a unified platform and approach provides the flexibility and business agility required to take full advantage of the traditional data center and securely leverage the possibilities of the public and private cloud. Moving from heavy-weight legacy platforms such as ClearCase will not only greatly reduce license and infrastructure costs but also significantly increase competitive agility for the business. The hybrid cloud is the new normal for the enterprise. The capability to leverage the hybrid cloud is a key competitive differentiator going forward. For the enterprise with its breadth of application portfolio and depth of history to be managed, it s not a one size fits all proposition. Nuanced agile decisions must be made across the entire portfolio. To support those decisions it s essential to have an Enterprise Cloud Development platform (people, process and tools) that provides visibility and governance. CollabNet TeamForge provides that platform. 6 CollabNet, Inc. All rights reserved.
How can CollabNet help? As enterprises strive to accelerate their application development and deployment processes, software development is rapidly evolving into a mix of Agile, DevOps and hybrid cloud practices. Enterprise Cloud Development (ECD) provides organizations a secure and compliant path to manage development and deployment in a hybrid cloud environment, and enables them to embrace the benefits of the cloud at their own pace. CollabNet uniquely provides the tools and expertise for companies to simplify, govern and optimize their existing development processes, to ensure maximum efficiency and effectiveness. CollabNet TeamForge CollabNet TeamForge is the industry s leading enterprise platform for cloud-based Agile ALM and DevOps. Many Global 2000 companies and federal agencies, and over 400,000 developers worldwide, rely on TeamForge to manage globally dispersed development and deployment, representing some of the industry s most complex development programs, including programs for highly regulated industries. Available on-premises or hosted, TeamForge uniquely combines within one platform: Agile ALM and Software Configuration Management (SCM), integrated collaboration tools, a community architecture and Enterprise Cloud Development asset management. Enterprises can manage any process (Agile and mixed) and any technology (.NET and Java, Mobile, etc.), from requirement management and coding to build, test and release management. As the founder of the Subversion project, CollabNet embeds the world s leading SCM tools (Subversion and Git) into the TeamForge platform, industrializing it for the industry s most demanding implementations. Promoting flexibility, teams also can integrate their own preferred tools (including tools from IBM) using CollabNet Connect. With TeamForge, enterprises have a common platform to centrally manage and govern all repositories, applications and processes across the enterprise. Implementation Services For over a decade, CollabNet has been the standard-bearer in helping organizations implement collaborative software development for their distributed internal and external teams. Whether your journey starts at the workgroup or the enterprise, we uniquely provide expertise in management processes, development practices and the leading development tools to help you integrate private clouds, public clouds or a combination of both into your development and deployment processes. Training Whether training is delivered in a public setting, a private engagement, online or as interactive computer-based sessions, CollabNet training takes the approach that students learn best by doing. CollabNet offers a wide variety of pre-packaged and customizable training offerings that can be tailored to your organization s unique processes and business requirements. Consulting CollabNet consulting services help fractured enterprise teams become more agile, seamless and integrated. CollabNet offers a range of consulting services to help organizations consolidate and integrate their software assets, processes and tools into a single platform, and to create a community architecture that encourages a high-performance, collaborative software development. Putting DevOps and the Hybrid Cloud into practice with CollabNet TeamForge 7
Implementation CollabNet s implementation services help enterprises achieve rapid tool adoption amongst their users, and integrate their favorite tools into the CollabNet platform. With deep experience in cloud-based development environments, CollabNet s implementation services allow organizations of any size to integrate a mix of private and public cloud services (including CollabNet CloudForge ) to satisfy the demands of a variety of application types, platforms, and development methodologies. CONTACT US Corporate Headquarters 8000 Marina Blvd, Suite 600 Brisbane, CA 94005 United States Phone: +1 (650) 228-2500 Toll Free: +1 (888) 778-9793 Further Reading Find out how to optimize your business practice further with: The ECD Blueprint An Implementation Checklist Moving to CollabNet TeamForge from IBM Rational ClearCase A Reference Sheet for Chief Financial and Chief Procurement Officers A Day in the Life of a Migrated IBM ClearCase User The whitepapers and datasheets above can be accessed at www.collab.net/clearcase Other insightful whitepapers, technical briefs and webinars can be accessed for free at http://www.collab.net/resources About CollabNet CollabNet is a leading provider of Enterprise Cloud Development and Agile ALM products and services for software-driven organizations. With more than 10,000 global customers, the company provides a suite of platforms and services to address three major trends disrupting the software industry: Agile, DevOps and hybrid cloud development. Its CloudForge development-platform-as-a-service (dpaas) enables cloud development through a flexible platform that is team friendly, enterprise ready and integrated to support leading third party tools. The CollabNet TeamForge ALM, ScrumWorks Pro project management and SubversionEdge source code management platforms can be deployed separately or together, in the cloud or on-premise. CollabNet complements its technical offerings with industry leading consulting and training services for Agile and cloud development transformations. Many CollabNet customers improve productivity by as much as 70 percent, while reducing costs by 80 percent. For more information, please visit (www.collab.net). 2012 CollabNet, Inc., All rights reserved. CollabNet is a in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders. CollabNet, Inc. 8000 Marina Blvd., Suite 600 CA 94005 Tel +1 650 228 2500 Fax +1 650 228 2501 www.collab.net info@collab.net Blog blogs.collab.net Twitter twitter.com/collabnet Facebook www.facebook.com/collabnet LinkedIn www.linkedin.com/company/collabnet-inc