Engineer-Lee 2021. 12. 6. 02:00
반응형

1. DevOps 정의

개발(Dev)과 운영(Ops)의 합성어.
개발과 운영의 경계를 허물고 통합하고자 하는 문화 혹은 철학

 

 

2. DevOps가 필요한 이유

조직의 규모가 크다면 각 단계 별 전문가로 구성된 기능 조직을 운영할 수 있다.

하지만, 그만큼 의사소통이 많아지기 때문에 커뮤니케이션 문제가 발생하고, 병목구간이 생기기 쉬워진다.

 

업무 효율성 개선, 조직 내 협업 개선, 빠른 제품 출시 주기

이를 해결하기 위해 데브옵스가 조직에 정착되고 나면 개발자는 작성한 코드에 대해 스스로 테스트하고, 배포하고, 운영에 참여할 수 있다.

 

3. DevOps 실천방법

1) AWS

지속적 통합: 개발자가 만든 변경사항에 대해서 빌드 및 테스트를 진행해본 후에 중앙 코드저장소에 통합을 하므로써

빠르게 버그를 발견하고 제품의 품질을 보장할 수 있게하는 소프트웨어 개발 방법

 

지속적 배포: 개발 결과물의 산출물을 자동으로 개발환경이나 운영환경까지 배포하도록 만든 자동화된 파이프라인

 

마이크로서비스: 자동화된 파이프라인을 가진다하더라도 서비스 자체가 너무 크면 빌드에 오랜 시간이 걸린다.

커다란 서비스를 여러 마이크로서비스로 쪼갠다면 빌드와 배포 시간을 단축 시킬 수 있다.

 

IaC: Infrastructure를 코드로 관리하는 기술

서비스를 배포함에 있어서 인프라에도 변경사항이 필요하게 된다. 이러한 인프라 변경사항을 빠르게 적용하기위해선

인프라 또한 자동화된 관리가 필요하다.

 

모니터링과 로깅

 

소통 및 협업

 

 

2) Flickr

변화에 대응하기 위한 도구
자동화된 인프라 (Automated Infrastructure)
버전관리 공유 (Shared Version Control)
쉬운 빌드 및 배포 (One-step Build and Deploy)
기능 활성화 스위치 (Feature Flag)
메신저 봇 (IRC and IM Robot)

 

변화에 대응하기 위한 문화
존중 (Respect)
신뢰 (Trust)
실패에 대한 긍정적인 자세 (Healthy Attitude about Failure)
비난하지 않기 (Avoiding Blame)

 

 

4. DevOps 팀의 업무 도메인

1) 네트워크 (Network)

가상 네트워크 및 물리 네트워크 구성
프록시 / VPN 서버 운영
DNS 서버 운영

 

2) 오케스트레이션 플랫폼 (Orchestration Platform)

쿠버네티스 / ECS / Nomad 와 같은 오케스트레이션 시스템 구축 및 운영
Airflow / Argo Workflows 와 같은 워크플로우 엔진 구축 및 운영

 

3) 관측 플랫폼 (Observability Platform)

로그 / 메트릭 / 업타임 / APM 정보를 관측할 수 있는 중앙화된 시스템 구축 및 운영
주요 이벤트에 대한 알림 시스템 구축

 

4) 개발 및 배포 플랫폼 (Development & Deployment Platform)

GitLab / GitHub와 같은 버전관리 및 개발 협업 플랫폼 운영
CI/CD 파이프라인 시스템 구축 및 운영
QA 테스트 및 성능 테스트를 위한 환경 제공
패키지 저장소 운영 및 배포 산출물 관리

 

5) 클라우드 플랫폼 (Cloud Platform)

개발자들이 활용할 수 있도록 클라우드 환경 운영 (자체 클라우드, 퍼블릭 클라우드 등)

 

6) 데이터 플랫폼 (Data Platform)

MySQL / DynamoDB / Redis 와 같은 데이터베이스 구축 및 운영
RabbitMQ / Kafka / SQS 등과 같은 메시징 서비스 구축 및 운영
데이터 웨어하우스 / BI 대시보드 구축 및 운영보안 플랫폼 (Security Platform)

 

 

7) 서비스 운영 (Service Operations)

개발자들과 협업하여 서비스 공동 운영

 

8) 보안 플랫폼 (Security Platform)

LDAP / AD / SAML 등을 활용하여 통합된 임직원 계정계 운영
서버 및 데이터베이스 접근제어 시스템 구축 및 운영
네트워크 방화벽 정책 관리

반응형