소규모 프로젝트 및 서버의 서버 구성을 관리하는 방법은 무엇입니까?

소규모 프로젝트 및 서버의 서버 구성을 관리하는 방법은 무엇입니까?

저는 최근에 출시된 웹 애플리케이션을 개발하고 있습니다. 이제 계속해서 개선 작업을 진행 중이며 프로덕션 서버와 유사한 스테이징 서버를 만들고 싶습니다.

나는 Ansible, Puppet 및 Chef와 같은 도구가 있다는 것을 알고 있지만 문서를 검색하는 것은 내 간단한 사용 사례에 비해 약간 과도한 것 같습니다. 물론 애플리케이션을 완전히 도킹하는 솔루션이 있는데 이는 좋은 일입니다.

하지만 애플리케이션을 Dockerizing하는 것 외에 단순히 프로덕션 서버를 다시 만드는 경우 무엇을 권장하시겠습니까?

해야 할 일은 다음과 같습니다.

  • 몇 가지 종속성 설치: PHP, MySQL, Nginx, Java, Elasticsearch
  • 데이터베이스, 데이터베이스 사용자 추가
  • 사용자 추가
  • SSH 키 구성
  • SSH를 키 파일로만 인증하도록 변경
  • 몇 가지 방화벽 규칙 추가

답변1

실제로 Puppet은 소규모 환경을 위한 로컬 구성을 구현하기가 매우 쉽고 이를 위한 최고의 도구 중 하나입니다.

이 페이지에는 매우 빠르고 쉬운 설정에 대한 정보가 있습니다.

http://projects.puppetlabs.com/projects/1/wiki/simplest_puppet_install_pattern

답변2

면책 조항 - 여기에는 많은 의견이 있습니다.

그런 다음 첫 번째 질문은 "이 애플리케이션이 얼마나 커질까요?"입니다. 대답이 10개 이상의 서버라면, 과감하게 Puppet/Chef/Ansible 경로를 선택하는 것이 좋습니다. 서버가 10개 미만인 경우 패키지 매니페스트를 보고 수동으로 재현하고 두 번째 서버를 구축할 때 메모를 작성하세요.

관련 정보