Dr Yih Leong Sun et al, Openstack Enterprise Working Group and OpenStack Foundation, looks at how you can build the right team for staffing the OpenStack cloud.
Staffing is a critical component of any cloud deployment. Cloud computing fundamentally changes business process and culture, so the right team structure will help ensure all parties are pulling in the same direction. According to current enterprise users, the OpenStack cloud platform significantly benefits businesses with agility and speed, cost savings and operational efficiency. But not every company has sufficient personnel, skill or cultural support to implement OpenStack.
While OpenStack can support a range of cloud environments—private and public; on-premise and hosted—this article focuses on the personnel needed to successfully implement an on-premise, private cloud. Here’s how to identify the necessary staff, determine whether some or all of it exists internally, and recruit and onboard the right people to fill any gaps.
In other words, here’s how to build your OpenStack dream team.
There are three key elements—a staffing assessment, staffing profile and staffing resources— needed to put together a team of professionals who can fully exploit OpenStack’s benefits and related technologies. But, before considering who will help drive an OpenStack implementation, it’s important to step back and clearly define the desired outcome.
Here are some questions to address to help guide staffing evaluation:
- What is the type and quantity of anticipated workloads, and how “elastic” are these workloads?
- What is the desired end state of the deployment? How big will it be, and how quickly do you want to get there?
- What is the scheduled timeline to complete each implementation phase?
- What is the overall size of the platform?
- Which employees within the company should be involved in defining the overall OpenStack strategy?
The purpose of a staffing assessment is to review the overall goals of a project and identify the skill sets needed during each implementation phase. An OpenStack implementation typically includes the following phases:
- Proof of concept (PoC): Focused on planning the overall deployment and the initial goals
- Pilot: Stresses the system, works on expected edge cases, and zeros in on requirements needed to begin production
- Production: Focuses on the program deployment and long-term goals
Assess staffing during each phase of a project to ensure that goals are being met and to anticipate future changes. It’s also important to re-evaluate staffing needs on a regular basis, as technology needs shift and evolve.
When evaluating staffing, consider:
- External support: Many organisations with large initial deployments and quick production ramps have benefited from external support, either through a managed or supported distribution consumption model.
- Shared resources: Depending on the skill level of available resources, one option is to bring in a shared resource to help train and develop teams for a specified time period. In turn, a team can help identify and define necessary skills for future team members, and train and develop those new hires.
- Shifting resources: When existing and future applications are moved onto the OpenStack cloud, headcount can be shifted from those application teams to the cloud team to assist in developing the infrastructure for their success.
A staffing profile defines the roles needed during each phase of implementation according to the implementation goals. Staffing needs vary from enterprise to enterprise, and depend on the scope of the project. There is no one standard that applies to all cloud adoption strategies.
We are often asked: “How many people are needed to run an OpenStack cloud?” There is no “one-size-fits-all” answer as cloud computing can often grey the lines among different internal teams and personnel. Based on feedback from production enterprise users of OpenStack, the chart below covers the most crucial roles during the three phases of implementation. The roles listed below do not necessarily correlate with the number of personnel required, as one person may be able to fill multiple roles, depending on experience and adopted consumption models. For example, some organisations include their platforms team as part of the OpenStack team, as well as their storage and security experts. Others, prefer to staff an OpenStack team exclusively with employees who are 100 percent focused on the OpenStack project to ensure devoted resources are available when and where needed.
There’s no need to hire someone with the skills that an existing employee already has—but, first, you need to know that those skills exist. That’s why it’s so important during the staffing evaluation process to identify available skills and resources. Only then can organisations effectively determine what people and skills need to be hired or contracted for to fill any gaps.
When it comes to building a cloud/OpenStack team, experience with and skills in the following are key:
- Linux/Unix – Command-line interface (CLI) and system administration proficiency
- Cloud computing and virtualization concepts – Ability to differentiate between the concepts and technologies of cloud platforms and virtualization platforms
- Configuration management – Experience working with scripts, fixing bugs, and automation
- Development – Experience in creating design specifications and software updates for cloud platforms
- Engineering – Experience with operating systems, hypervisors, network protocols, and platform patching and maintenance
- Cloud operations – Experience ensuring overall platform health, performing troubleshooting, and maintaining capacity expectations
- Support – Experience with automation and monitoring systems
A report by Forrester Research, “OpenStack is Ready—are You?” offers five more staffing requirements, as shared by OpenStack veterans:
- Systems architects who understand distributed system. This is an engineering-centric role and enterprises surveyed by Forrester said they generally evaluate applicants 80 percent on engineering and 20 percent on operations skills.
- Three to five operators with Linux admin and open source experience. This team functions as a support team that fixes bugs and answers help desk tickets—a mix of 60 percent operations and 40 percent engineering skills.
- An infrastructure team on call. It’s important to have seasoned infrastructure professionals who can assist with hardware, network or data center issues that occur.
- A team of modern developers with infrastructure configuration competency. You want developers familiar with the latest development, deployment, and cloud architecture tools and trends so they can build lasting applications.
- A C-level executive who has bought in. You want executive support and recognition of the OpenStack value proposition before you begin your deployment.
Anticipate the Future
The goal should be to build a team that will be successful throughout the OpenStack project and beyond. Focus on building an internal pipeline of candidates, including training and developing junior employees. An internship program is another good source for experienced staff in the future.
Look for individuals who have passed the Certified OpenStack Administrator (COA) program—the first professional certification offered by the OpenStack Foundation—or encourage internal staff to seek certification. A professional who has passed the COA has demonstrated competency in the foundational components of operating an OpenStack cloud, including OpenStack cloud components, identity, compute, object storage, networking, image management, orchestration and troubleshooting.
In addition, the OpenStack Job Board is an effective place to post your positions in order to find qualified candidates.
Building a solid OpenStack team is key to ensuring that your organisation can fully leverage OpenStack and related technologies, both now and in the future.