标签: AZ-305

  • Microsoft:我們不會為了 Rust 而「放棄」C#

     21CTO

    儘管最近有關於微軟減少其自家C#語言的使用,以支持Rust語言的消息不斷傳出,但這家公司表示它仍然致力於支持C#。

    這項消息來自MSPoweruser的Rafly Gilang看到微軟的招募訊息,它在尋找熟悉Rust的架構師幫助在Rust中重寫使用C#(.net序列中的程式語言)建構的核心元件。

     

     

     

     

     

     

     

     

    網址:https://jobs.careers.microsoft.com/global/en/job/1633482/Principal-Software-Architect

    其職位描述是指導現有大規模 C# 雲端服務向 Rust 程式碼的技術過渡。 此舉被視為是Microsoft採用Rust實現全球平台服務現代化和優化的更廣泛努力的一部分。 Rust 語言提供記憶體安全性和效能。

    C# 不會無處可去

    Microsoft承認它對 Rust 的各種用例感興趣,但 C# 不會被取代。 相反,Rust 只是該公司武器庫中的語言。

    微軟的發言人這樣說:

    「在 Microsoft,我們使用各種程式語言來開發並向客戶交付產品和服務。C#仍然是Microsoft高度重視的語言,我們致力於其持續成長和發展」。

    C#是一種通用的高階程式語言,由Anders Hejlsberg設計。 Anders Hejlsberg是Microsoft「自吹自擂「的技術研究員、軟體工具製造者和程式語言創作者。 Microsoft 於 2000 年發布了 C#。

    而 Rust 是一種多範式、通用的程式語言,強調效能、類型安全性和並發性。 Rust 於 2015 年問世,被視為一種更現代的程式語言。 Rust 基金會是此程式語言的管理者。

    Rust基金會的一位代表說:

    「因為Microsoft是Rust基金會白金會員的創始成員,我們的團隊自成立以來一直致力於Rust程式語言的發展和未來的成功。儘管如此,我們並不認為Microsoft對Rust 的承諾表明C# 被’放棄’ ,正如最近的報導和評論所暗示的那樣。

    Microsoft尋求填補的職位角色是該公司的Substrate App Platform小組,該開發小組是Microsoft 365核心平台開發團隊的一部分。

    」生鏽的愛「

    如今,Rust 程式設計師的需求開始變得很大,因為越來越多的組織因其安全性和效能而轉向該語言。

    Omdia分析師Brad Shimmin說:

    「這就像人們在說『嘿,我們為什麼要用Rust 重寫Linux 核心的一部分?』這些都是挺大的問題,因為與Python之類的東西相比,Rust對開發者並不友好,但 作為一種通用語言,與C語言相比,它有一些重要的優勢。

    Rust 在最新的流行程式語言 TIOBE 排行榜中排名第 18位,而 C# 排名第5。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    同時,2023 年 Stack Overflow 調查將 Rust 列為最受推崇的語言,因為去年使用它的開發人員中有超過 80% 希望今年再次使用它。 2022 年 Stack Overflow 調查報告顯示了 Rust 的類似結果。

    Brad Shimmin也說:

    「你可以編寫與C# 一樣快的裸機程式碼,而不必擔心伴隨該語言的記憶體’陷阱’,我認為對於更廣泛的應用程式中的特定項目和模組,Rust 絕對是一個不錯的選擇,尤其是在 效能和健壯性被提上日程的情況下。 發行版一樣。

    事實上,就性能和健壯性而言,Rust 是一個不錯的選擇。

    「我想這是一種更好、更有效的編碼和管理資源的方式——Rust 的價值在於它是被編譯的,它管理內存,而不是C++,你管理內存(安全問題),但它很 快,C# 管理記憶體(垃圾收集器),但它是字節碼動態編譯,沒有那麼快或節省空間,“

    Rust 管理記憶體(新格式,而不是垃圾回收器),並且對其進行編譯,使其更快、更有效率。 這主要對在 Office 365 等雲端平台上運行的東西有價值。

    關於預算

    針對Microsoft 經常修改Azure中執行的服務代碼。 微軟MVP和區域總監,Campbell&Associates的創辦人Richard Campbell這樣表示:

    「我懷疑他們熱衷於優化該程式碼,因為這會花掉他們部門的預算」。

    Campbell 指出,這些程式碼最初是用 C# 編寫的,因為可以快速開發並進入市場——只有當它變得熱門時,才會考慮 Rust 可以帶來的那種極端的效能最佳化。 只有當服務需求量很大時,微軟才會考慮這種優化——如果很少人使用它,那就不值得了。

    「當你追求峰值最佳化時,你會傾向於使用低階語言——那種『接近金屬』的語言,這樣你就可以盡可能地節省每一個處理週期。C# 是一種很棒的語言,但它 存在於託管運行時中,該運行時針對可靠性和易用性進行了優化。 – 通常是C++。

    而相關的權衡是,C++程式碼更難編寫和調試,並且需要非常熟練的人來編寫高度優化的程式碼。

    Campbell 說:「Rust 代表了新一代的低階程式語言,它使得在該層級創建高品質的程式碼變得更加容易。

    一個錯誤?

    然而,對於一家軟體公司來說,僅僅用 Rust 重寫其程式碼庫可能是一個錯誤。

    Brad Shimmin這樣說:

    「首先,有能力的 Rust 開發人員比那些精通 C#、React 等工程師更難找到,其次,如果出現大規模的變化,Rust 中的一些記憶體安全限制可能會隨著時間推移而變得難以維護。

    但是,他說可以很容易想像Microsoft為什麼要這樣做。

    「這與 Linus Torvalds 允許 Rust 進入 Linux 核心的理由相同:效能和穩定性,」這就是 Linus 從驅動程式開始的原因。 它們就在祼機金屬上工作,而且是高度模組化的。 用Rust很合適。 就像用 Python 編寫Web應用程式一樣,它也非常適合資料科學專案。

    Google 也提高了 Rust 賭注

    同時,Microsoft並不是唯一一家密切關注 Rust 的大公司。 如果你關注21CTO,本月早些時候,Google承諾向Rust基金會提供100萬美元,以提高C++和Rust程式語言之間的互通性。 (相關連結:Google向 Rust 基金會捐贈 100 萬美元,改善 Rust 與 C++ 的互通性)

    雖然這個專案被稱為“Interop Initiative”,但其目標本質上更加聚焦,讓“組織慢慢地將當前的C++遷移到Rust”。

    同樣的情況,關注記憶體安全是一個核心問題。

    Lars Bergstrom 在Ggoogle 是 Android 平台工具和函式庫的總監,也是 Rust 基金會董事會主席。 他在一篇部落格文章中這樣寫道:

    “雖然 Rust 可能不適合所有產品應用程序,但優先考慮與 C++ 的無縫互通性將加速更廣泛的開發者社區採用,從而與提高內存安全性的行業目標保持一致,”

    作為具有網路安全背景和基礎設施安全局 (CISA)的 局長 Jen Easterly 最近倡導在 Android 中使用 Rust 和 Google 核心的實現,作為組織和平台緩解記憶體安全漏洞的關鍵方式。 據CISA稱,大約三分之二的已知軟體漏洞是一類被稱為「記憶體安全」漏洞的弱點,這些漏洞是引入了與電腦記憶體存取方式相關某種類型的漏洞。

    此外,Google一直是 Rust 實施的先驅。 谷歌表示,迄今為止,在 Android 的 Rust 程式碼中發現的記憶體安全漏洞為零。 雖然Google在Android中使用Rust的成長最為明顯,但該公司仍在繼續擴大其在更多應用程式中的使用,包括客戶端和伺服器硬體。

    Microsoft 的「生鏽」歷史

    事實上,Microsoft對 Rust 的興趣已經不是一兩天了。

    早在 2020 年,微軟就表示逐步轉向 Rust 來建立其基礎設施軟體,遠離 C/C++。

    2022 年,Azure 技術長Mark Russinovich 就在Twitter(現在稱為X)上發文說:「說到語言,是時候停止在C/C++ 中啟動任何新專案了,並將Rust 用於需要非GC 語言 的場景。

    雖然然 Rust 的學習曲線很陡峭,Azure團隊更喜歡 Rust 而不是 Go,因為 Rust 能夠發現 Go 無法發現的錯誤。

    去年,Russinovich 在平台上發文說:“如果你在 Windowns 11 Insider 體驗頻道上,你就會在 Windows 核心中第一次嚐到 Rust 的滋味!”

     

  • “考試 AZ-305:設計 Microsoft Azure 基礎結構解決方案”學習指南

    考試 AZ-305學習指南應説明你了解考試的預期內容,並包含考試可能涵蓋的主題摘要以及指向其他資源的連結。 本文檔中的資訊和材料可以説明你在準備考試時集中精力學習。

    有用連結 說明
    查看自 2023 年 8 月 7 日起測試的技能 此清單表示在提供的日期之後測試的技能。 如果你計劃在該日期之後參加考試,請學習此清單。
    查看 2023 年 8 月 7 日之前測試的技能 如果在提供的日期之前參加考試,請學習此技能清單。
    更改紀錄 如果想要查看將在提供的日期所做的更改,可以直接轉到更改日誌。
    如何獲得認證 有些認證只需要通過一項考試,而另一些認證則需要通過多項考試。
    認證續訂 Microsoft 助理、專業和專家認證每年都會過期。 你可以通過 Microsoft Learn 上的免費在線評估進行續訂。
    Microsoft Learn 個人資料 通過將認證個人資料連接到 Microsoft Learn,可以安排和續訂考試以及共用和列印證書。
    考分和成績報告 需要 700 分或更高的分數才能通過。
    考試沙盒 可以通過訪問我們的考試沙箱來探索考試環境。
    申請調整 如果你使用輔助設備、需要額外時間或需要修改考試體驗的任何部分,你可以申請住宿。
    進行免費的練習評估 通過練習題測試技能,説明你為考試做準備。
    考試更新
    我們的考試會定期更新,以反映執行某一角色所需的技能。 我們提供了兩個版本的技能測評目標,具體取決於你參加考試的時間。

    我們始終首先更新考試的英語版本。 一些考試已當地語系化為其他語言,在英語版本更新后大約八周進行更新。 雖然 Microsoft 會盡一切努力更新當地語系化版本,但有時考試的當地語系化版本可能未按此計劃進行更新。 其他可用語言列在「考試詳細資訊」網頁的「安排考試」 部分。 如果考試不以你的首選語言提供,你可以請求額外 30 分鐘時間來完成考試。

    注意
    每項技能下面的項目符號旨在說明我們如何評估該技能。 考試中可能會涉及到相關的主題。

    注意
    大多數問題都涉及正式發佈 (GA) 的功能。 如果經常使用預覽功能,該考試可能會包含有關這些功能的問題。

    自 2023 年 8 月 7 日起測試的技能
    受眾概況
    參加該考試的考生應該是 Azure 解決方案架構師,且在設計可在 Azure 上運行的雲和混合解決方案(包括計算、網路、存儲、監視和安全性)方面具備學科專業知識。

    此角色的職責包括為利益干系人提供建議,並將業務需求轉化為符合 Azure 架構良好的框架的 Azure 解決方案的設計。

    Azure 解決方案架構師與開發人員、管理員、安全工程師、數據工程師以及負責在 Azure 中實現解決方案的其他角色合作。

    此認證的考生應該具有IT操作的資深經驗和知識,包括網路、虛擬化、標識、安全性、業務連續性、災難恢復、數據平臺和治理。 此角色中的專業人員應管理每個領域的決策如何影響整體解決方案。 此外,他們還應具有 Azure 管理、Azure 開發和 DevOps 流程方面的經驗。

    設計標識、治理和監視解決方案 (25-30%)

    設計資料儲存解決方案 (20–25%)

    設計業務連續性解決方案 (15–20%)

    設計基礎結構解決方案 (30–35%)

    設計標識、治理和監視解決方案 (25-30%)
    設計用於記錄和監視的解決方案
    推薦日誌記錄解決方案

    推薦用於路由日誌的解決方案

    推薦監視解決方案

    設計身份驗證和授權解決方案
    推薦身份驗證解決方案

    推薦標識管理解決方案

    推荐用于授权访问 Azure 资源的解决方案

    推荐用于管理机密、证书和密钥的解决方案

    设计治理
    针对用于管理组、订阅和资源组的结构以及资源标记策略提出建议

    推荐用于管理合规性的解决方案

    推荐用于标识治理的解决方案

    设计数据存储解决方案 (20–25%)
    为关系数据设计数据存储解决方案
    推荐用于存储关系数据的解决方案

    推荐数据库服务层级和计算层

    推荐数据库可伸缩性解决方案

    推荐数据保护解决方案

    为半结构化和非结构化数据设计数据存储解决方案
    推荐用于存储半结构化数据的解决方案

    推荐用于存储非结构化数据的解决方案

    推荐可以在特性、性能和成本之间实现平衡的数据存储解决方案

    推荐可提供保护和持久性的数据解决方案

    设计数据集成
    推荐用于数据集成的解决方案

    推荐用于数据分析的解决方案

    设计业务连续性解决方案 (15–20%)
    设计用于备份和灾难恢复的解决方案
    为 Azure 和混合工作负载推荐能满足恢复目标的恢复解决方案

    推荐用于计算的备份和恢复解决方案

    推荐用于数据库的备份和恢复解决方案

    推荐用于非结构化数据的备份和恢复解决方案

    旨在实现高可用性
    推荐计算高可用性解决方案

    推荐针对关系数据的高可用性解决方案

    推荐针对半结构化和非结构化数据的高可用性解决方案

    设计基础结构解决方案 (30–35%)
    设计计算解决方案
    根据工作负载要求指定计算解决方案的组件

    推荐基于虚拟机的解决方案

    推荐基于容器的解决方案

    推荐基于无服务器的解决方案

    推荐用于批处理的计算解决方案

    设计应用程序体系结构
    推荐消息传递体系结构

    推荐事件驱动的体系结构

    推荐 API 集成的解决方案

    推荐应用程序的缓存解决方案

    推荐应用程序配置管理解决方案

    推荐适合应用程序的自动化部署解决方案

    设计迁移
    评估利用适用于 Azure 的 Microsoft 云采用框架的迁移解决方案

    评估用于迁移的本地服务器、数据和应用程序

    推荐用于将工作负载迁移到基础结构即服务 (IaaS) 和平台即服务 (PaaS) 的解决方案

    推荐一个用于迁移数据库的解决方案

    推荐一个用于迁移非结构化数据的解决方案

    设计网络解决方案
    推荐将 Azure 资源连接到 Internet 的连接解决方案

    推荐将 Azure 资源连接到本地网络的连接解决方案

    推荐优化网络性能的解决方案

    推荐优化网络安全的解决方案

    推荐负载均衡和路由解决方案

    学习资源
    我们建议你在参加考试之前进行培训并获得实践经验。 我们提供自学选项和课堂培训,以及指向文档、社区网站和视频的链接。

    学习资源 学习和文档链接
    参加培训 从自定进度学习路径和模块中进行选择,或参加讲师引导式课程
    查找文档 Azure 文档
    设计 Azure 中基础结构操作的架构
    Azure 体系结构中心
    浏览 Azure 体系结构
    提问 Microsoft Q&A | Microsoft Docs
    获取社区支持 Azure 社区支持
    关注 Microsoft Learn Microsoft Learn – Microsoft Tech Community
    查找视频 备考区
    Azure Fridays
    浏览其他 Microsoft Learn 节目
    更改日志
    理解表的关键:主题组(也称为功能组)以粗体字样显示,后跟每个组中的目标。 下表比较了两个版本的考试测评技能,第三列描述了更改程度。

    2023 年 8 月 7 日之前测评的技能领域 自 2023 年 8 月 7 日开始测评的技能领域 更改
    受众概况 次要
    设计标识、治理和监视解决方案 设计标识、治理和监视解决方案 没有变化
    设计用于记录和监视的解决方案 设计用于记录和监视的解决方案 次要
    设计身份验证和授权解决方案 设计身份验证和授权解决方案 主要
    设计治理 设计治理 次要
    设计应用程序的标识和访问权限 Deleted
    设计数据存储解决方案 设计数据存储解决方案 考试占比下降
    为关系数据设计数据存储解决方案 为关系数据设计数据存储解决方案 次要
    设计数据集成 设计数据集成 没有变化
    推荐数据存储解决方案 Deleted
    为非关系数据设计数据存储解决方案 为半结构化和非结构化数据设计数据存储解决方案 次要
    设计业务连续性解决方案 设计业务连续性解决方案 考试占比增加
    设计用于备份和灾难恢复的解决方案 设计用于备份和灾难恢复的解决方案 次要
    高可用性设计 旨在实现高可用性 主要
    设计基础结构解决方案 设计基础结构解决方案 考试占比增加
    设计计算解决方案 设计计算解决方案 次要
    设计应用程序架构 设计应用程序体系结构 次要
    设计迁移 设计迁移 次要
    设计网络解决方案 设计网络解决方案 次要
    2023 年 8 月 7 日之前测试的技能
    受众概况
    Azure 解决方案架构师专家认证的考生应具有设计可在 Microsoft Azure 上运行的云端和混合解决方案的学科专业知识,包括计算、网络、存储和安全性等方面。

    担任此职务的职责包括为利益相关者提供建议,并将业务需求转换为安全、可扩充且可靠的 Azure 解决方案的设计。

    Azure 解决方案架构师与开发人员、管理员以及负责在 Azure 上实现解决方案的其他角色合作。

    此认证的考生应该具有 IT 操作的资深经验和知识,包括网络、虚拟化、标识、安全性、业务连续性、灾难恢复、数据平台和治理。 此角色中的专业人员应管理每个领域的决策如何影响整体解决方案。 此外,他们还应具有 Azure 管理、Azure 开发和 DevOps 流程方面的经验。

    设计标识、治理和监视解决方案 (25-30%)

    设计数据存储解决方案 (25-30%)

    设计业务连续性解决方案 (10-15%)

    设计基础结构解决方案 (25-30%)

    设计标识、治理和监视解决方案 (25-30%)
    设计用于记录和监视的解决方案
    设计日志路由解决方案

    推荐适当的记录级别

    为解决方案推荐监视工具

    设计身份验证和授权解决方案
    推荐使用基于角色的访问控制来保护资源的解决方案

    推荐标识管理解决方案

    推荐用于保护标识的解决方案

    设计治理
    推荐用于 Azure 资源的组织和分层结构

    推荐用于强制实施和审核符合性的解决方案

    设计应用程序的标识和访问权限
    推荐可允许应用程序访问 Azure 资源的解决方案

    推荐一种可安全存储密码和机密的解决方案

    推荐可将应用程序集成到 Microsoft Azure Active Directory (Azure AD)(Microsoft Entra 的一部分)的解决方案

    推荐一种适用于应用程序的用户同意解决方案

    设计数据存储解决方案 (25-30%)
    為關係數據設計數據存儲解決方案
    推薦資料庫服務層級大小

    推薦資料庫可伸縮性解決方案

    推薦用於加密靜態數據、傳輸中數據和使用中數據的解決方案

    設計數據集成
    推薦用於數據整合的解決方案

    推薦用於數據分析的解決方案

    推薦數據存儲解決方案
    推薦用於存儲關係數據的解決方案

    推薦用於存儲半結構化數據的解決方案

    推薦用於存儲非關係數據的解決方案

    為非關係數據設計數據存儲解決方案
    推薦數據存儲的訪問控制解決方案

    推薦一個可以在特性、性能和成本之間實現平衡的數據存儲解決方案

    設計可提供保護和持久性的數據解決方案

    設計業務連續性解決方案 (10-15%)
    設計用於備份和災難恢復的解決方案
    為滿足恢復目標(恢復時間目標 [RTO]、恢復水平目標 [RLO]、恢復點目標 [RPO])的 Azure、混合和本地工作負載推薦恢復解決方案

    瞭解容器的恢復解決方案

    推薦用於計算的備份和恢復解決方案

    推薦用於資料庫的備份和恢復解決方案

    推薦用於非結構化數據的備份和恢復解決方案

    旨在實現高可用性
    確定 Azure 資源的可用性要求

    推薦計算高可用性解決方案

    推薦非關係數據存儲高可用性解決方案

    推薦關係數據存儲高可用性解決方案

    設計基礎結構解決方案 (25-30%)
    設計計算解決方案
    推薦一個基於虛擬機的計算解決方案

    根據工作負載要求推薦適當大小的計算解決方案

    推薦一個基於容器的計算解決方案

    推薦一個基於無伺服器體系結構的計算解決方案

    設計應用程式體系結構
    推薦應用程式的緩存解決方案

    推薦消息傳遞體系結構

    推薦事件驅動的體系結構

    推薦適合你應用程式的自動化部署解決方案

    推薦應用程式配置管理解決方案

    推薦 API 整合的解決方案

    設計遷移
    評估利用 Azure 雲採用框架的遷移解決方案

    評估和解釋要遷移的本地伺服器、資料和應用程式

    推薦一個用於遷移應用程式和虛擬機的解決方案

    推薦一個用於遷移資料庫的解決方案

    推薦一個用於遷移非結構化數據的解決方案

    設計網路解決方案
    根據工作負荷要求推薦網路體系結構解決方案

    推薦將 Azure 資源連接到 Internet 的連接解決方案

    推薦將 Azure 資源連接到本地網路的連接解決方案

    優化應用程式的網路性能

    推薦優化網路安全的解決方案

    推薦負載均衡和路由解決方案

  • Microsoft 認證:Azure 解決方案設計專家

    AZ-303 和測驗 AZ-304 將於 2022 年 3 月 31 日退場。 已提供新的搶鮮版 (Beta) 測驗 AZ-305。

    若要取得此認證,請備齊下列要求:
    取得 Microsoft 認證:Azure 系統管理員技術師認證,並通過測驗 AZ-305 或
    通過測驗 AZ-303 和測驗 AZ-304 (請於 2022 年 3 月 31 日退場前完成),或
    通過測驗 AZ-303 (請於 2022 年 3 月 31 日退場前完成) 和測驗 AZ-305
    如需認證路徑的詳細資訊,請參閱此篇部落格文章。

    此認證的內容已於 2021 年 11 月 23 日更新。請下載測驗 AZ-303 和測驗 AZ-304 頁面上的技能評量文件,以查看變更的內容。

    Azure 解決方案架構師專家認證的應試者應具有設計可在 Microsoft Azure 上執行之雲端和混合式解決方案方面的主題專業知識,包括計算、網路、儲存體、監視和安全性。

    此角色的責任包括為利害關係人提供意見,並將商務需求轉譯為安全、可調整且可靠 Azure 解決方案的設計。

    Azure 解決方案架構師會與負責在 Azure 上實作解決方案的開發人員、系統管理員和其他角色合作。

    此認證的應試者應具備 IT 營運的進階經驗與知識,包括網路,虛擬化,身分識別,安全性,商務持續性,災害復原,資料平台與治理。 此角色中的專業人員應管理每個區域中的決策對整體解決方案的影響。 此外,他們應該具有 Azure 管理、Azure 開發和 DevOps 程序的經驗。

    職務角色: 解決方案架構設計師

    必要條件: 1 份認證

    必要考試: AZ-305
    認證詳細資料
    完成一項必要條件

    必要條件選項 1

    Microsoft 認證:Azure 系統管理員技術師

    進行一項測驗

    認證考試

    Designing Microsoft Azure Infrastructure Solutions (beta)

    獲得認證

    專家認證

    Microsoft 認證:Azure 解決方案設計專家

    已測驗的技能
    Design identity, governance, and monitoring solutions
    Design data storage solutions
    Design business continuity solutions
    Design infrastructure solutions