Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOps On AWS - Farouq Mousa
Search
AWS MENA Community
September 25, 2020
Technology
130
1
Share
DevOps On AWS - Farouq Mousa
DevOps On AWS - By Farouq Mousa.pdf
AWS MENA Community
September 25, 2020
More Decks by AWS MENA Community
See All by AWS MENA Community
AWS UG DXB 2021 container series- IV
awsmena
1
100
Building Modern Applications on AWS with Persistent Storage
awsmena
0
72
Getting started with AWS Device Farm and Selenium WebDriver
awsmena
3
1.2k
Terraform CICD Best Practices
awsmena
2
110
How to select the righ EBS?
awsmena
1
99
AWS MENA Community Day - GitOps on AWS_ Codifying multi-cloud operations
awsmena
0
150
Serverless SaaS By Ali El Kontar
awsmena
1
97
Continuous verification for serverless applications By Gunnar Grosch
awsmena
1
52
AI/ML on AWS By Ahmed Raafat
awsmena
1
130
Other Decks in Technology
See All in Technology
目的ファーストのハーネス設計 ~ハーネスの変更容易性を高めるための優先順位~
gotalab555
8
2.3k
AI時代のガードレールとしてのAPIガバナンス
nagix
0
300
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
140
小説執筆のハーネスエンジニアリング
yoshitetsu
0
770
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
150
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
160
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.4k
AIコーディング時代における、ソフトウェアサプライチェーン攻撃に対する防衛術(簡易版)
soysoysoyb
0
120
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
180
LLM時代の検索アーキテクチャと技術的意思決定
shibuiwilliam
3
1.5k
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
150
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
140
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
520
エンジニアに許された特別な時間の終わり
watany
106
240k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
69
39k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Done Done
chrislema
186
16k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Technical Leadership for Architectural Decision Making
baasie
3
330
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Deep Space Network (abreviated)
tonyrice
0
120
Transcript
COMMUNITY DAY MENA DevOps on AWS, Getting Started
Farouq Mousa AWS Solutions Architect | DevOps Engineer | Genesys
Consultant | AWS UG Leader at Palestine @farouqmousa @farouqmousa
Agenda ▪ AWS CodeDeploy ▪ AWS CodeBuild ▪ AWS CodePipeline
CodeDeploy AWS Native Continuous Delivery Tools CodeBuild CodePipeline
DevOps and Continuous Delivery • Automated deployments • Repeatable and
safer • Smaller change sizes • Deploy morefrequently • Faster feedback loops • Learn and reactquicker • Deliver more value
CodeDeploy DEPLOYING APPS W I T H
Benefits of CodeDeploy • Automate yourdeployments • Fully managed serverlessservice
• Free withinAWS • $0.02 per on-premises instanceupdate • Centralize control • Versatile
Application The core component CodeDeploy Components Deployment Group A target
for your deployment Deployment Roll out anapp revision
Compute platform EC2/On-premises, AWS Lambda, Amazon ECS A uniquename An
identifier that isunique inside its AWS account A CodeDeploy Application
ECS An ECS cluster + An ECS service + A
load balancer + Target Group 1 + Target Group 2 Lambda Lambda function name EC2/On-premises Autoscaling groups EC2 instance tags On-premises hosts Deployment Groups
Deployment group Targets for the deployment A CodeDeploy Deployment Deployment
configuration Such as “One At A Time” Revision An application version Deployment type “In Place” or “Blue-Green”
ECS AppSpec file Task Definition version Container name Container port
Lambda AppSpec file Function name Function alias Version info EC2/On-premises GitHub commit ID or Zip file in S3 Revisions
version: 0.0 os: linux files: - source: /src destination: /var/www/html
hooks: BeforeInstall: - location: scripts/before_install.sh timeout: 300 runas: root AppSpec File: appspec.yml
EC2 or on-premisesinstance Installing the CodeDeploy Agent codedeploy-agent EC2 User
Data
#!/bin/bash -xe yum install -y ruby cd /opt curl -O
https://aws-codedeploy-us-east- 1.s3.amazonaws.com/latest/install chmod +x ./install ./install auto Install CodeDeploy - Red Hat
CodeDeploy ELB EC2 Connecting All CodeDeploy Pieces IAM GitHub or
S3 Revisions agent IAM
CodeBuild CONTINUOUS INTEGRATION W I T H
• Software licensing • CI software upgrades • Underlying host
management • Agent configurations • Hand crafted build projects • Queued builds Traditional CI
Continuous Integration • DevOps and agile processes • Helps prevent
merge conflicts • Triggers off code commits • Static code analysis • Compiles code • Runs tests • Packages and publishes artifacts • Catch and fix problems quicker
Continuous Integration Systems Managed services Master/agent Open Source andfree
Teamcity Bamboo Jenkins GitLab Travis CircleCI Alternatives to CodeBuild
Benefits of CodeBuild • Fully managed build service • Elastic
scaling • Pay only for build time used • CLI and API driven • Define builds as code • Tightly knit AWS integrations • Extensible
Sends notifications Runs tests Static code analysis Compiles code Runs
builds How Is CodeBuild Used in a CI/CD pipeline? 1 2 3 4 6 Publishes Artifacts 5
Build project The definition ofyour project Build or Build run
An execution of your Build project CodeBuild Components
Metrics Build triggers Build details Build history Build Project
Environment Artifacts Project configuration Source Build Spec Logs CodeBuild Project
Build Details
Build details Environment variables Phase details Build logs Build status
Builds or Build Runs
CodeBuild Connecting All the Pieces Git repo orS3 Source Artifact
store Projects Builds
version: 0.2 env: variables: key: “value” parameter-store: key: “value” phases:
build: commands: - compile commands - test commands artifacts: files: - target/messageUtil-1.0.jar Build Spec File:buildspec.yml
Ruby Golang Python Java .NET PHP Testing Tools
CodePipeline AUTOMATING SOFTWARE RELEASES WITH
Continuous Delivery Pipelines • A Continuous Delivery tool • Define
your entire release process • Ties together disparate systems • Flows Code out to production
Prerequisites for CodePipeline AW S account IAM credentials
Prerequisites for CodePipeline Source code Build process D eployment or
Benefits of CodePipeline • Fully managed pipeline service • Pay
only for active pipelines • Tightly tightly AWS integrations • Third party developer tool actions • Extensible via Lambda and custom actions
Artifacts Bundles of code produced by astage and ingested by
another stage Transitions The connections between stages Stages A collection of action groups that contain actions Pipeline Components
A CodePipeline Stage Action Group Actions Pipeline Stage Action Group
Actions runOrder: 1 runOrder: 1 runOrder: 2 runOrder: 2
Visualizing CodePipeline Transition Source Stage Action Group G itHub action
Build Stage Action Group C o deB uild action Deploy Stage Action Group C o deD eploy action Transition Pipeline
Test Action Approval Action Source Action Build Action Deploy Action
Invoke Action Action Types
CloudWatch Events A configured rule can route CodePipeline event info
to one or more targets CodeDeploy Triggers Publish to an S N S topic when deployment events occur for a deployment group Pipeline Execution Monitoring
Thank You ☺ @farouqmousa @farouqmousa