首頁 >常見問題 >DevOps、SRE、平台工程師、雲端角色解釋

DevOps、SRE、平台工程師、雲端角色解釋

百草
百草原創
2024-04-16 13:34:231241瀏覽

Article Summary As the DevOps philosophy evolves, there is increasing ambiguity surrounding the responsibilities of DevOps, Site Reliability Engineer (SRE), Cloud Engineer, and Platform Engineer related roles. Although these roles overlap, they have subtle differences in focus and skills. DevOps emphasizes collaboration between development and operations teams, while SRE applies software engineering practices to operations, focusing on system reliability. Cloud engineers focus on the management of cloud infrastructure, while platform engineers create internal developer platforms to provide self-service operations capabilities for developers. Role specifications remain unclear due to heterogeneity in DevOps practices and organizational resistance. Therefore, it is crucial to be clear about role expectations and organizational context when hiring. Ensuring that all operational needs are met is critical to supporting developers and realizing the full potential of DevOps.

DevOps、SRE、平台工程師、雲端角色解釋

As originally conceived, DevOps is more of a philosophy than a set of practices, and it is certainly not a job title or role specification. Yet today, DevOps Engineers, Site Reliability Engineers, Cloud Engineers, and Platform Engineers are all in high demand—their skills overlap, and recruiters sprinkle loosely related keywords into role descriptions, such as “CI/CD Pipelines, Deployment Engineering, Cloud Configuration, and Kubernetes.

When I co-founded Kubiya.ai, my investors pushed me to better define my target market. Is it just DevOps or SRE, Cloud and Platform Engineers and other end users? I’ve seen a lot of interest from job seekers and recruiters lately in defining these roles, from Reddit posts to webinars, here’s a look at it. Controversial Topic.

In this article, I present my thoughts but also recognize that there is a lot of room for interpretation. This is a inflammatory topic for many people. — So at the risk of starting a firestorm, let’s get going!

First, let’s quickly summarize a high-level view of these different roles

DevOps, SRE, Cloud, and Platform roles

DevOps

DevOps roles are all about teamwork and using tools to work smarter, not harder. They bring developers and operations people together to work. Speed ​​releases, improve system stability, and keep everyone on the same page

SRE (Site Reliability Engineer)

The SRE role focuses on making the system reliable and consistent. Scalable. They are like engineers who make sure everything runs smoothly behind the scenes, working closely with developers to automate processes and respond quickly to any issues.

Cloud Engineer

The role of a cloud engineer is like an architect of the cloud. They focus on setting up and managing cloud infrastructure, ensuring it is efficient, secure, and cost-effective. They use tools like AWS or Azure to create an environment where applications can thrive.

Platform Engineer

The role of a platform engineer is like a builder of a developer-friendly platform. They design and maintain systems that enable developers to manage their applications easily, From setting up workflows to monitoring performance, it’s all about creating a smooth experience for everyone involved

The evolution of DevOps and new work practices

DevOps practices evolved in the 2000s. , to meet the need to increase release speed and reduce time to market while maintaining system stability. In addition, service-oriented architecture allows separate development teams to work independently on individual services and applications, allowing for faster prototyping and iteration than ever before.

There is a growing traditional tension between development teams focused on software releases and independent, unique operations teams focused on system stability and security. This hinders the pace many businesses aspire to. Additionally, developers don't always correctly understand operational requirements, and operations staff are unable to prevent performance issues before they arise.

As originally conceived, DevOps is more of a philosophy than a set of prescriptive practices—so much so that there isn’t even a consensus on the quantity and nature of those practices. Some people cite "four pillars of DevOps," some cite "five pillars," and some cite six, seven, eight, or nine pillars. you can choose.

Different organizations implement DevOps in different ways (and many do not at all). Here we can anticipate the work norm dilemma we find ourselves in. As DevOpsDays founder Patrick Debois points out, "Not having a definition is good or bad. People...are really struggling right now with what DevOps means. But, on the other hand, not having everything written down means that it's going to open up to Moving in multiple directions.”

