본문 바로가기
개발자 :-)/AWS

DevOps 소개

by 뚜생첨 2022. 10. 4.

1. DevOps 정의

개발과 운영의 합성어.

개발과 운영의 경계를 허물고 통합하고자 하는 문화 혹은 철학

 

2. 필요한 이유

DevOps의 필요성을 얘기하기 위해서는 소프트웨어 생애주기에 대해 알아야한다.

큰 규모의 조직에서는 각 단계별 전문가로 구성된 기능 조직이 운영되기도 한다.

하지만, 그만큼 의사소통이 많이 필요하기때문에 문제가 발생하기도 하고, 병목구간이 생기기 쉽다.

 

데브옵스가 조직에 정착되고 나면, 개발자가 작성한 코드에 대해 스스로 테스트, 배포, 운영에 참여할 수 있지 않을까?

 

3. DevOps의 목표

개발과 운영의 벽을 허물어 더 빨리 자주 배포하자

 

4. DevOps 엔지니어

DevOps 엔지니어란 조직에 데브옵스 문화를 정착시키는데 도움을 주는 역할

개발자가 직접 테스트, 모니터링 등의 환경을 구축하는데 시간낭비를 하지않도록 한다.

 

5. 업무 도메인

네트워크

오케스트레이션 플랫폼

관측 플랫폼

개발 및 배포 플랫폼

클라우드 플랫폼 (자체/퍼블릭 클라우드 등)

보안 플랫폼 (서버 및 데이터베이스 접근 제어 구축 및 운영)

서비스 운영 

데이터 플랫폼 (데이터베이스 / 메시징서비스 / 데이터 웨어하우스 구축 및 운영)

 

6. 핵심 지표

장애 복구시간 

> 얼마나 빠르게 장애 상황에서 복구할 수 있는가?

변경으로 인한 결함률

> 얼마나 자주 변경 사항으로 인하여 장애가 발생하는가? (테스트가 잘못되고 있다)

배포 빈도

> 배포를 얼마나 자주하는가? 

변경 적용 소요시간

> 변경사항에 프로덕션 배포에 걸리는 소요시간은 얼마인가? (규모가 커서 오래걸린다면 쪼개서 마이크로 서비스단위로)

 

7. 엔지니어의 로드맵

프로그래밍 언어 (Go, 파이썬, nodeJs 추천)

> 운영체제 이해 (프로세스관리, 쓰레드 동시성, 네트워크, 입출력, 메모리 저장소, 파일시스템

> 서버관리 (리눅스-devian 계열, redhat 계열 차이, 패키지 관리 방법 정도)

> 터미널 명령어

> 네트워크, 보안 프로토콜 (http, https, ftp, SSL, ssh ..)

> Proxy, 방화벽

> Web server ( Nginx, apache, tomcat)

> CI/CD (gitlab, jenkins)

> container / configuration management / container orchestration / provisioning

> Elastic stack(로그관리, 어플리케이션 모니터링, 인프라 모니터링)

> APM (jaeger)

https://github.com/kamranahmedse/developer-roadmap

 

GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in

Interactive roadmaps, guides and other educational content to help developers grow in their careers. - GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational c...

github.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글