How to become a platform engineer or where to develop in the DevOps direction?

How to become a platform engineer or where to develop in the DevOps direction?

We talked about who and why in the near future will need the skills to create 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 single 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 storage of delivery artifacts, monitoring systems and other services that your development teams use. The movement towards building internal platforms and forming platform teams began a few years ago. Evidence of this can be found in the reports State of DevOps by DORA, publications from Gartner and books like Team Topologies.

The main advantages of a platform approach to managing a company's infrastructure are as follows:

  • Product teams are not distracted from the development of their products to solve infrastructure problems.
  • The platform team responsible for the development of 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 a company managed to come to this approach, over time, an internal infrastructure platform may become more convenient for development teams than cloud provider services, because it was created taking into account the features and needs of teams, accumulating their experience and specifics. All this leads to an increase in the productivity of product teams, which means it is good for business.

Why Kubernetes?

Various tools can be used as a basis for creating an infrastructure platform. It used to be Mesos, now you can use Nomad in addition to Kubernetes and, of course, no one limits you in creating your own "bicycles". And yet, the majority of companies prefer to build a platform on Kubernetes. Here is what he is most appreciated for:

  • Support for modern engineering practices such as "infrastructure as code".
  • Lots of out-of-the-box mechanisms that teams need. For example, management of computing resources, mechanisms for managed deployment of applications and ensuring their fault tolerance.
  • A huge ecosystem that has tools for solving various problems, support by cloud service providers.
  • Developed community: dozens of conferences around the world, an impressive list of contributors, certification and certified specialists, educational programs for this tool.

Kubernetes is the new industry standard, it's only a matter of time before your company starts using it.

Unfortunately, all this does not come for free: with the advent 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 managing computing resources is changing.
  • The way the application is deployed and configured is changing.
  • We need a different approach to organizing monitoring and logging services.
  • There is a need to create new integrations between the services that are part of the platform, adapt existing automation scripts.

Even the developer's local environment and application debugging are also subject to change.

Companies can make the transition to the 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 opportunity to shift the team's focus from product development to the creation of new infrastructure, there is no opportunity to conduct large internal R&D, or there are unacceptable risks associated with the independent creation of new infrastructure and the transfer of product commands on it - here it is better to seek help from companies that have already passed this path 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 their application is launched and works in combat, they must be able to use the ecosystem to the maximum, be able to debug the application or change the deployment and configuration procedures. Also, this knowledge is indispensable and tech leads: you need to conduct a large amount of R&D, select suitable tools, study their limitations, find approaches to integration between the tools that make up 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, and so on 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 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 with its application
  • Which ecosystem tools are already mature enough to be used in combat and how to integrate them with each other.

Unlike other educational programs, we focus on the ecosystem and the nuances of operating Kubernetes clusters, and this is where companies that decide to switch to their infrastructure platform face difficulties.

After completing the course, you will be qualified as a platform engineer and will be able to independently create an infrastructure platform in your company. Which, by the way, is what some students do with us as project work, receiving feedback and support from teachers. Also, knowledge and skills will be enough to prepare for CNCF certification.

It is important to note that mastering these skills requires a solid knowledge of DevOps practices and tools. According to our observations of the vacancy 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.

Source: habr.com

Add a comment