DevOps 시작하기

시작하기 전에

  • DevOps를 하기 위한 방식 및 접근은 다양한 방면에 걸쳐있다.

  • 팀원 전체를 설득하거나 근본적으로 개발 방법을 바꾸는 것은 쉽지 않다.

  • 현재 방식이 DevOps와 거리가 있다면, 미래의 DevOps를 명확히 이미지화하는 것이 어렵다.

  • 조금씩 단계를 밟아서 DevOps를 구현해본다.

  • 개인으로 시작해서 팀으로 전개하고 최종적으로는 조직구조를 DevOps에 맞게 변경하는 것을 목표로 한다.

Local 개발 환경 구축

  • VirtualBox

VirtualBox

  • 오라클에서 제공하는 가상 머신

  • 초기 구축에 약간의 시간이 걸림

  • 이미지 사이즈가 커서 환경 공유가 어려움

  • 환경 파악이 어려움

  • 환경의 유지보수가 어려움

서버 템플릿 도구

  • Vagrant

  • Packer

  • Docker

인프라 구성 관리 도구

종류

특징

  • 선언적: 서버가 어떤 상태로 존재했으면 좋겠다고 생각하는 상태를 설명한다.

  • 추상화: 구성 정보를 대상 환경의 미세한 차이에 따라 별도 구분하여 기술하지 않는다.

  • 수렴화: 대상이 어떠한 상태라 할지라도 기대했던 상태로 변경되는 것.

  • 멱등성: 몇 번을 실행해도 같은 결과를 얻을 수 있는 성질

  • 간소화: 여러 대상의 상태와 구성을 매우 쉽게 파악하며, 관리 측면에서 생산성이 매우 높음

Ansible

특징

  • Python으로 만들어짐

  • 구축 대상 서버에 구성 관리 클라이언트 도구를 도입할 필요가 없음

  • 정해진 포맷으로 설정을 간단하게 기술할 수 있음

  • 경우에 따라 명령어 하나로(Ansible 설정 없이)

리소스 선언 관리 도구

  • Terraform

참고자료

Last updated

Was this helpful?