- Implementing Modern DevOps
- David Gonzalez
- 350字
- 2021-07-08 10:11:15
What is DevOps?
There is a famous quote by Henry Ford, the creator of Ford (the popular car-maker brand):
This is what happened with the traditional system administrator role: people were trying to solve the wrong problem.
By the wrong problem, I mean the lack of proper tools to automate the intervention in production systems, avoiding the human error (which is more common than you may think) and leading to a lack of communication continuity in the processes of your company.
Initially, DevOps was the intersection of development and operations as well as QA. The DevOps engineer is supposed to do everything and be totally involved in the SDLC (software development life cycle), solving the communication problems that are present in the traditional release management. This is ideal and, in my opinion, is what a full stack engineer should do: end-to-end software development, from requirement capture to deployments and maintenance.
Nowadays, this definition has been bent up to a point where a DevOps engineer is basically a systems engineer using a set of tools to automate the infrastructure of any company. There is nothing wrong with this definition of DevOps, but keep in mind that we are losing a very competitive advantage: the end-to-end view of the system. In general, I would not call this actor a DevOps engineer but an Site reliability engineering (SRE). This was a term introduced by Google few years back, as sometimes (prominently in big companies), is not possible to provide a single engineer with the level of access required to execute DevOps. We will talk more about this role in the next section, SRE model.
In my opinion, DevOps is a philosophy more than a set of tools or a procedure: having your engineers exposed to the full life cycle of your product requires a lot of discipline but gives you an enormous amount of control over what is being built. If the engineers understand the problem, they will solve it; it is what they are good at.
- C#高級編程(第10版) C# 6 & .NET Core 1.0 (.NET開發經典名著)
- Python自動化運維快速入門(第2版)
- Offer來了:Java面試核心知識點精講(原理篇)
- C語言程序設計實訓教程
- Android驅動開發權威指南
- ASP.NET程序開發范例寶典
- 區塊鏈技術進階與實戰(第2版)
- 零基礎學C語言第2版
- Visual Basic程序設計(第三版)
- HTML+CSS+JavaScript網頁制作:從入門到精通(第4版)
- Tableau Desktop可視化高級應用
- Java程序設計
- 打造流暢的Android App
- Computer Vision with Python 3
- Learning Predictive Analytics with R