How to become a platform engineer or where to develop in DevOps direction?
We talked about who and why in the near future will need the skills of creating an infrastructure platform using Kubernetes, with a teacher Yuri Ignatov, lead engineer Express 42…
Where does the demand for platform engineers come from?
Recently, more and more companies are realizing the need to create an internal infrastructure platform that would be a unified environment for the development, preparation of releases, release and operation of the company’s digital products. Such a platform contains systems and services for managing computing and network resources, a continuous integration system, a repository of delivery artifacts, monitoring systems and other services that your development teams use. The movement towards building internal platforms and building platform teams began several years ago. Confirmation of this can be found in reports State of DevOps from DORA, publications from Gartner and books like Team Topologies…
The main advantages of a platform-based approach to managing a company’s infrastructure are as follows:
- Product teams are not distracted from developing their products to solve infrastructure problems.
- The platform team responsible for developing the infrastructure platform takes into account the needs of product teams in the company and creates solutions specifically for internal needs.
- The company accumulates experience internally that is easy to reuse, for example, when launching a new product team or when setting standards or common practices in the company.
If the company succeeds in coming to this approach, over time, the internal infrastructure platform may become more convenient for development teams than services of cloud providers, because it was created taking into account the peculiarities and needs of the teams, accumulating their experience and specifics. All this leads to an increase in the productivity of product teams, and, therefore, is beneficial for the business.
Various tools can be used as a basis for creating an infrastructure platform. Previously, it was Mesos, now, in addition to Kubernetes, you can use Nomad and, of course, no one limits you in creating your own “bicycles”. And yet, the overwhelming majority of companies prefer to build a platform on Kubernetes. This is what he is most valued for:
- Support for modern engineering practices such as infrastructure as code.
- Lots of mechanisms out of the box required by teams. For example, the management of computing resources, mechanisms for the controlled deployment of applications and ensuring their fault tolerance.
- A huge ecosystem in which there are tools for solving various problems, support by cloud service providers.
- Developed community: dozens of conferences all over the world, an impressive list of contributors, the availability of certification and certified specialists, educational programs for this tool.
Kubernetes can be called the new industry standard, it is a matter of time before your company starts using it.
Unfortunately, all this does not come for free: along with the arrival of Kubernetes and containerization technology in the processes and tools that the team uses in their daily work, a lot is undergoing changes:
- The approach to computing resource management is changing.
- The way the application is deployed and configured is changing.
- A different approach to organizing monitoring and logging services is needed.
- There is a need to create new integrations between the services that are part of the platform, adapt existing automation scripts.
Even the local developer environment and application debugging are also subject to change.
Companies can make the transition to an infrastructure platform and its maintenance on their own, developing the competencies of employees or hiring the necessary specialists. Cases when it is worth delegating these processes are also common, for example, if the company does not have the ability to shift the team’s focus from product development to the creation of a new infrastructure, there is no opportunity to carry out large internal R&D, or there are unacceptable risks associated with the independent creation of new infrastructure and the transfer teams on it – here it is better to seek help from companies that have already gone this way more than once.
New competencies for working with the infrastructure platform will be needed not only administrators (a specialty that is now being transformed into an infrastructure engineer), but also to developers. Developer must understand how his application is launched and works in battle, he must be able to use the ecosystem to the maximum, be able to debug the application, or change the deployment and configuration procedures. Also, one cannot do without this knowledge and techleads: you need to carry out a large amount of R&D, select suitable tools, study their limitations, find approaches to integration between the tools that are part of the platform and provide for various scenarios for using platform services by product teams.
If deploying Kubernetes, including at the facilities of cloud providers, is not so difficult, then transferring all development and operation processes, adapting applications, integrating a dozen new tools for the team, etc. is a really problematic task that requires a deep understanding of the processes and a large amount of communication with all participants in the creation of your products.
And we have collected all this information in our online course “Infrastructure platform based on Kubernetes”. In 5 months of practice, you will master:
- How Kubernetes Works
- How DevOps practices are implemented using it
- What ecosystem tools are already mature enough to be used in combat and how to integrate them.
Unlike other educational programs, we focus on the ecosystem and the nuances of operating Kubernetes clusters, and this is precisely where the difficulties arise for companies that have decided to switch to their infrastructure platform.
After completing the course, you will have the qualification of a platform engineer and will be able to independently create an infrastructure platform in your company. Which, by the way, is what some of our students do as project work, receiving feedback and support from teachers. Also, knowledge and skills will be enough to prepare for the CNCF certification.
It is important to note that mastering these skills requires strong knowledge of DevOps practices and tools… According to our observations of the job market, after training such a specialist can safely calculate a salary of 150-200 thousand rubles.
If you are just such a specialist with experience in using DevOps practices, we invite you pass the entrance test and get acquainted with the course program in more detail…