AWS Certified SysOps Administrator - Associate 準備心得
考完 Solutions Architect (以下簡稱 ASA) 之後,就開始準備考這張 SysOps Administrator
(以下簡稱 ASOA),主要因為現在主要的工作內容就是 System Operations / Administration
為主。
以下整理 Study 的摘要與心得。
Updated 2018/06/12:AWS 已經發布新版的 SysOps 版本,正在準備的人請注意 官方資訊 - SOA-C01 (PDF)。
準備的方向
範圍跟 ASA 一樣的參考點,都還是來自 BluePrint.
考試項目
以下根據 BluePrint 的準備 Domain / Topic ,我自己在每個項目放入一些 AWS Services,還有相關的課題當作準備的方向:
- Monitoring and Metrics:
- CloudWatch 基本的概念,包含 Namespaces、Dimensions、and Metrics.
- 透過 CloudWatch 監控相關的服務,像是 ELB、EC2、RDS、ElasticCache、ASG
- EC2 開機的生命週期、狀態等
- 如何建構一個 global 的 Monitor System
- 如何保護 VPC 裡的 Monitor System
- High Availability:
- ELB / ASG: ASG 的生命週期、跟 ELB 的搭配、預算考量、還有 Troubleshooting
- RDS / ElasticCache: RDS MultiAZ 是什麼,跟 Replica 有啥差?Failover 是啥?
- VPC (AZ): VPC 很重要,真的很重要!不只這張,ASA 也是很重要,很多觀念都會跟 VPC 有關係,所以一定要把 VPC 概念搞懂、弄熟、多做 Troubleshooting 很重要!
- 建立各式各樣的 HA: VPN (VGW)、NAT、EC2
- Analysis
- Deployment and Provisioning
- AWS CLI
- OpsWorks、CloudFormation
- Data Management:
- 相關服務:S3、EBS、Storage Options
- Backup and Recovery
- Security: IAM、Cloudtrail、STS、Security Process on AWS
- Network: VPC / Route53 / VPC / Direct Connect
- 再次強調,VPC 很重要!實務上更是,因為沒弄好,維護以及資安會是一場災難。
ASOA 的準備方式其實跟 ASA 很像,不過前者分布比較平均,基本上啥都要懂一些,考的內容大概也都是做 Operator 真的會遇到的;而 ASA 比較偏向架構面的設計。
Whitepapers (必讀)
同樣的 Whitepapers 還是很重要,以下是 Blueprint 提到要讀的,有些跟 ASA 重複了。
- Overview of Security Processes
- Storage Options in the Cloud
- Defining Fault Tolerant Applications in the AWS Cloud
- Overview of Amazon Web Services
- Architecting for the AWS Cloud
- AWS Disaster Recovery
- 這篇 Blueprint 沒提,不過我覺得滿重要的。是很多 System Operations 很重要的任務之一
- DR 也是 Solution Architect Pro 的考試重點之一
準備資源
- A Cloud Guru: 提供 AWS 認證線上錄影課程,包含五張證照以及其他像是 Lambda、Security、CloudFormation 都有。證照有包含模擬考。
- CloudAcademy: 有 APP 可以做練習,一個月 150,題庫很多。
- Jayendra’s Blog: 一個整理很多 AWS 服務重點的 Blog,而且還把蒐集了不少題目,對考試來說,很有參考價值。
補充:A Cloud Guru 是不錯的 Guideline,不過模擬考偏簡單、而且內容有點舊、範圍我覺得可以討論。實際考試會是 Troubleshooting 比較多,所以最好多練習為主。
除了上述東西,其實準備這張的過程,我大部份時間都在看 Youtube 上的 seminar,以下是我自己看過整理的 playlist:
不過其實跟這張考試內容沒啥關係 :p
建議閱讀
- AWS Tutorial Series 這裡有些不錯的 Tutorial & Lab,針對沒有使用過的 Services 或者應用,如果沒有資源可以練習,可以從這理著手。System Operations 有些事情是很難做 Lab 的,像是 VPN to on-premises ,公司可能沒有那麼多設備可以實驗。
- AWS on Youtube: 這裡的資源真的很多,幾乎所有的 AWS Summit 都在上面。有這幾大類:
Introduction
、Deep Dive
、Masterclass
、Webinar
、年度各區域的 Summit Series
、Case Study
. 建議依據 Blueprint 的 topic,然後整理出自己的 playlist,定時閱讀,增加內力!
考試心得
心得一:證照有用?
台灣人最厲害的就是考試,特別是證照。像是 M$ MCXX 系列一向在業界的鑑別度不高,也就是不會因為有這張就受公司、老闆信任,也不代表真的能領高薪、有實力。
考完 ASA 之後,我也面臨被公司或同事 Challenge 證照是否有用?是否代表實力?證照是加分還是減分?這張 SysOps Admin
是跟系統維運比較有關係,其實就是我現在工作的主要內容,實務上來說比上一張還有用。考試除了對於 AWS 本身有更多認識,對於 System Operations
則有更深的思考,這部份後述。
至於證照有沒有用,有時候需要天時、地利、人和,所以現在很難說,但機會來的時候,至少要準備好。
對我來講,持續學習、思考、組織所學,做什麼都可以發會他的作用。
心得二:真的夠專業?
證照是否代表 專業
很難說,對我來說能解決領域問題的就是 專業
。
考過證照應該會有全面性的認識、對系統有基本的駕馭力,再加上有實務的經驗、思考問題本質的能力,進而累積解決問題的能力,其實才是專業。
能夠從學校畢業,應該要滿足對於特定領域的 全面性認識
與 基本駕馭力
,通常最後一年都會有實務專題搭配,讓學生能夠真的滿足專業需求。不過實際上好像不是這樣的 …
所以回到第一段心得提到的:台灣人很會考證照,跟台灣有很多大學畢業生問題根源是一樣的,但是都跟專業扯不上邊。
思考問題本質
是能否有專業度的關鍵點。
『專業』和『資深』是不同的,另外一篇整理這樣的想法: Senior Software Developer
心得三:準備
其實這張並沒有像 ASA 那樣認真準備,因為從上次考完試到這張考試過程當中,公司要求我去上一個 M$ 的課程,為期一個月。
上完微軟的課之後,就開始準備,剛好 A Cloud Guru 有認證課程的 Bundle 在特價,就一次買了全部五張,然後每天讀一點,然後同步也看之前 ASA 的內容,補充一些不足的、不知道的。這時間又因為 AWS Summit 2016 Deep Dive 系列一直在出現在 Youtube,所以反而花最多時間在聽這些東西。我是大考大玩,小考小玩的個性,所以考試前兩週做完 Practice Exam 之後,就不碰相關的東西了,反正會過就過 XDD
這張重點著重在系統維運管理 (System Operations and Administration),是我現在工作的主要內容,像是:
- 系統監控
- 改善既有系統架構、高可用度
- 備份還原
- 安全性升級
- 安全性檢測、SSL、Key 管理
- 改善網路架構、串 VPN、不同環境 (Dev/Test/Prod) 資源管理
- 資源管理
- 預算
考題的 Troubleshooting 像是:
- 要如何解決 Applications 沒有 MultiAZ 的問題?
- 要如何處理 EC2 instance 從 public subnet 轉到 private subnet?
- NAT Instance 切換到 NAT Gateway
- 要如何處理監控環境的 Security Group 設定?
- 如何發現系統裡面的單點?發現後怎麼處理?
- 線上機器發生 ELB Latency 飆高,要如何處理?
- 線上機器 EBS 空間不夠了,要怎麼處理?
- 備份的作法與 Storage 的選擇?
- 當有行銷單位預告有大量的活動時,要怎麼處理?
- 公司不想有太多對外 IP,但是又需要有開機器讓同仁連到 VPC,要怎麼辦?
這些問題在實務上都遇過,同時也解過,所以準備起來就相對輕鬆。
考試的範圍大於工作的內容,因為有些東西現在公司沒用到 (e.g. RDS、ASG),所以只能自己練習。
心得四:角色的思考
準備這張之前,我一直在思考 AWS 定義的這五張證照定義之間的差異,以及他們實際在企業組織裡的角色差異是什麼?
SysOps Administrator
: 這個角色,比較接近一般企業的 IT 或者 Operator。那這些角色的工作核心是什麼?我覺得依照公司的規模、組織、企業發展的階段,會有不同的角色。- 這張考試的角色比較像是針對線上產品的 Operation,跟企業內部的 IT 有點不一樣。
- 中小型公司這兩個小角色通常都是同一個人 (公司為了省錢),實務上兩角色的面向還是有差的,一個是對外、一個是對內。
- 這角色名稱有很多種:System Operator/Engineer、IT Operator、DevOps Engineer … 都有點像。小公司會包含 MIS ,就是修電腦、打雜的。
- 在 AWS 上可以用 CLI 自動化跟維運有關的事情,所以我把它叫 Ops as Code,就是利用 Cloud 這種可程式化的特性,做維運管理。
Developer
: AWS 定義的這個角色就是使用幾個 Key Services 開發應用程式,像是 EC2、ELB、S3、CloudFront、DynamoDB、SQS、SNS、SES、AWS SDK … 等。- 不過 AWS 新東西進展很快,我覺得還要有這些:Lambda、API Gateway、ECS …
- AWS 對 Developer Certificate Roadmap 的定義只能往
DevOps Engineer
走,我覺得應該也可以往Solution Architect
走才對。特別是DevOps Engineer
是做啥的,其實每個人都會有不同的解釋。
DevOps Engineer
: 專注於部署方法/技術、自動化、以及維運流程的方面。- 對應到 AWS Services 就是 Beanstalk、CloudFormation、CodeDeploy、CodePipe、CodeCommit、OpsWork …
- 實務面我定義負責
CI (Continue Integration)
、CD (Continue Delivery)
、Infra as Code
… 等任務.- Infra as Code 工具:Jenkins、CloudFormation、Terraform、Ansible、Chef … etc
- 具備
Developer
和SysOps
雙重角色的混合,在組織與流程上扮演潤滑劑的角色。 - 有些任務會跟
SysOps
重疊,我用時間軸定義成 DevOps 是 Deployment 後穩定了,之後就是 SysOps 的任務了。當然這隨組織與公司規模,會有不同的說法。
Solution Architect
: 應該就是軟體系統架構師
,我認為除了軟體架構之外,還要包含網路架構、資安架構、部署方法、維運流程、預算、人員組織、開發流程 … 等面向,不管是針對新的商務需求、或者既有系統,都能夠提出有效的解決方案
,並且在技術上以及流程上提出最佳實務方法,是個地位非常崇高的角色。Security Operator
、Data Engineer
: 這兩個角色在 AWS Certified Roadmap 裡面有,但是還沒 ready,但未來應該也是很搶手吧?
最後回到這張證照的角色,什麼是 System Operations
?什麼叫做 Maintain
? 中文叫做 系統維運
跟 維護
,其實我一直在思考其中的意涵,最後有了這樣的解釋:
維運 (operation)
: 名詞,包含的是制度、流程、方法、資源管理、預算、決策 …. 等制度管理面
,可以想像是時間軸的管理,任務項目就會是下面維護中提到的。維護 (maintain)
: 動詞,執行既定的任務,最常見的就是系統監控、資安、系統升級、備份還原、SSL、帳號權限管理、Key 管理、Log 分析、網路架構、處理儲存問題、資源管理 … 等。其實都是單一的任務分類,但是並沒有特別提到流程、制度面。
兩者的層面以及思維差很多。
我把考試這件事情當作是投資,重點是學習與思考的過程,目的是能夠看清楚迷霧般的世界,的一小部分。這張考試對我來講,思考角色這件事情的價值,遠大於證照本身。
難易度與薪資
很多人會問這五張的難易度,網路上有人這樣說:
Solution Architect Pro > DevOps > SysOps > ASA > Developer
我覺得好像是如此,但因為 ASA 讀太多東西了 (Over SysOps 範圍了),所以這張 SysOps 反而沒覺得比 ASA 難,ASA 大概是第一次考,心理上的難度反而是最高。
但這個說法,我猜這個人應該本身就是 Developer
出身,如果是 Operation / IT
出身,排序可能是這樣:
Solution Architect Pro > DevOps > Developer > ASA > SysOps
難易度問完了,接下來就會有人問這五張的薪資排名?我 找到 這樣的薪資比例:
Developer > Solution Architect Pro > ASA > SysOps
恩,看起來還是寫 Code 最賺錢。不過有沒有價值,應該不是有多少證照,而是因為『你』這個人本身能貢獻什麼。
思考本質
考試的目的是在學習每個事物的 本質,了解這些事物的性質、特性、為什麼會有這樣的東西 … 等。然後透過問題將這些 本質 連線起來,創造出應用。
應用本身可以是既有的、也可以是新創的,然後就會像下面這張圖 (引用自 Hugh MacLeod):
透過考試了解了 AWS 的服務用法、思考他的設計 本質,然後串聯、再連結,變成一種應用,或者再創造。
我在另一個 Blog 整理的心得:吉他琶音的練習 - 以 Gmaj7 為例,最後結論也提到一樣的想法。
很多領域看似沒什麼關聯,很多時候我們覺得『隔行如隔山』,但其實對我來看,他們背後都有存在著同樣的『道』。而我要繼續往 下一個『道』 前進了。
延伸閱讀 (站內)
- AWS Certified Solutions Architect - Associate 考試準備筆記 (2016/04/22)
- AWS Certified Developer - Associate 準備心得 (2016/08/20)
- 淺談系統監控與 CloudWatch 的應用 - AWS User Group Taiwan (2017/06/21)
- Ops as Code with AWS CLI
- Senior Software Developer
- AWS Study Roadmap by Categories
- Migrate to AWS NAT Gateway
- Study Notes - CloudWatch
- Software Development Lifecycle (2017/09/14)
- Site Reliability Engineering
參考資料
- Jayendra’s Blog
- 淺談 IT 維運管理系統
- What’s the Value of an AWS Certification?
- Solution Architect
- Using an SSH Bastion Host