close

作者 | Gergely Orosz
譯者 | 平川
策劃 | Tina

本文最初發布於 Gergely Orosz 的個人博客。

亞馬遜有大量的內部系統。作為軟件工程師和工程經理,下面這些值得了解一下。

當作為 SDE(軟件開發工程師)或 SDM(軟件開發經理)加入時,你必須學會使用亞馬遜自定義的技術棧,這和 AWS 客戶所使用的技術棧有着驚人的差異。下面這些是你可能會遇到的系統。

與 SDE 密切相關的內部系統

Code:代碼搜索和 VCS(Git)。

Crux:亞馬遜的代碼評審系統。

Brazil:亞馬遜的構建系統。可以看下這篇詳細介紹 Brazil 的文章,雖然已經過時,但仍有意義。

Sage:亞馬遜內部的「Stack Overflow」。

亞馬遜內部維基系統:該系統有一些令人愉快的特性,比如很容易在頁面上嵌入來自 AWS Cloudwatch 或先前系統(PMET —— 性能指標)的圖片。

NAWS(Native AWS):使用現行 AWS 的「現代」技術棧。

MAWS(Move to AWS):遺留的舊 AWS 系統。

許多系統在從這上面移走,尤其是在零售領域。

MAWS 要求服務通過一個名為的 Apollo 系統在 EC2 實例上啟動,這在 NAWS 中基本已經廢棄了(你應該使用 Lambda 或 ECS,或者在絕對必要的情況下使用原始 EC2)。

Isengard/Conduit:AWS 賬號管理,所有系統都是隔離的,這可以保證每個區域、服務、階段(stage)都有獨一無二的 AWS 賬號。

Last Week in AWS 編輯 Corey Quinn 將這項服務說成是「他最討厭的 AWS 服務」。他寫道:

事實上,這是用於配置 AWS 賬號的內部系統,這意味着,構建 AWS 的 AWS 工程師管理 AWS 賬號的方式與世界上其他人管理 AWS 賬號的方式絕緣。他們不需要採用和 AWS Organizations、Landing Zones、Control Tower 或 AWS SSO 一樣的方式。這是我對這項服務不滿的根本原因。

Pipelines:CI/CD 系統,支持多階段部署(最多 4 個階段:beta、gamma、prod、local)。有一位 AWS 工程師這樣描述它:

在亞馬遜,管道是「把簡單的事情變困難,把困難的事情變可能」的最佳例子之一。部署到 3-4 階段的服務(跨不同區域的 beta、gamma 和 prod)大概並不關心管道。而像大多數 AWS 服務那樣,在流水線中有數百個部署單元的服務則對它非常滿意。

LPT:動態管道模板。這是一個生成 CloudFormation 或 CodeDeploy 模板的 Ruby 庫,它會同時定義管道、Isengard 賬號及其他腳手架。通常,每個服務都有一個 LPT 包來創建所需的資源。

AWS CDK:亞馬遜在推動使用它代替 LPT,但截至 2022 年初,與 LPT 相比,它還是一個不怎麼成熟的系統。大部分團隊都在採取行動,有些團隊表示,他們特別喜歡它提供的 TypeScript 支持。

2PR:針對敏感操作的第二人審批系統,如 Isengard 和 SSH 登錄系統。如果訪問系統時沒有按要求審批,就會自動創建一個團隊違規通知單,這可以升級到管理層。

組織層面的系統

AWS Chime:以前是亞馬遜的聊天和視頻通話應用程序。現在,亞馬遜使用 Slack 聊天,但 AWS Chime 仍用於視頻通話,包括電話面試。

Kingpin:團隊、組織及亞馬遜公司範圍的目標跟蹤系統。

Accolades:一個通過評價讚美員工的工具,並且提供了方法,可以方便地抄送給經理和其他人。

Connections:在公司筆記本上預裝。它會在一天開始的時候提一個簡單的問題,像」你覺得你的經理怎麼樣「,或者」你的團隊對卓越運營(OE)的重視程度如何?「,並讓你給出滿分為 5 的評級。公司里每個人每天看到的問題都一樣。

Forte:亞馬遜公司範圍的績效反饋流程,從 12 月下旬開始一直運行到 1 月底。員工使用 Forte 工具請同行及與他們共事的人反饋意見。簡短的反饋,只有 60 個單詞或更少。

匯總後的匿名結果會上傳給管理層,他們的目標是隨着時間的推移提高他們的 Connections 分數。這些結果會與團隊分享,團隊會給出反饋,而他們的經理則會據此採取措施。

編程語言

大多數服務都是用 Java 編寫的。不過,團隊是自治的,他們可以選擇任何自己想用的語言和框架。雖然 Java 是主要的,但這些服務中也使用了多種其他語言。

查看英文原文:

https://blog.pragmaticengineer.com/amazon-notable-systems/

今日好文推薦

每日優鮮回應清退解散;國內 Go 語言愛好者發起新編程語言;微信安裝包 11 年膨脹 575 倍|Q 資訊

試圖顛覆 JavaScript 生態?親身試用新 JS 運行時 Bun 後,我覺得未來可期

在中國 ToB 市場選一個對的供應商太難了

搞不定移動端性能,全球爆火的 Notion 從 Hybrid 轉向了 Native

​​
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()