This post is from the XebiaLabs blog and has not been updated since the original publish date.
Last Updated Nov 07, 2016 — DevOps Expert
From Scrappy to Scalable DevOps: Multi-Functional Release Folders
In many organizations, DevOps starts off as a scrappy experiment: a few teams working together on a small scale to figure out how to deliver better software faster. It centers on the people, with processes and products providing scaffolding. But as success is experienced, and as the visibility of the DevOps movement in general increases, organizations understandably want to scale the practice throughout the entire org.
Success Can Breed Complexity
We at XebiaLabs work with many such organizations as they figure out who will be involved, as well as how to organize their teams and maximize their chances of success. One common element in all these cases is the sheer volume of content: hundreds of applications, built by thousands of developers on hundreds of geographically distributed teams, producing thousands of new software deployments a month. Forrester analysts Robert Stroud and Sophia Vargas described in “Design Your Infrastructure For Scalability” (Forrester Research, Inc., October 24, 2016) how “uncertainty and the likelihood of failure” increase as operational complexity increases. But you probably don’t need a report to tell you that—just remember the last time you needed to manage the releases for your own team.
Introducing Multi-functional Release Folders
While other tools have a project-based structure to try to organize the complexity, our experience with scores of customers in many different industries tells us that a simple project approach to organizing software releases is too simplistic. So in XL Release 6.0, we’re happy to introduce multi-functional release folders to help you manage the complex nature of your enterprise software release organization.
[caption id="attachment_13407" align="aligncenter" width="622"] XL Release 6.0 introduces multi-functional release folders, an intuitive way to organize release assets by project, team or whatever model fits the organization.[/caption]
XL Release Folders let you easily organize, manage and secure release information across hundreds of teams, applications and releases. If organizing based on project makes sense for you, great. But maybe your organization would rather organize things based on the team doing the work. Or, perhaps aligning to the microservices that comprise your solution is more logical to you.
Multi-functional release folders give you the flexibility to organize release assets by project, by team or whatever model fits your organization. And you don’t need to commit to just one model, either: multi-functional release folders can be set up by a central administrator, but each individual team can structure their own folders as they choose. DevOps empowers individual teams to find the best way to deliver their solutions. Folders in XL Release 6.0 support that flexibility.
Permissions in Folders
In earlier versions of XL Release, permissions were set on individual templates or releases. With multi-functional release folders, permissions are applied on all the contents in that folder. This makes central administration much easier: an admin can set up the appropriate roles and permissions for a team once, and those permissions will be applied to every template and release in that team’s Folder.
[caption id="attachment_13399" align="aligncenter" width="636"] A flexible Permissions structure in XL Release 6.0 lets teams access only the release data that applies to their team, which is more secure, easier to organize and less cluttered. Teams see only the data they need to see.[/caption]
A Folder can inherit teams and permissions from its parent Folder as well. This is helpful for organizations where a project may be developed by multiple sub-teams. For example, one team may be working on front-end functionality and another on application logic in services. They may each want their own release templates and don’t want to have to look through templates maintained by the other team. But both teams may share the same permissions. Rather than duplicating them, an administrator could create the permissions in a parent folder, and each team could organize their templates in a sub-folder.
Multi-functional Release Folders in Practice
We’ve been working with a number of XebiaLabs customers in advance of the XL Release 6.0 release and their use of the Folders feature has been as varied as the organizations themselves. Some have organized on the basis of project with subfolders for components. Others have used the feature to mirror their geographic and organizational structure, with Folders representing each team’s location or division within the company. Yet others have individual folders corresponding to microservices that are all developed individually and deployed via Docker containers, but come together in a finished solution. No matter how your DevOps initiative is organized, multi-functional release folders can help you manage the large volume of content that makes it successful.