The answer to DevOps is to break down silos and encourage broader collaboration through tooling, cultural change, and shared metrics. Developers will own what they build - they will be able to deploy, monitor and troubleshoot end-to-end. Operations will better understand developer needs; engage early in the product lifecycle; and provide education, tools, and guardrails to promote developer self-service.

DevOps 沒有的一件事是角色規格。快進到今天,許多組織都在積極招募「DevOps 工程師」。更糟的是,人們對一個職位的定義知之甚少——從一個職位到下一個職位所尋求的技能組合差異很大。 「站點可靠性工程師」、「平台工程師」和「雲端工程師」等相關和重疊的角色正在使本已暗淡的水域變得更加混亂。

我們是如何走到這一步的?這些角色之間的真正區別是什麼(如果有的話)?

新 IT 角色的出現

隨著 DevOps 受到關注,DevOps 生態系統中的角色和職責變得越來越模糊。這種模糊性導致了站點可靠性工程師(SRE)、雲端工程師和平台工程師等相關角色的出現。每個角色都有自己獨特的關注點和技能。

SRE 受到 Google 管理大型系統方法的啟發,將軟體工程實踐與營運相結合,以確保服務的可靠性和效能。雲端工程師專注於部署和管理雲端基礎設施,利用 AWS、Azure 或 Google Cloud 等平台來優化可擴展性和效率。另一方面,平台工程師專注於設計和維護內部開發人員平台,為開發人員提供自助服務功能來管理應用程式生命週期的操作方面。

雖然這些角色之間有重疊,但它們各自都有不同的專業領域和重點。 SRE 優先考慮可靠性和彈性,雲端工程師專注於雲端基礎設施管理,平台工程師專注於創建以開發人員為中心的平台。了解這些角色的細微差別對於組織有效建立團隊並充分利用 DevOps 原則在軟體交付管道中的潛力至關重要。

DevOps 的阻力和困惑

根據我的經驗,實現DevOps 的最初構想(即在專業化與協作和共享之間實現最佳平衡)對許多組織來說一直是個挑戰。

Puppet 的 2021 年 DevOps 狀況報告發現,只有 18% 的受訪者認為自己是「高度發展」的 DevOps 從業者。正如DevOps Topologies 團隊所描述的,其中一些好處來自特殊情況。例如,Netflix 和 Facebook 等組織可以說擁有單一的基於網路的產品,這減少了產品流之間的差異,從而迫使開發人員和營運人員進一步分離。

其他人則施加了嚴格的協作條件和標準,例如 Google 的 SRE 團隊(稍後會詳細介紹!),他們也有權拒絕危及系統效能的軟體。

由於組織對變革的抵制、技能短缺、缺乏自動化或遺留架構,許多處於 DevOps 發展水平較低的人員都在努力充分實現 DevOps 的承諾。因此,該小組將採用各種不同的 DevOps 實施方法,包括 DevOps 拓撲中描述的一些 DevOps「反類型」。

對許多人來說,開發和維運仍然是孤立的。對於其他人來說,DevOps 將是一個工具團隊,位於開發中,負責部署管道、組態管理等,但仍與運維隔離。對其他人來說,DevOps 將是 SysAdmin 的簡單重塑,DevOps 工程師被聘用到營運團隊中,他們對技能的期望有所擴大,但沒有發生真正的文化變革。

公有雲使用的快速採用也增強了人們對自助服務 DevOps 方法前景的信心。但能夠按需配置和配置基礎設施與使開發人員能夠端到端部署和運行應用程式和服務相去甚遠。不幸的是,並非所有組織都明白這一點,因此許多組織的自動化在基礎設施自動化和配置管理階層上停滯不前。

DevOps 有如此多不同的體現,毫無疑問 DevOps 角色規範沒有明確的定義。對於一個組織來說,它可能只是最狹隘的部署工程的同義詞——也許只是創建CI/CD 管道——而在另一方面,它可能本質上是運維的重塑,並具有將基礎設施編寫為程式碼的額外技能、部署自動化和內部工具。對於其他人來說,它可以是介於兩者之間的任何灰色陰影,因此我們這裡有一系列令人眼花繚亂的 DevOps 職位列表。

SRE、雲端工程師和平台工程師角色

