선수로 산다, 때론 좋은 코치로
[devops] DevOps 정리 본문
DevOps 정리
DevOps, Appliance 형태의 보안 솔루션을 개발하는 방법으로 도입하기려면 검토가 필요하다.
운영은 좀더 검토하더라도, 개발하고 배포하려면 꼭 알아야할 기술이다.
DevOps라는 용어를 알아보기 전에, java 개발자가 이해하기 쉬운 글을 하나 읽어보자.
[강좌] 다운타임 없는 서비스 구현 패턴
시작에 앞서
I. 코드베이스, 버전 관리되는 하나의 코드베이스와 다양한 배포
III. 설정, 환경(environment)에 저장된 설정
IV. 백엔드 서비스, 백엔드 서비스를 연결된 리소스로 취급
V. 빌드, 릴리즈, 실행, 철저하게 분리된 빌드와 실행 단계
VI. 프로세스, 애플리케이션을 하나 혹은 여러개의 무상태(stateless) 프로세스로 실행
VII. 포트 바인딩, 포트 바인딩을 사용해서 서비스를 공개함
VIII. 동시성(Concurrency), 프로세스 모델을 사용한 확장
IX. 폐기 가능(Disposability), 빠른 시작과 그레이스풀 셧다운(graceful shutdown)을 통한 안정성 극대화
X. dev/prod 일치, development, staging, production 환경을 최대한 비슷하게 유지
XI. 로그, 로그를 이벤트 스트림으로 취급
XII. Admin 프로세스, admin/maintenance 작업을 일회성 프로세스로 실행
- 도서 추천
- 릴리즈 잇 (Release it!)
- 세트 도서 구매(지속적인 통합 + 릴리스 잇 세트) 검토
- 블로그 추천
주요 내용
- 서비스를 중요하게 취급할 수록 업데이트와는 멀어진다
- 예전에는 라이브러리를 shared로 추가했다면, 이제 static하게 추가하는 형태로 발전
- Make JAR not WAR 캠페인
참고자료
- 도서 - 서버/인프라 엔지니어를 위한 DevOps
- 유료강좌 - DevOps 첫걸음: Docker에서 Rancher를 이용한 CD까지
- 슬라이드 - DevOps와 자동화, kth, 2012/2014년 자료
- 슬라이드 - 코드로 인프라 관리하기 - 자동화 툴 소개, 2014/2015/2016년 자료
'개발 관련 > 개발 일반' 카테고리의 다른 글
[검토] syslog 수집 분석 아키텍처 (0) | 2018.03.02 |
---|---|
자전거 주차장 논쟁 (0) | 2017.10.28 |
개발교육 - 1차 (2) | 2017.04.06 |
[java] JAVA의 홀수버전과 짝수버전의 차이는 무엇인가? (0) | 2016.11.05 |
[리눅스] CentOS 7 vs CentOS 6 (0) | 2016.11.05 |
Comments