Internet companies have an important role called "Operations."

"Operations" in English is Operations, abbreviated as Ops, which literally means "operation," referring to various server operations.
Simply put, Operations engineers are those who manage servers and ensure the code runs smoothly.
This is a very important job, and companies should pay great attention to it. However, in recent years, the role of Operations has been shrinking, and Ops engineers are being asked to transition into DevOps engineers. As far as I know, many Operations engineers are actually quite frustrated.
How should we view this change? Are Operations promising? How will it develop in the future?

Recently, I read an article by a foreigner titled "The Future of Operations is Platform Engineering" .
"The future of Ops is platform engineering."

The author systematically addresses these questions, believing that Ops will eventually disappear, evolving into a new profession----"platform engineering" (platform engineering).
I find his article very inspiring, it has made my understanding of Ops much clearer, and I'm sharing it with everyone.
I. The origin of Ops
In the earliest days, there was no Ops; programmers were responsible for both writing and running software.
However, writing software and running software are actually two different skills: the former requires familiarity with code, while the latter requires familiarity with servers.
After the development of internet software, these two skills gradually diverged.
Developers are responsible for writing code, while Ops engineers are responsible for running the code (i.e., ensuring the server environment runs).
II. The Decline of Operations
It has been proven thatDeveloping and operations being separated is a huge mistake.
People who write code don't understand the server environment, and people who manage servers don't understand what the code is doing. This is not conducive to creating excellent products, nor is it conducive to troubleshooting problems.
Therefore, some companies advocate for the reintegration of development and operations: software developers are also responsible for running the software.
This is the origin of DevOps, which equals Dev (development) + Ops (operations).

On the other hand, the core assets and competitiveness of internet companies are more about code than operations. Therefore, companies are also willing to invest more resources in development, gradually downsizing dedicated operations teams, and actively outsourcing as much infrastructure as possible.
These two factors determine that operations, as a separate profession, are gradually disappearing.
III. Problems with DevOps
However, DevOps actually has no way to replace operations.
Increasingly complex business demands mean systems and infrastructure are also becoming more complex, while still needing to be stable and reliable.
Ordinary software engineers simply cannot achieve this. They neither understand all the infrastructure nor reach the professional level of system management required for operations.
In such cases, companies may choose to outsource, purchase external cloud services, outsourcing infrastructure to professional cloud service providers, to maximize cost compression.
IV. Responsibilities of Operations
Although operations are generally about managing servers, they can be divided into two aspects of responsibility: building infrastructure + managing runtime environments.
"Building infrastructure" refers to the tasks of hardware procurement, installation, rack mounting, and networking.
"Managing runtime environment" refers to ensuring the operation of business software.
After the emergence of DevOps, the responsibility of "building infrastructure" gradually disappeared, transforming into the procurement of cloud services, while the responsibility of "managing runtime environment" was handed over to DevOps engineers.
Thus, new problems arose: Who is responsible for procuring and integrating cloud services?
V. What is platform engineering?
Procuring suitable cloud services is not a simple task.
Cloud services are complex and diverse, with various APIs, SDKs, and supporting tools that can be overwhelming, even for experienced operations engineers.
Therefore, dedicated personnel are needed to make correct decisions, select a set of cloud services that meet the requirements, and be responsible for writing tools to integrate all purchased cloud services for business development use.
This role is called platform engineering, which is responsible for evaluating, procuring, and integrating various cloud services as its own infrastructure, and building its own platform on top of external cloud services to allow development engineers to self-service and deploy their code into production.
The above definition has several key points.
(1) Infrastructure is outsourced to minimize cost and development cycle.
(2) Platform engineers are responsible for integrating the outsourced infrastructure to build a platform.
(3) Development engineers, on this platform, self-construct and manage runtime environments, running their own code.
VI. The Difference Between Platform Engineering and Operations
There are several significant differences between platform engineering and operations.
(1) Platform engineering needs to develop software, including writing tests and code reviews, and the team's operation is very similar to a development team, with product managers, even designers and front-end engineers.
Operations generally do not develop application software, at most writing some automation scripts.
Previously, some engineers wrote code, and some ran code. In the future, all engineers will write code and run their own code, whether you are a development engineer, DevOps engineer, or platform engineer, the difference lies only in the different scope of responsibilities divided by layer or function.
(2) Platform engineering is cloud-native, and all work exists in the cloud.
Operations are not cloud-native and need to manage their own hardware, can only be said to support the cloud.
(3) Platform engineering procures cloud services, while operations procures hardware.
Seven, the future prospects of operations engineers
With the disappearance of traditional operations roles, existing operations engineers are inevitably facing transformation, with essentially three paths to choose from.
(1) If you enjoy developing business software, you can choose to become a DevOps engineer.
(2) If you like developing platform software, you can opt for platform engineering, focusing on infrastructure integration.
(3) If you prefer hardware and the underlying level, you can join a cloud company specializing in "Infrastructure as a Service" (IaaS) to delve deeper into infrastructure.
(End)












