Blog

Creating DevOps teams for the entire app lifecycle

DevOps teams need to work together to handle the entirety of an application’s lifecycle, so creating teams that understand everything from security to networking to operations is crucial to success. In real life, finding people who already have all the knowledge necessary to fit in to a DevOps team is challenging.

Therefore, it’s important to assemble a DevOps team where each person has expertise that is like a T-shape: deep knowledge in one or two subjects and shallow knowledge in everything else (see image below). More specifically, every DevOps team needs one expert on the following topics:

  • Linux administration
    • Linux kernel is common to all the tools in DevOps.
    • Understanding how to work in Linux as an admin.
  • Linux security
    • Knowing how security is achieved in Linux and how to comply with security concepts.
    • User account and permissions management.
    • Secure traffic processes.
    • Ability to show audit compliance.
    • Firewall concepts and reporting.
  • Basic networking
    • IP addressing and subnetting and some exposure to IPv6.
    • Physical, network, transport and application layers of traffic management.
    • Basic routing protocols, OSPF and BGP.
    • Types of Software Defined Networks and impacts or limitations of each type.
    • Understanding of VPN vs Software Defined WAN (SDWAN) vs SSL.
    • Load balancing, Network Address Translation or Port Address Translation (NAT and PAT).
  • Python
    • The most common language used in automation processes and DevOps tools.
    • A language that can be easily learned and provides ability to test tools in other steps in DevOps processes.
  • Git
    • Git allows multiple people to work together on a problem.
    • DevOps works best if all changes are stored in a Git process as is optimizes operations, security and audit compliance reporting.
  • OpenStack administration
    • OpenStack administration will expose the concept of all public clouds.
    • Understanding the impact of names, versions, services, and API processes is common to all clouds, but learning OpenStack provides foundational knowledge to work with any cloud.
  • Kubernetes administration
    • Kubernetes administration creates foundational knowledge of container-based systems that is relevant even if the target is Cloud Foundry, OpenShift or a public cloud environment.
    • Understanding Kubernetes administration will provide the skills on how to create a service that is resilient to failures and how to avoid creating applications with single points of failure.
  • Jenkins or other CI/CD tool
    • Kubernetes administration creates foundational knowledge of container-based systems that is relevant even if the target is Cloud Foundry, OpenShift or a public cloud environment.
    • Understanding Kubernetes administration will provide the skills on how to create a service that is resilient to failures and how to avoid creating applications with single points of failure.
  • Github/GitLab/Bitbucket
    • GIT is not sufficient to manage commercial code development. Corporate security, departmental controls, and regulatory compliance need more. Basic administrative understanding of Github, GitLab, or Bitbucket is critical.
    • Understanding of how to secure, organize, and provide reporting back to groups like a Project Management Office is critical to long term success and compliance.
  • ITIL
    • ITIL v4 shipped in Feb 2019, this update supports DevOps, agile, and lean processes and basic training in it is critical to corporate compliance and financial success. ITIL vocabulary awareness insures that the DevOps teams correctly communicates to other parts of the enterprise using the correct terms.
    • DevOps is how you get something into production, ITIL is how you keep it in production for the long term.
    • Basic ITIL knowledge ensures the DevOps teams efforts align with the needs and expectations of different areas of IT and internal funding processes.

Every team member needs to have working knowledge of everything on the list plus deep knowledge in at least one of the other subjects.

Perhaps, though, even calling each subject expert an ‘expert’ is erroneous. You’re looking for people who can be your local experts, who have more knowledge than anyone else on the team. However, the Kubernetes expert on a DevOps might be someone who has a deeper understanding of Kubernetes than other team members but still wouldn’t be able to make a living as a Kubernetes administrator.

The "T" of skills you want for a DevOps team


Build, Don't Buy

It’s almost always better to build a team internally instead of trying to hire the perfect DevOps engineers. Now that we’ve reviewed the DevOps team’s required skill sets, let’s dive into some of the reasons for cultivating that team from existing employees.

Scarce and Expensive DevOps Engineers

DevOps engineers who already have both the deep knowledge in one of the core DevOps subjects as well as shallow knowledge in all the rest are expensive to hire. For most companies, training your existing workforce will save tens of thousands of dollars per employee per year. The ability to find and if needed relocate skilled talent may reduce your options. Depending on where your company is located, how deep your pockets are and how attractive your industry is, finding a qualified DevOps team to hire off-the-shelf might not be possible, period. Engineering talent is scarce, and that is especially true when it comes to engineers who have all the skills to be part of a DevOps team.

 Augmenting Your Team With DevOps Infrastructure Automation

In the real world, building a DevOps team involves bringing engineers with differing types of expertise together and getting them to work together. It’s often a project starts before everyone is fully trained, and involves people working on projects in which they are not expert. Using a DevOps platform can provide the glue to bring everyone together.

Using infrastructure automation makes it easier for teams with T-shaped expertise to ensure that nothing is falling through the cracks—that a team doesn’t make a networking error or introduce security vulnerabilities because the team members working on that piece of the project was unaware of the security vulnerabilities.


Accurate skills on a DevOps teamInfrastructure with DevOps Automation Tools

Provides integrated deployment of DevOps tools that automate the product life cycle of modern software.
They are designed for business applications to release fast and release often without negatively impacting functionality or security of legacy systems.

Lower Costs and Better Business Value

 

When you’re building your DevOps team, there is going to be a learning curve for everyone involved. Using a holistic automation ecosystem provides the guardrails needed to make sure that the natural learning process doesn’t result in costly downtime or risky security issues. You can focus on building the team you need to make DevOps work for your company. Once you’ve built one team, you can expand DevOps throughout the engineering department to get more benefits from the DevOps approach.

Topics: Cloud, CTO, DevOps First, DevOps Automation

Subscribe to Email Updates

Recent Posts

Posts by Topic

see all