2024/01/12 4

Github Actions

👣 특이 사항 장점 무료로 CI 과정을 수행할 수 있음. 별도의 서버가 필요하지도 않고 사용 비용을 내지 않아도 됨. Github와 쉽게 통합됨. 이미 마켓에 많이 공유되는 작업들이 존재함. 단점 해당 방식은 원래 CI만 수행할 수 있음. 환경 변수 관리가 어려움. 👣 구성 요소 Workflow Job을 포함하는 프로세스 Event workflow를 동작시키는 trigger Job 동일한 runner에서 실행되는 step 모음 Runner workflow를 수행하는 서버 Artifact 작업 완료 후 보관하는 결과물

DevOps 2024.01.12

Terraform

👣 특징 - Hashicorp 회사에서 오픈 소스로 개발 중인 laC 도구 - HCL 언어를 사용해서 리소스 선언 - CloudFormation과 달리 AWS, Azure, GCP와 같은 클라우서 서비스에 대해 Provider 방식으로 제공 - 인스턴스, 네트워크와 같은 Low-Level 뿐만 아니라 DNS, SaaS와 같은 High-Level 요소도 관리 가능. - 변경 계획과 변경 적용을 분리해서 실수를 줄일 수 있다. - Execution Plan - 종속성 그래프를 작성해서 해당 변경이 인프라에 어떤 영향을 줄 수 있는지 확인 가능 - Resource Graph 👣 배포 workflow 1. Refresh - 현재 인프라 확인. 2. Plan - 예상되는 변경점 미리 확인 3. Apply - 선후..

DevOps 2024.01.12

코드형 인프라

👣 laC - Infrastructure as Code AWS를 운영하면서 어떤 절차에 의해 서버 및 인프라를 구축했는지 문서화가 어려운 경우가 많다. 이런 경우, 운영 기록을 코드로 남길 수 있다면 다음과 같은 이점을 가질 수 있다. 1. 버전 관리 가능 코드로 인프라 운영 기록을 남길 수 있다면 Git을 이용해서 버전관리를 할 수 있다. 버전 관리가 가능하다는 것은 롤백이 쉽다는 것이며 문서화가 용이하다는 뜻이다. 2. Human Error 감소 한번 설정한 인프라 운영 방법을 문서화 한다고 한들 누락에 의해서 혹은 UI 변경에 의해서 재현하기 어려운 경우가 발생한다. 코드로 정의하고 나면 굳이 다시 해석할 것 없이 그대로 코드를 실행시키면 된다. 하지만, 언제나 그렇듯 항상 이점만 있는 것은 아니다..

DevOps 2024.01.12

CI/CD 정리

👣 CI/CD란? CI : 지속적 통합이라는 의미로, '코드 변경 사항'이 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것. 기능 추가 혹은 수정을 매우 빈번하게 하는 경우 코드 검증 시간을 단축. CD : 지속적 배포라는 의미로, 개발자의 변경 사항이 프로덕션 환경까지 릴리즈 되는 것. - continuous delivery : 자동으로 배포 X - continuus deployment : 자동으로 배포 O 👣 CI/CD LifeCycle 1. Design 2. Develope 3. Build 4. Test 5. Deploy 6. Monitor 👣 무중단 배포 전략 Blue-Green 배포 Blue는 새롭게 생성한 어플리케이션 인스턴스, Green은 기존에 사용하던 인스턴스. Blue가 서버에 완전..

DevOps 2024.01.12