At a recent XebiaLabs webinar, XebiaLab's own Sunil Mavadia, Director of Customer Success, and Tim Buntell, Vice President of Products, discussed how to scale the enterprise for DevOps and Continuous Delivery. We compiled a list of steps from the presentation. Take a look:
Create a Highly Performing DevOps Environment
The first step to scaling your enterprise should be doing whatever you can to ensure you have a high performing DevOps environment. Evaluate the strengths of your enterprise and what you hope to accomplish, then decide whether you’d like to start with Continuous Integration, Continuous Testing, or, the final phase, Continuous Delivery. You can start slowly, but you have to start somewhere.
The following is a short list of simple things you can do to ensure that your environment is truly high performing:
Test early and often. This is a crucial component of the pipeline because it adds to the scalability factor.
Automate everything (and we mean everything, including testing).
Create cohesive teams. Establish ways to communicate properly despite having people in geographically diverse locations.
Experiment. Don’t be afraid to try new things. If you don’t you may never know how to succeed.
Be Proactive About Security
Ever wonder why most conversations about the benefits of DevOps are tainted by a skeptic’s concern of its associated security? To be fair, the cause of these concerns warrants the argument. When enterprises begin to scale they typically disregard the security until things go into production. However, security is something you must consider at all parts of the process:
“Make sure that your security mindset is brought to the front. Think about it when you are starting to develop your application. This should be part of your whole DevOps cycle. Implement at the beginning of the process, not at the end.” – Sunil Mavadia, Director of Customer Success at XebiaLabs
Think about your enterprise’s security stance and whether it’s standardized. Ultimately, you’ll save much more money for your enterprise if you consider security prior to the attack rather than after it. Remember: being reactive to an application hack will cost your organization more money than if you’re proactive about preventing it. The trick is to integrate security into the process of scaling DevOps as a major priority.
Building Your DevOps Team
There are many ways your team can be organized but there are basic requirements that every team member must possess in order for the group to thrive. Critical skills include infrastructure and continuous integration/delivery knowledge, as well as development experience.
Once you’ve assembled a fully capable team, you can arrange them in three different ways:
Dedicated DevOps Team
This kind of team involves each member having their own skill set and as a result working on their own independent parts of the pipeline. Although this is a great way of using the team’s specialized skills, it often leads to stagnant progress. Individuals become more focused on the small tasks in front of them rather than seeing the big picture.
This is the ideal team for your enterprise because it spans multiple areas of your business, from Operations and Development to release and change managers. This kind of team provides communication amongst all sides of your enterprise.
Highly Collaborative, Decentralized Team
Requires a lot of organizational maturity as well as communication, which is why it’s often difficult to achieve.
Manage the DevOps adoption. Take charge and enforce management during this time. This includes gathering metrics to scale. Without metrics you can’t tell how well you or your enterprise is doing.
Implement DevOps practices through organizational change management. Always implement new DevOps practices at an enterprise layer. All changes should be distributed throughout all functional areas of the business to preserve continuity.
Use the “as a service” model to provide your service across all platforms. Make everything as self-servicing as possible. This is especially handy as the enterprise grows. As you begin onboarding more apps, it will become increasingly difficult to hire people quickly enough to help with the onboarding process of those applications.