2017년 Netflix는 소프트웨어 팀에 급진적인 자유를 주기로 결정했다. 수백 개 마이크로서비스 팀이 각자 독립적으로 배포한다. 그런데 "어떤 팀이 어떤 AWS 리소스를 소유하는가?"라는 질문에 아무도 답하지 못하는 상황이 됐다. 동시에 수천 개 EC2, RDS, Lambda가 있는데 어느 것이 어느 서비스에 속하는지 태그만으로는 불충분했다.
AWS Service Catalog, AppConfig, AppRegistry는 이 문제들의 대답이다. Service Catalog는 "권한 없는 개발자도 표준 인프라를 자가 서비스로 프로비저닝한다". AppConfig는 "코드 배포 없이 런타임 설정을 안전하게 변경한다". AppRegistry는 "흩어진 AWS 자산을 애플리케이션 단위로 묶는다". SOA-C02에서 이 세 서비스는 운영자가 조직 전체의 거버넌스와 일관성을 유지하는 도구로 다뤄진다.
Service Catalog의 핵심 문제 의식은 두 가지 상충하는 목표를 동시에 달성하는 것이다. "개발자에게 신속한 자가 서비스를 제공한다" + "조직의 보안 표준과 비용 정책을 반드시 준수한다". 이 두 목표는 보통 대립한다. 자유를 주면 표준이 흔들리고, 표준을 강제하면 병목이 생긴다.
Service Catalog의 해법은 Launch Constraint Role이다. 개발자는 카탈로그에서 제품을 클릭한다