因此,根據招募組織的不同,DevOps 工程師可以是完全以部署為中心的工程師,也可以是更現代的系統管理員。 

其他相關角色:SRE、雲端工程師和平台工程師呢?以下是我對每個問題的看法:

網站可靠性工程師

SRE 的概念是由Ben Traynor 在Google 提出的,他將其描述為“當你將操作視為軟體問題並配備軟體工程師時你會得到什麼」。這個想法是讓人們結合操作技能和軟體開發技能來設計和運行生產系統。

站點可靠性工程師 (SRE)將軟體工程實踐與營運職責相結合,以確保系統和服務的可靠性、可擴展性和效能。他們專注於設計和實施自動化解決方案來管理和監控基礎設施、部署軟體並主動回應事件。 SRE 與開發團隊密切合作,建立和執行可靠性標準,定義服務等級目標 (SLO),並實施錯誤預算等實踐,以平衡創新與系統穩定性。他們的目標是透過持續改進和迭代來保持生產環境的高可用性和彈性。

服務可靠性服務等級協定 (SLA) 的定義至關重要,可確保開發團隊在接受部署之前預先提供證據,證明軟體符合嚴格的操作標準。此外,SRE 努力使基礎設施系統更具可擴展性和可維護性,包括為此目的設計和運行標準化 CI/CD 管道和雲端基礎設施平台以供開發人員使用。

如您所看到的,這與某些人對 DevOps 工程師的定義有很大的重疊。因此,也許思考差異的一種方式是這樣的。相較之下,DevOps 最初的目的是提高發布速度,而SRE 的目標是在系統規模和產品複雜性不斷增長的背景下建立更可靠的系統。所以從某種程度上來說,兩人是在中間相遇的。

雲端工程師

隨著雲端功能的不斷成長,一些組織為雲端工程師創建了專門的角色。同樣,儘管沒有硬性規定,但雲端工程師通常專注於部署和管理雲端基礎設施,並知道如何為雲端原生應用程式建置環境。他們將成為 AWS/Azure/Google 雲端平台的專家。根據與 DevOps 工程師職責的重疊程度,他們也可能精通 Terraform、Kubernetes 等。

此外,雲端工程師利用他們在雲端技術方面的專業知識來設計、實施和維護可擴展和彈性的雲端架構,確保應用程式和系統在雲端環境中高效、安全地運作。雲端工程師還可以致力於自動化、監控和成本優化策略,以最大限度地發揮雲端運算為其組織帶來的優勢。

隨著雲端採用的不斷推進,雲端工程師的角色正在涵蓋以前所謂的基礎設施工程師,其最初的重點是雲端和本地基礎設施管理。

平台工程師

內部開發人員平台(IDP) 已成為最新的解決方案,可解決平衡開發人員生產力與系統控制和穩定性的難題。平台工程師設計和維護IDP,旨在為開發人員提供自助服務功能,以獨立管理整個應用程式生命週期的操作方面——從CI/CD工作流程;基礎設施配置和容器編排;監控、警報和可觀察性。

許多開發人員根本不想進行維運-至少不是傳統意義上的運維。作為一名創意藝術家,開發人員不想擔心基礎設施如何運作。因此,至關重要的是,該平台被視為一種產品,透過創建引人注目的自助開發人員體驗來實現控制,而不是透過強制執行標準和流程。

消除歧義:澄清角色期望

那麼,所有這些不同角色的候選人都在哪裡呢?可能就目前而言(至少在 DevOps 實施方法具有更大的通用性之前),唯一現實的答案是確保您在面試期間詢問所需的一切,明確角色期望和您將被雇用的組織環境。 

對於招募人員來說,您可能會出於各種原因決定廣泛撒網,在招聘啟事中塞滿熱門關鍵字。但最終,有關候選人的經驗和能力的細節必須在面試過程和與推薦人的對話中反映出來。

在我看來,無論您是DevOps、平台工程師、雲端工程師,甚至是SRE,確保支援開發人員的所有營運需求都將有助於幫助他們專注於創造下一個最好的產品。

以上是DevOps、SRE、平台工程師、雲端角色解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn