멀티리전 & 멀티스테이지 인프라를 위한 모노레포 구축하기 (2022.04 HashiTalk)
·
IaC/Terraform
by SuperbAI의 백엔드 개발자 System Backend dev : Korea, USA prod : Korea, USA 이렇게 총 네 종류의 클러스터가 있다. (Multi-Region, Multi-Stage) 네 종류의 클러스터를 하나씩 관리하기에는 품이 많이 들어간다. 그래서 고려하게 된 것이 Terraform이다. Terraform 사용으로 얻으려고 한 가치: 1. Repetitive steps in multi-stage & -region -> Automation 애플리케이션이 점점 늘어나는데 4개의 클러스터에 배포를 해야되다보니 필연적으로 반복이 있을 수 밖에 없다. 운영중인 ECS cluster에 새로운 애플리케이션 A를 배포한다고 해보자. 컨테이너 레지스트리 생성 -> API Secret..
Cloud Adoption Framework and Terraform by MS Azure Lead Architect (2022.04 HashiTalk)
·
IaC/Terraform
Addressing Technical Debts with Infrastructure as Code (IaC) By Mohammed Mubarkoot More Automation and Less Human Involvement Enforce Infrastructure and Security Best Practices Engage Concerned Stakeholders Reduce Environmental and Documentation Drifts Ensure Reproducibility Simplify Auditing and Reporting --- 여기서 부터는 Azure Lead Architect가 강의한거야. Why do I need a framework when I can just Terrafo..
Dynamic Feature Toggles with Consul (2022.04 HashiTalk)
·
IaC/Terraform
Encar- Backend Engineer Feature Toggles (= Feature Flags) 소스 코드 상 특정 기능의 분기 설정을 유지 및 관리 런타임 시간 동안 특정 기능의 활성 및 비활성 테스트를 통한 점진적 릴리스 방법 New Feature -> Feature Toggle -> ON : 사용자에게 제공 OFF : 사용자에게 제공 X '설정 값'의 관리 Local Store (properties, xml, yml 등) -> 설정 값 변경 시 매번 배포 필요 (static) Database -> 설정 값 조회 시 매번 DB에 대한 조회 발생 (성능, 부하 이슈) Remote Store -> 여러 서버들의 설정 값을 하나의 원격 저장소에서 통합 관리 -> 설정 값 변경 시 배포 없이 빠르게 ..
당근페이 SRE 엔지니어 - Terraform 웨비나 (2022.04 HashiTalk)
·
IaC/Terraform
확장 가능한 테라폼 코드 관리를 위한 원칙 테라폼 모듈을 사용하라 외부 모듈을 사용하지 마라 모듈의 버전을 관리하라 두 종류의 테라포 모듈을 관리하라 코드와 데이터를 분리하라 하나의 워크스페이스에 모든 것을 담지 마라 워크스페이스간의 의존성을 관리하라 모든 것을 테라폼으로 관리하려하지마라 확장 가능한 코드..? 읽어야 하는 코드의 양이 적다 (가독성) 수정해야 하는 코드의 양이 적다 (유지보수) 테라폼 모듈을 사용하라 1. 중첩 루프 nested loop를 직접 짜면 어려운데 모듈 쓰면 간단하다. 2. 캡슐화 객체의 모듈화가 잘 이뤄지면 모듈 단위의 재사용이 매우 용이하다. -> 간편한 유지보수 외부 모듈을 사용하지 마라 테라폼 레지스트리 외부에 공개된 테라폼 모듈 github : terraform-aw..