인프라 데브옵스 - 대륙
bryantson opened this issue · 1 comments
인프라 데브옵스 대륙에 오신걸 환영 합니다
위험한 괴물들과 짐승들이 2 곳의 데브옵스 대륙에서 살고 있습니다. 하지만 미션을 성공하는 이들에겐 보상도 클것 입니다. 데브옵스 대륙은 깃허브 액션의 무궁한 가능성을 발견하기 원하는 분들에게는 최고의 여행이 될것 입니다
주어진 미션
- 데브옵스에 관해서 배우고 인프라 데브옵스에 관해서 배워봐요
- 액티비티 - 깃허브 액션을 통해서 테라폼 스크립트를 실행 시켜서 Azure 클라우드 인프라 리소스를 배포 해봐요
데브옵스에 관해서 배우고 인프라 데브옵스에 관해서 배워봐요
누군가에게 데브옵스가 무엇인지 물어본다면 다음과 같이 다양한 대답을 들을수 있을것 입니다:
- "데브옵스는 툴만 필요한게 아니라 문화도 중요하다"
- "데브옵스는 자동화가 중요하지만 자동화가 전부는 아니다"
- "데브옵스는 그냥 또다른 과장된 유행이다"
데브옵스 의 근원
데브옵스 에 관해서 이해를 하기 위해선 어디서 시작했는지 아는게 도움이 될것 입니다. 이야기는 시간을 돌려 2009 년에 O'Reilly 벨로시티 컨퍼런스에 했었던 전설적인 10+ Deploys per Day: Dev and Ops Cooperation at Flickr 로 돌아갑니다. 이 비디오를 유튜브에서 검색하면 찾으실수 있습니다.
컨퍼런스가 끝난후 하나인 Patrick Debois 란 분이 유럽 개발자 이벤트에 가서 개발 Development 의 약자인 Dev 와 Operation 의 약자인 Ops 를 합쳐서 데브옵스라는 단어를 만들었다는게 데브옵스 시작 이야기 중 하나라고 알려져 있습니다. *Patrick Debois 는 Gene Kim, Jez Humble, 그리고 John Willis 와 함께 데브옵스로 유명한 책인 The DevOps Handbook 의 공동 저자 입니다.
데브옵스가 정말 과장된 유행일 뿐일까요?
누구나 데브옵스가 과장된 유행이라고 주장하기엔 어렵진 않지만 아마존 같은 회사가 데브옵스 프로세스를 사용해서 하루에 2만 3천번 이상 Production 환경에 배포를 하고 구글도 데브옵스 프로세스를 통해서 매일 5,500 번 이상 배포를 하는건 부인 할수 없는 팩트 입니다.
데브옵스 에서 자동화가 전부는 아니지만 데브옵스의 가장 중요한 핵심은 수동적인 작업을 자동화 시키는 과정에 있습니다. 그렇기에 CI/CD 과정을 이야기 하지 않고 데브옵스를 설명하는건 사실상 불가능 합니다.
인프라 데브옵스 프로세스
하지만 어떤 작업을 자동화 시켜야 할까요? 이럴때 인프라 (infrastructure) 데브옵스를 개발에 필요한 앱데브 (appdev) 데브옵스 프로세스와 구분지어 생각하시는게 도움이 될것 입니다. 데브옵스 엔지니오 혹은 오퍼레이션 엔지니어라고 불리는 인프라 엔지니어는 개발에 필요한 환경에 필요한 인프라 리소스를 만들고 관리하는 역할을 담당합니다. 이 인프라는 요즘 시대에선 주로 클라우드 환경을 나타내고 가상머신 (Virtual Machine) 이나 컨테이너 환경에서 돌아 갈수 있습니다. 인프라 엔지니어나 아키텍트에게 적용될수 있는 프로세스를 나타내는 아키텍쳐 다이아그램을 참고 하시기 바랍니다.
다양한 인프라 관련 데브옵스 프로세스 액티비티의 예는 다음과 같습니다:
- 클러스터를 프로비저닝
- 클러스터를 삭제
- 클러스트를 변경
- 가상머신 빌드
- 페키지를 인스톨하거나 인스톨후 액티비티
- 네트워크를 변경
- 저장공간 변경 및 프로비저닝
- 현재 환경의 백업
- 현재 환경의 복구
액티비티 - 깃허브 액션을 통해서 테라폼 스크립트를 실행 시켜서 Azure 클라우드 인프라 리소스를 배포 해봐요
이번 액티비티에선 테라폼을 통해서 Azure 클라우드에 인프라 리소스를 배포할것 입니다. AWS 관련 파일도 있지만 데모에선 Azure 클라우드만 실행 합니다. 테라폼 파일은 devops/infra
경로안에 main.tf
로 되어 있습니다.
action-terraform-azure.yml
: Azure 인프라를 배포하기 위한 테라폼 실행을 위한 깃허브 액션 파이프라인action-terraform-aws.yml
: AWS 인프라를 배포하기 위한 테라폼 실행을 위한 깃허브 액션 파이프라인
필요한 모듬 암호나 자극 증명 데이터는 깃허브 시크릿 에 저장 됩니다.