If you’re taking up a Drupal project or have recently finished one, then you’ve likely come across Drupal DevOps while doing your homework.
Some are saying it’s the emperor’s new clothes of the IT world, others are die-hard enthusiasts, devotees proud of its cult following. The only middle ground there seems to be is the space decision makers find themselves in. They want explanations, and if they make sense and feel right, they want options for making this happen for them. So, let's bring forward clear answers to common questions. These responses will help decision makers discover if Drupal DevOps is applicable and attainable for them.
- What’s Drupal DevOps specifically?
- Can it help with Drupal projects?
- What’s the easiest way to bring it in?
The Drupal DevOps approach brings people, fresh ideas, and innovative tools together: it’s essentially an integrated means for doing software (development + operations = DevOps).
It all started back in 2007 when a consultant named Patrick Dubois decided to try and learn IT from every perspective. This interest was shared among industry dreamers and doers. It eventually led to the creation of an ethos—a culture of belief—that if the gap between development and operations were bridged, project success could be attained with increased efficiency.
The conversation sped up after the first—of what has become many—DevOpsDays took off in October 2009. Since then you could say that DevOps was canonized as more than just an industry buzzword. It became a meaningful and ever-developing solution to an age-old problem.
Guess What The Numbers Say
When it’s done right, DevOps supports quality production, a faster time to market, and lower costs. But let’s get more specific with recent statistics from the 2015 State of DevOps Report by IDG:
- High-performing IT organizations can deploy 30 times more frequently with 200 times shorter lead times.
- The same organizations experience failure 60 times less and recover 168 times faster.
Research has shown that lean management and continuous delivery practices create the conditions for delivering sustainable, lasting value. This is the ROI DevOps enthusiasts point to when explaining its impact and full potential.
Two Little-Known Facts About DevOps
It’s not a tool or about “tools.” There are many misconceptions about this; Drupal DevOps is a culture supported by skills. DevOps tools aren’t a thing, but there are integrated tools that help both developers and operators. These integrated tools help flow, integration, automation, and more. However, DevOps can’t be limited to any one program or application; it's bigger than that.
DevOps is really about people. Keep in mind that this is about behaviors and perspectives—about people, not things. Coming together to understand customer needs so the team can deliver is rooted in problem-solving. Team members come together and apply a human vs. a mechanical approach to getting things done.
With these new people-centric understandings, developers and operators can continue to optimize their methods, effectively scale to meet client needs, and then reap the benefits of doing so. So to bring Drupal DevOps to projects, Organizations need to focus on investing in their teams, not their toolbox.
Let’s look at it festively: DevOps is to software projects like crusts are to pie (hey, why not? pumpkin, apple, pecan). If you’ve got developers and site admins involved with a project, a DevOps approach can bring them together to create awesomeness. Different methods and applications work best for some and not others, but the basic principles are the same.
Consider the potential. By bringing in people with a mind for Drupal DevOps, or infusing DevOps passion in-house, organizations employ a culture that empowers the whole team and enables a higher success rate. Tasks like deployment, integration, defect detection, and recovery from failure can be addressed with this approach. As an outcome, the team will be able to roll out high-quality software in shorter development cycles.
Most Drupal operations and practices followed today predate the DevOps and Agile methodologies, so there’s serious room for improvement. Drupal projects are an excellent opportunity to showcase the power of this approach; Drupal is no exception to this. In fact, it’s a great example.
Bringing DevOps to Drupal Brings Drupalers Close(r) Together
Drupalers understand the power of collaboration. OpenSouce technology can’t be achieved efficiently without optimizing collaboration. And with any given Drupal project, you’re dealing with three classes of Drupalers:
- Drupal developers are focused on code writing, implementing, and testing.
- Drupal site admins are systems focused—keeping the project running.
- Drupal QA Engineers ensure standards are adhered to from beginning to end.
These teams (along with their ideas and tools) come from different mindsets yet both tend to the same system and both work towards the same end goal: launching a successful Drupal project.
Bringing In Drupal DevOps Just Makes Sense
Let’s get more technical. Modern Drupal teams are working within agile environments, and it’s within this environment that DevOps makes the most sense. Because agility requires early feedback, enabled-integration (flowing within a deployment pipeline) should be a refreshing notion to operators and developers alike.
Most Agile organizations look forward to automation of the entire environment. Deployment pipelines require test and production environments to deploy code as needed. Operations personnel can work with the agile teams to ensure deployment readiness throughout the feature development pipeline. They can work with agile teams—in real time—to ensure the provision of systems and that the release lead-time is minimized for completed work products. Here are just some ways DevOps-minded personnel can provide support:
- Build and maintain production equivalent staging environments
- Maintain and ensure development and test environments are in sync
- Lead deployment of completed work products on staging and production environments
- Work with agile teams to ensure effective version control systems
- Automate build environments and production deployment process
There Are Unintended Benefits (Specifically For The Drupal Community)
It can help prevent burnout. By applying DevOps principles, organizations can address major causes. Breaking down the barriers that hinder support will help employees feel less isolated. By ensuring work is meaningful, and by showing employees how their work ties into strategic objectives, organizations reinforce the purpose of each job. By learning and growing with this approach, teams are more able to sidestep burnout.
If an organization is mature, this can be a real challenge. Roadmaps and practices are already defined and have been identified for quite some time. But there are ways an organization can enhance itself with DevOps enthusiasts and their practices: Augmentees.
Drupal DevOps Augmentees Are Consultants
If a company is launching a Drupal initiative but doesn’t have the right personnel in-house, decision makers can choose to grow their team with extensions. It’s a viable option for organizations with particular needs. With this service, augmented personnel assess the potential application of DevOps practices in an organization. And there are defined characteristics that practitioners hone in on—attributes that are important to what the industry is calling DevOps Engineers:
- Outcome focused
- Pros at open source technologies
- Great Coding abilities
- Experience with IT operations systems
- Comfortable with incremental code testing and deployment
- Solid understanding of automation tools
- Collaborative and an open communicator
Specialized consultants analyze environments and recommend improvements in build, test, and release processes.
Hiring Doesn’t Always Make Sense
Hiring employees with a passion for DevOps is expensive, especially when businesses only require their services for a short time (like a defined Drupal project). When decision makers choose team augmentation, they’re paying for the skills they need when they need them. With augmentation, organizations can make a safer, more fiscally responsible decision.
Scalability Might Make The Most Sense
Because of the unique challenges posed by Drupal to establish a DevOps practice, it’s wise for organizations to choose team augmentation. This leaves the details in the hands of the experts while avoiding the significant costs of isolated consultancy. It’s how organizations can bring Drupal DevOps personnel onto their team cost effectively and with scalability (as needed).
These members of an augmented team can educate and empower internal development staff, project managers and operators on these practices. It’s essentially an adjustable, internal consultancy, aimed at advancing software quality and time to market.
Drupal DevOps team augmentation is an integrated approach, a viable option for organizations to consider.