PaaSTA는 컨테이너와 Kubernetes를 사용하여 서비스를 구축, 배포 및 실행하기 위한 고가용성 분산 시스템입니다.
PaaSTA는 2016년부터 Yelp에서 프로덕션 서비스를 실행해 왔습니다. 원래는 Apache Mesos 위에서 실행되도록 설계되었지만 이후 Kubernetes를 사용하도록 업데이트되었습니다. 시간이 지남에 따라 PaaSTA가 제공하는 특징과 기능은 증가했지만 주요 디자인은 동일하게 유지됩니다.
PaaSTA는 팀이 실행해야 하는 서비스에 대한 선언적 설명을 취한 다음 해당 서비스가 팀이 유지 관리하기 쉬운 방식으로 안전하고 효율적으로 배포되도록 보장하는 것을 목표로 합니다. Kubernetes YAML 파일을 관리하는 대신 PaaSTA는 서비스를 설명하는 단순화된 스키마를 제공하고 Kubernetes를 구성하는 것 외에도 모니터링, 로깅, 비용 관리 등을 제공하는 다른 인프라 도구를 구성할 수도 있습니다.
PaaSTA를 특별하게 만드는 이유에 대한 의견을 더 알고 싶으십니까? PaaSTA 원칙을 확인하세요.
참고 : PaaSTA는 독선적이지 않은 몇 가지 도구를 사용하는 독선적인 플랫폼입니다. 완전히 작동하려면 적지 않은 양의 인프라를 마련해야 합니다.
이와 같은 구성 요소로 구성된 PaaS를 갖는 한 가지 이점은 다른 목적으로 재사용할 수 있다는 것입니다. 예를 들어, Yelp Sensu는 PaaSTA만을 위한 것이 아니라 모든 종류의 것을 모니터링하는 데 사용할 수 있습니다. 우리는 또한 Jolt 및 Cassandra와 같은 더 복잡한 다른 워크로드를 실행하는 데에도 Kubernetes를 사용합니다. SmartStack 및 Envoy의 고도로 맞춤화된 버전인 서비스 메시를 사용하면 Yelp의 많은 시스템이 PaaSTA 서비스 및 서로 통신할 수 있습니다.
반면에 많은 구성 요소가 필요하다는 것은 PaaSTA가 효과적으로 작동하기 전에 설정해야 할 인프라가 많다는 것을 의미합니다! 현실적으로 Yelp 외부에서 PaaSTA를 실행하는 것은 합리적이지 않습니다. 위에서 언급한 통합 외에도 복제해야 할 다른 도구에 인코딩된 강력한 의견이 있기 때문입니다. 그럼에도 불구하고 우리는 우리의 접근 방식을 공유하는 것이 유용하다고 생각하고 이 코드가 적어도 다른 사람들이 유사한 문제를 이해하거나 해결하는 데 도움이 될 수 있기를 바라기 때문에 공개적으로 PaaSTA를 코딩합니다.
PaaSTA 위의 직접 통합 외에도 PaaSTA 사용자에게 다른 기능을 제공하고 Yelp에서 컴퓨팅 용량을 관리하기 위해 다른 구성 요소도 사용합니다.
PaaSTA 배포 방법은 시작하기 문서를 참조하세요. 이 참조는 PaaSTA의 작동 방식을 이해하는 데 도움을 주기 위한 것이지만 프로덕션에서 PaaSTA를 사용하는 것은 권장하지 않습니다.
VS Code에서 PaaSTA를 디버깅하려면 내부 PaaSTA 위키 페이지 "PaaSTA 디버깅(VS Code에서)"을 참조하세요.
문서 읽기에서 문서를 읽어보세요.
PaaSTA는 Apache 라이센스 버전 2.0(http://www.apache.org/licenses/LICENSE-2.0)에 따라 라이센스가 부여됩니다.
모든 사람은 Github 저장소를 포크하고 끌어오기 요청을 하거나 이슈를 열어 PaaSTA에 기여하는 것이 좋습니다.