13장. 컨테이너 플랫폼 설계
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
프로덕션 환경에서 기술을 구현할 때 필연적으로 발생할 수 있는 예기치 않은 문제를 견딜 수 있는 탄력적인 플랫폼을 설계하는 것이 가장 큰 이점을 얻을 수 있습니다. Docker는 강력한 도구가 될 수 있지만 전체 플랫폼을 올바르게 구축하려면 세부 사항에 주의를 기울여야 합니다. 매우 빠르게 성장하고 있는 기술인 만큼 컨테이너 플랫폼을 구성하는 다양한 구성 요소 사이에서 실망스러운 버그가 발생할 수밖에 없습니다.
단순히 기존 환경에 Docker를 배포하는 대신 시간을 들여 Docker를 핵심 구성 요소 중 하나로 활용하여 잘 설계된 컨테이너 플랫폼을 구축하면 컨테이너 기반 워크플로우의 많은 이점을 누리면서 동시에 속도가 빠른 프로젝트에서 발생할 수 있는 날카로운 모서리로부터 자신을 보호할 수 있습니다.
다른 모든 기술과 마찬가지로 Docker가 모든 문제를 마술처럼 해결해 주지는 않습니다. 진정한 잠재력을 발휘하려면 조직은 왜 그리고 어떻게 사용해야 하는지에 대해 매우 신중한 결정을 내려야 합니다. 소규모 프로젝트의 경우 간단한 방식으로 Docker를 사용할 수 있지만, 수요에 따라 확장 가능한 대규모 프로젝트를 지원할 계획이라면 애플리케이션과 플랫폼을 매우 신중하게 설계하는 것이 중요합니다. 이렇게 하면 기술에 대한 투자 수익을 극대화할 수 있습니다. 시간을 들여 의도적으로 플랫폼을 설계하면 시간이 지나면서 프로덕션 워크플로우를 훨씬 쉽게 수정할 수 있습니다. 잘 설계된 컨테이너 플랫폼과 배포 프로세스는 가능한 한 가볍고 간단하면서도 모든 기술 및 규정 준수 요건을 충족하는 데 필요한 기능을 지원합니다. 신중한 설계는 기술과 회사 프로세스가 발전함에 따라 쉽게 업그레이드할 수 있는 동적인 기반 위에서 소프트웨어를 실행하는 데 도움이 됩니다.
이 장에서는 두 개의 공개 문서인 "The 12-Factor App" 과 "The Reactive Manifesto "( "The Reactive Principles"의 동반 문서)를 살펴보고, 이 문서들이 Docker 및 강력한 컨테이너 플랫폼 구축과 어떻게 연관되는지 논의해 보겠습니다. 두 문서 모두 컨테이너 플랫폼의 설계 및 구현을 안내하고 전반적으로 더 많은 복원력과 지원 가능성을 보장하는 데 도움이 되는 많은 아이디어를 담고 있습니다.
12가지 요소 앱
2011년 11월, Docker가 출시되기 훨씬 전인 Heroku의 공동 창업자인 Adam Wiggins와 그의 동료들은 "The Twelve-Factor App"이라는 문서를 발표했습니다. 이 문서에서는 최신 컨테이너 기반 SaaS환경에서 번창하고 성장하는 애플리케이션을 설계하기 위해 Heroku 엔지니어들의 경험에서 추출한 일련의 12가지 사례를 설명합니다.
필수는 아니지만 이러한 12단계를 염두에 두고 구축된 애플리케이션은 Docker 워크플로우에 이상적인 후보입니다. ...