-
-
아마존 웹 서비스(AWS)로 시작하는 데브옵스 - AWS를 활용한 빠르고 효과적인 데브옵스 활용법
권영환 지음 / 정보문화사 / 2020년 6월
평점 :
절판
데브옵스라는 이야기를 심심찮게 들을수 있습니다. 데브(개발팀), 옵스(운영팀)은 목표하는 바가 서로 다릅니다.
데브 - 고객의 요구사항을 빠르게 수용해서 서비스를 개발하고, 개발된 내용을 빠르게 적용하는 것을 원합니다.
옵스 - 제공될 서비스가 정확하게 동작하며, 테스트 되었고, 성능적 문제가 없으며, 다른 시스템에 영향을 주지 않고 안정적으로 동작하기 원합니다.
그래서 데브옵스의 목표는 작은 규모의 개발자로 구성됨 팀에서 IT서비스의 기능을 독립적으로 구현하고, 운영 환경과 동일한 환경에서 실제와 같은 테스트를 수행합니다.
코드를 운영 환경 빠르게 배포하는 환경 또한 구성하고 있습니다. 결국 개발+운영을 다 하는 것으로 생각하시면 됩니다.
데브옵스 하면 서버를 빼놓을 수 없습니다.물리적인 서버 보다 클라우드 서버를 선호합니다.
그 이유는 기본적인 OS설치 및 다양한 인프라 구성을 손쉽게 구성할 수 있기 때문에 데브옵스가 지향하는 방법론과 맞기 떄문입니다.
그럼 AWS와 데브옵스 을 위한 툴들을 알아보겠습니다.
1. AWS CloudFormation : Amazon Web Services 리소스를 모델링하고 설정하여 리소스 관리 시간을 줄이고 AWS에서 실행되는 애플리케이션에 더 많은 시간을 사용하도록 해 주는 서비스입니다
- 인프라 관리 간소화
- 신속하게 인프라를 복제 할 수 있습니다.
- 인프라 변경 사항을 쉽게 제어 및 추적할 수 있습니다.
작동 방식은 우선 YAML 또는 JSON 포맷으로 CloudFormation 템플릿을 작성하거나, 샘플 템플릿을 사용하여 인프라를 코드로 작성합니다.
다음으로 로컬의 템플릿 코드를 체크아웃 하거나, S3(저장소) 버킷에 템플릿을 업로드 합니다.
다음으로 AWS 콘솔, 명령줄 도구 또는 API를 통해 AWS CloudFormation을 사용하여 템플릿 코드를 기반으로 스택 생성합니다.
마지막으로 템플릿에 지정된 스택을 통해 AWS 리소스에 대한 프로비저닝 및 구성 작업을 진행합니다.
2. AWS OpsWorks : Puppet 또는 Chef를 사용하여 클라우드 엔터프라이즈에서 애플리케이션을 구성하고 운영하도록 지원하는 구성 관리 서비스
- 완전 서버형 서버
- 프로그래밍 가능한 인프라 (소스코드처럼 인프라 및 구성 관리 가능하며 버전 지정 가능)
- 용이한 확장성
- Chef 커뮤니티 지원(최신버전의 Chef 서버와 Chef Automate 지원)
- 보안 관리
- 관리의 편의성(하이브리드 환경에서 노드의 주기적인 구성 관리 및 조정 가능)
3. AWS Lambda : 간편하게 새 정보에 신속하게 응답하는 애플리케이션을 구축할 수 있는 컴퓨팅 서비스
- 다양한 언어와 라이브러리를 지원
- 단순한 자원 모델을 가지며, 실행되는 메모리에 따라 CPU, H/W 자원 할당
- 완전 관리형 서비스로 가용성이 뛰어나며, 내결함성을 갖추고 있어서 별도의 인프라 관리나 패치가 필요하지 않음
- 별도의 OS를 관리하지 않아 보안 패치나 업데이트에 대한 관리가 필요하지 않음
작동 방식은 우선 이벤트 소스로부터 함수 실행에 대한 트리거가 발생됩니다.
다음으로 Lambda 함수를 다양한 런타임과 라이브러리를 활용하여 개발할 수 있습니다.
다음으로 AWS의 다양한 리소스에 접근 가능하도록 권한을 설정 및 권한을 관리할 수 있습니다.
다음으로 AWS서비스와 연결 및 연동을 통해 다양한 서비스를 개발하거나 구현할 수 있습니다.
4. AWS CloudWatch :Amazon Web Services(AWS) 리소스와 AWS에서 실시간으로 실행 중인 애플리케이션을 모니터링 하는 서비스
- 인프라에 대한 환경에서 발생되는 이상 동작 감지
- 로그 탐색 및 분석, 시각화를 통해 운영 가시성 확보
- 운영 성능 및 리소스 최적화에 대한 자동화 수행
- 문제해결, 통찰력을 확보하여 애플리케이션을 원할하게 수행
작동 방식은 기본적으로 리소스 및 사용자 커스텀 데이터의 저장소 역할, 저장된 데이터의 지표를 기반으로 통계를 작성하고 이에 대한 검색을 수행할 수 있습니다.
작성된 지표를 기반으로 그래프를 작성할 수 있으며, 대시보드를 통해 손쉽게 모니터링 관리할 수 있습니다.
특정 기준을 충족하는 경우 EC2 인스턴스 중지, 시작 또는 종료를 설정을 할 수 있습니다.
AWS는 정말 많은 서비스들을 제공합니다. 우선 내가 필요한 서비스가 뭔지 알고 책을 보면 구성하기가 쉽지 않을까 생각해봅니다.
그리고 시대는 계속 변화를 추구하고 있습니다. 개발, 운영 또한 계속 변화하고 있습니다. 그 변화에 뒤쳐지지 않도록 많은 노력과 신경을 써야겠습니다.