GN⁺: 2011년의 'The Twelve-Factor App'
(12factor.net)- 본 기사는 소프트웨어-서비스(SaaS) 애플리케이션을 구축하기 위한 방법론인 twelve-factor app에 대해 논의한다.
- Twelve-factor app 방법론은 선언적 형식을 사용하여 설정 자동화를 통해 프로젝트에 참여하는 새로운 개발자들의 시간과 비용을 줄인다.
- 이 방법론은 기본 운영 체제와의 깔끔한 계약을 유지하여 실행 환경 간의 최대 이식성을 보장한다.
- 이 방법론은 서버와 시스템 관리의 필요성을 제거하며, 현대의 클라우드 플랫폼에 배포하기에 적합하다.
- 개발과 생산 사이의 차이를 최소화하여 최대의 기민성을 위한 지속적인 배포를 가능하게 한다.
- Twelve-factor app은 도구, 아키텍처, 또는 개발 관행에 중요한 변화 없이 확장할 수 있다.
- 이 방법론은 데이터베이스, 큐, 메모리 캐시 등의 다양한 백업 서비스를 사용하는 어떤 프로그래밍 언어로 작성된 앱에도 적용할 수 있다.
- 이 방법론은 웹 앱이나 SaaS와 같이 소프트웨어가 일반적으로 서비스로 제공되는 현대 시대에 특히 관련성이 있다.
Hacker News 의견
- 2011년 Heroku와 당시의 컨테이너화된 인프라 기능에 기반한 Twelve-Factor App 권장사항
- 일부 사용자들은 이 가이드라인이 엔지니어링 원칙보다는 제작 회사의 제품 기능에 더 많이 의존하기 때문에 도움보다는 해가 된다고 생각함
- 환경 변수를 사용한 설정과 같은 일부 사항들은 잠재적인 보안 위험과 구조화된 파일 설정의 폐기로 인해 논란의 여지가 있음
- 한 리포지토리에 하나의 앱을 두는 가이드라인에 대한 불일치, 일부는 기능적으로 연결되어 있고 릴리즈 주기를 공유하는 경우 한 리포지토리에서 여러 앱을 개발할 수 있다고 주장함
- 컨테이너 시대에는 환경이 덜 안정적이고 안전하므로 가이드라인이 덜 적용될 수 있다고 봄
- 일부 사용자들은 가이드라인이 유용하다고 생각하지만, 그 중요성을 이미 이해하는 사람들에게만 해당됨
- 2012년에 작성되었음에도 불구하고, 이 가이드라인은 현재의 호스팅 추상화를 형성하는 데 영향을 미쳤음
- 문서 내 규칙에 대한 타당성 부족에 대한 비판이 있음
- 일부 사용자들은 WordPress와 같은 전통적인 비-Twelve-Factor 앱에 가이드라인을 적용해 보려고 시도했으나, 성공 정도는 다양함