2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day30 – 總結! (4)

Day30 - 總結! (4) 最簡單的 AWS Devops 在已經建立好Elastic Beanstalk的狀況之下 只要利用AWS CodePipeline 就可以將CodeCommit、S3、GitHub中的程式碼部署進Elastic Beanstalk 且完全自動化 簡單整合就可以讓開發者脫離FTP更新的困境 對於未來還可以結合Amazon Elastic Container Service (ECS) 達到更好的服務效果 對於AWS上的自動化 用得好可以讓你事半功倍

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day28 – 總結! (2)

Day28 - 總結! (2) Elastic Beanstalk的建立 今日的主題是Elastic Beanstalk的建立 快速利用15分鐘的影片來跟大家複習Elastic Beanstalk建立有哪些要注意的地方 以及哪些地方可以快速省略帶過 有些可能是看文件速度比較慢 所以使用影片帶大家最做一次可以快上許多 這是第一天份 後面兩天會是以Elastic Beanstalk調整以及Devops調整為主 全篇好讀版

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day27 – 總結(1)

Day27 - 總結(1) 與其說是總結倒不如說是把整個流程快速的串過一遍 就像Kubernetes之餘container Elastic Beanstalk 對於 EC2 也是相同的概念 他是一個很棒的自動化部署環境 只是跟Kubernetes一樣他需要很多的時間來去了解與熟悉 但是好險他是基於比較多人懂的EC2 不像現在很多接到的需求是希望能協助上Kubernetes 但是客戶連container都不了解 但是Elastic Beanstalk概念就比較好理解 因為他就是把大家常用的web服務建置自動化 在進而結合Devops的概念 如果要了解自動化跟Devops的概念 其實非常建議大家來看一本故事書 『鳳凰專案』 如果讀完這本書 或許你可以得到一些該如何開始的想法 Day28-30 會以影片的方式把這20多天來的純理論 直接建置一遍 讓不喜歡看理論的人也可以快速的將這些東西上手

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day26 – AWS Devops(9)

Day26 - AWS Devops(9) 實際建置 06-2 Step 4 Add deploy stage 這邊可以看到他可以部署到的地方有不少 這邊我通常來說都是選擇Elastic Beanstalk 因為我很常幫客戶建立Elastic Beanstalk 但是如AWS CodeDeploy也是蠻常見的 因為他很常用來設置在EC2或者是混合雲上 如果是對Amazon Elastic Container Service 也可以嘗試做部署 Step 5 Review 最後的環境確認 如果確認沒問題就可以點選 Create pipeline來進行建立 確認結果 再點選Create pipeline之後會進到下個頁面 這時就會開始自動化的進行確認即部署了

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day25 – AWS Devops(8)

Day25 - AWS Devops(8) 實際建置 06-1 在建立AWS Codecommit 之後 只需要使用aws codepipeline就可以快速將服務串接起來 依樣回到新版的畫面 點選「Create pipeline」即可開始建立 Step 1中 只需要填入Pipeline name就可以直接點選Next進到下一步 Step 2 Add source stage 點選來源在這邊就是選擇AWS Codecommit 並選擇哪個GIT跟分支 Step 3 Add build stage 看需求基本上如果初學者我建議先跳過選「Skip」

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day24 – AWS Devops(7)

Day24 - AWS Devops(7) 實際建置 05 AWS Codecommit 操作方式 這個如果要說篇幅實在有點長 建議可以參考此連結的GIT教學 Git官方教學 如果讀完了Git官方教學代表你對GIT操作有一定程度的瞭解了 那就可以來看 AWS Codecommit官方的介紹文件 連線方式可以參考上篇文章的位置 來進行連線 需特別注意的是MAC用戶 只能用SSH連線 http問題很多 連線方式可以參考 在 Linux, macOS, or Unix 上對 AWS CodeCommit 儲存庫建立 SSH 連線的設定步驟 在有基礎連線之後 接下來就是各種GIT軟體的挑選了 種類真的很多 基本上看公司大多數開發者的習慣配合比較不會有問題

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day23 – AWS Devops(6)

Day23 - AWS Devops(6) 實際建置 實際建置上會以 AWS CodeCommit + AWS CodePipeline 進而部署在Elastic Beanstalk 01 首先就來看整個的建置過程 由於最近介面改成新版所以有些東西位置都大改了,跟原本的介面差蠻多的 02 點選 Create repository 03 填寫Repository name後就可以點選Create建立專屬的Git庫 04 這樣就建立完成了 這時候就可以看到要如何連結的方式 建議都是以SSH為主 全篇好讀版

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day22 – AWS Devops(5)

Day22 - AWS Devops(5) 06 X-Ray 這個服務在AWS中很少被提起 也可能是因為這是個很少人提到的服務 這個產品比較是偏向於開發者問題排除的工具與IT對於效能上的監控 但由於支援的程式碼種類較少 只有Node.js、Java、.NET 導致目前適用的族群較小 但是如果您剛好是這三個語言的族群 蠻適合來用用的 官網上有張圖可以很直覺的讓使用者瞭解到他是多厲害 在正確的設定之下 他可以將您程式畫出一張架構圖 並標示個服務之間的狀況及是否有故障或緩慢的狀態 這是個如果恰巧就一定要用的服務

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day21 – AWS Devops(4)

Day21 - AWS Devops(4) 05 CodeBuild 官方連結 AWS CodeBuild 這服務簡單來說就是幫你測試程式碼是否可以正常的運行 如果以AWS內服務來結合的話 可以直接結合在CodePipeline的流程之中 原先是 CodeCommit -> CodePipeline -> CodeDeploy -> 目標主機中 新增CodeBuild之後 測試成功的狀況之下 CodeCommit -> CodePipeline -> CodePipeline送CodeBuild進行測試-> CodeBuild測試成功並告知CodePipeline -> CodePipeline繼續部署 -> CodeDeploy -> 目標主機中 測試之敗的狀況之下 CodeCommit -> CodePipeline -> CodePipeline送CodeBuild進行測試-> CodeBuild測試失敗並告知CodePipeline -> CodePipeline暫停部署並通知部署失敗 在這個狀況一下可以大幅減低基礎測試的時間與人力 進而把人力投入到

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day20 – AWS Devops(3)

Day20 - AWS Devops(3) 03 AWS Devops 中有個角色不可或缺但是如果是用Elastic Beanstalk 基本上一定會被忽略的服務 AWS CodeDeploy 官方連結 CodeDeploy 要說他怎麼用或是能做什麼 說出個長篇大論絕對沒問題 但是要用一個簡單的說法就是CodeDeploy收到程式碼後協助去將程式碼塞進主機 但是因為Elastic Beanstalk已經是內建了所以會沒有機會設定這些東西 04 有人將程式碼塞進主機 也需要有人發現程式碼更新了將程式碼取出來 負責這工作的就是 AWS CodePipeline 官方連結 CodePipeline 他的工作很簡單就是不停的去看git更新了沒 一但更新了就將他取出交給CodeDeploy去處理 當然這都是最簡單的說法 實際執行上會有很多細節的問題需要處理

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day19 – AWS Devops(2)

Day19 - AWS Devops(2) 02 Devops就不得不談到git git是Devops的起點 AWS也有提供git相關的服務 AWS CodeCommit 他是AWS上面一個蠻實在的服務 小量使用您可以不用花到費用就可以有私人git的服務 而不像是GitHub如果不付錢就只有把程式碼公開一條路 基本上他的操作沒有特別複雜的地方 操作手冊如連結 什麼是 AWS CodeCommit 基本上只要會使用git的人 就可以很快上手CodeCommit

By Albert Yu