2015년 10월 24일 토요일

효과적 개발 및 운영을 위한 10가지 필수 DevOps 툴

DevOps 는 개발 및 운영체계를 통합하여 , 빠른 서비스 개발과 반영을 위해 개발된 개발모델로 기존의 개발팀과 운영팀이 합쳐지는 등 변화의 폭이 매우 큼으로 인해 적용하기 어려움 . 이에 효과적인 개발 및 효율적인 운영을 위한 오픈소스 및 상용화 등 10 가지 필수 DevOps 툴을 소개합니다 .

1. Git and GitHub
  • 버전관리 시스템으로 알려진 Git은 코드의 버전을 저장하기 위한 저장소(repository)이고 GitHub은 코드가 다운로드 되고 공유될 수 있는 공개 관리 저장소(repository)임

2. Jenkins
  • 젠킨스는 Agile창시자 중 한 명인 마틴파울러씨가 주창한 지속적 통합(Continuous Integration)을 구현하기 위한 자바 오픈소스 소프트웨어로서 웹 어플리케이션의 형태를 하고 있음

3. Berkshelf
  • Riot Games에 의해 유지되는 이 오픈소스는 올바른 버전의 cookbook2)이 실행되는 것을 보장하기 위해 Chef서버로의 패치 및 배포 관리 방법을 제공함

4. Perforce
  • Perforce Software 사에 의해 개발된 이 제품은 버전관리 시스템으로 분산개발환경에서 즉각적이 대응성이 있어 지역적으로 분산되어 있는 팀간 공동 개발작업 등을 지원함

5. Nagios
  • 코드의 변경이 시스템 환경에 어떻게 영향을 미치는가를 모니터링하는 것은 어플리케이션 배포에 결정적임

6. Sensu
  • Sensu는 Nigios와는 오픈소스 모니터링 프레임워크임

7. LogStash
  • LogStash는 이벤트와 로그를 관리하는 툴로, 로그를 수집하고 파싱, 저장하여 추후 검색 등을 통해 사용할 수 있도록 웹 인터페이스를 제공함

8. Test Kitchen
  • 인프라 관리 자동화 솔루션기업인 Opscode 사에서 배포한 Test Kitchen 툴은 사용자의 cookbook 개발 과정에서 시뮬레이션이 가능함

9. Vagrant
  • 개발을 진행하다보면, 개발환경 구성에 굉장히 많은 시간이 필요하며, 참여하는 개발자의 수만큼 개발환경 구축에 드는 시간은 배가 되어 비효율적이며, 구축된 개발환경마다 버전 관리하기도 쉽지 않은 일임

10. Foodcritic
  • Foodcritic는 Chef를 조사하고 테스트하기에 매우 좋은 오픈소스로 페이스 북 시스템 엔지니어인 Phil Dibowitz가 추천함

댓글 없음 :

댓글 쓰기