BYU-Broadcast/Bi-Weekly Training

[Bi-Weekly Training] CI/CD Principles for Containers

brightlightkim 2022. 6. 3. 04:27

CI: Continuous Integration

 

CD: Continuous Deployment

 

DevOps Engineer

  • Power to do all of it (package, deploy)
  • Commit >> Production (QA Team // Automation)
  • Code Testings >> Our codes are good
  • CI / CD
  • DevOps needs to know everything

AWS CI / CD for Modern Day Application

  • Source
    • Check-in source code such as .java files
    • Peer review of new code
  • Build
    • Unit tests
    • Style checkers
    • Create container images and function deployment packages
  • Test
    • Integration tests
    • Load testing
    • UI tests
    • security testing
  • Production
    • Deployment to production environments
    • Monitor code in production to quickly detect it

 

Modern Application

  • new high-quality services with CI/CD
  • Serverless Technology
  • Reduce the impact of code change Microservice architecture
  • Automate operations by modeling applications and infrastructure as code
  • Gain insight across resources and applications by enabling observability
  • Security 

 

Effects of CI/CD

  • Deployment frequency: Weekly-monthly >> Hourly-daily
  • Change lead time: 1-6 months >> 1-7 days
  • Failure rate: 46-60% >> 0-15% (48% of software teams)

 

CI / CD Demo

  • Cloudformation Template >> Cloudformation
  • Route53: DNS >> Resolution (make the website looks nice)
  • Application Load Balancer: routing it
  • Target Group
  • ECR Repository: Saves the image
  • ECS: Playback Service

AWS ECS: Elastic Container Service

  • Getting the containers and use them

 

AWS CDK (Cloudformation)

  • Node does not understand TypeScript
  • TypeScript
  • Serverless >> third party
  • Opinionated >> Same Page
  • Doesn't know how to handle images so we use ECR >> Save it >> Go and look at ECR and get one.
  • This build up the Couldformation

 

BitBucket Pipeline

  • Continuous Integration
  • Consolidate all to use this to deploy it. 
  • npm ci: continuous integration
  • build it 
  • build artifacts (lint or something like that. 
  • The command-line command that runs on a docker image.
  • step: & test
    • test and then deploy
  • step: &depoy
    • has env variables
    • push
    • API_VERSIONcdk deploy -- (area)
    • * brings all the associated one

'BYU-Broadcast > Bi-Weekly Training' 카테고리의 다른 글

[Bi-Weekly Training] Front-end Training  (0) 2022.05.12
Shell Training  (0) 2022.05.06
[Training] Docker Basics  (0) 2022.04.22