선수로 산다, 때론 좋은 코치로

[devops] DevOps 정리 본문

개발 관련/개발 일반

[devops] DevOps 정리

godsman 2017. 5. 27. 10:43

DevOps 정리


DevOps, Appliance 형태의 보안 솔루션을 개발하는 방법으로 도입하기려면 검토가 필요하다.

운영은 좀더 검토하더라도, 개발하고 배포하려면 꼭 알아야할 기술이다.   


DevOps라는 용어를 알아보기 전에, java 개발자가 이해하기 쉬운 글을 하나 읽어보자.


[강좌] 다운타임 없는 서비스 구현 패턴

시작에 앞서

I. 코드베이스, 버전 관리되는 하나의 코드베이스와 다양한 배포

II. 종속성, 명시적으로 선언되고 분리된 종속성

III. 설정, 환경(environment)에 저장된 설정

IV. 백엔드 서비스, 백엔드 서비스를 연결된 리소스로 취급

V. 빌드, 릴리즈, 실행, 철저하게 분리된 빌드와 실행 단계

VI. 프로세스, 애플리케이션을 하나 혹은 여러개의 무상태(stateless) 프로세스로 실행

VII. 포트 바인딩, 포트 바인딩을 사용해서 서비스를 공개함

VIII. 동시성(Concurrency), 프로세스 모델을 사용한 확장

IX. 폐기 가능(Disposability), 빠른 시작과 그레이스풀 셧다운(graceful shutdown)을 통한 안정성 극대화

X. dev/prod 일치, development, staging, production 환경을 최대한 비슷하게 유지

XI. 로그, 로그를 이벤트 스트림으로 취급

XII. Admin 프로세스, admin/maintenance 작업을 일회성 프로세스로 실행

주요 내용

  • 서비스를 중요하게 취급할 수록 업데이트와는 멀어진다
  • 예전에는 라이브러리를 shared로 추가했다면, 이제 static하게 추가하는 형태로 발전
  • Make JAR not WAR 캠페인



참고자료


Comments