소프트웨어 전송의 당면 과제
오늘날 기업은 급변하는 경쟁 환경, 진화하는 보안 요구 사항 및 성능 확장성으로 인한 과제에 직면해 있습니다. 기업은 운영 안정성과 신속한 기능 개발 간의 격차를 해소해야 합니다. 지속적인 통합 및 지속적인 전송(CI/CD)은 시스템 안정성과 보안을 유지하면서 신속한 소프트웨어 변경을 가능하게 하는 관행입니다.
Amazon은 Amazon.com 소매 고객, Amazon 자회사 및 Amazon Web Services(AWS)를 위한 기능을 제공해야 하는 비즈니스 요구 사항에는 새롭고 혁신적인 소프트웨어 제공 방법이 필요하다는 사실을 일찍이 깨달았습니다. Amazon과 같은 규모의 회사에서는 수천 개의 독립 소프트웨어 팀이 병렬로 작업하여 소프트웨어를 빠르고 안전하며 안정적으로 제공할 수 있어야 하며 가동 중단을 전혀 허용하지 않아야 합니다.
Amazon 및 기타 진보적인 조직들은 소프트웨어를 신속하게 제공하는 방법을 학습하게 되면서 DevOps를 선보였습니다. DevOps는 문화적 철학, 원칙 및 도구의 조합으로, 애플리케이션과 서비스를 더 빠르게 제공할 수 있도록 조직 역량을 향상합니다. 조직은 DevOps 원칙을 사용하여 기존 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 더 빠른 속도로 제품을 개발하고 개선할 수 있습니다. 이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있습니다.
피자 두 판 규모의 팀 및 마이크로서비스/서비스 지향 아키텍처(SOA) 와 같은 일부 원칙은 이 백서의 범위를 벗어납니다. 이 백서에서는 Amazon에서 구축하여 지속적으로 개선한 CI/CD 기능에 대해 설명합니다. CI/CD는 소프트웨어 기능을 빠르고 안정적으로 제공하는 데 핵심적인 역할을 합니다.
AWS은(는) 이제 AWS CodeStar, AWS CodeCommit, AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy 및AWS CodeArtifact 등과 같은 CI/CD 기능을 개발자 서비스 집합으로 제공합니다. DevOps를 실행하는 개발자와 IT 운영 전문가는 이러한 서비스를 사용하여 소프트웨어를 빠르고 안전하게 제공할 수 있습니다. 함께 사용하면 애플리케이션의 소스 코드에 버전 제어를 안전하게 저장하고 적용할 수 있습니다. AWS CodeStar를 사용하면 이 서비스로 종단 간 소프트웨어 릴리스 워크플로를 신속하게 조정할 수 있습니다. 기존 환경의 경우, AWS CodePipeline은(는) 각 서비스를 기존 도구와 독립적으로 통합할 수 있는 유연성을 갖추었습니다. 이러한 서비스는 다른 AWS 서비스처럼 AWS Management Console, AWS API(애플리케이션 프로그래밍 인터페이스) 및 AWS SDK(소프트웨어 개발 도구 키트)를 통해 액세스할 수 있는 고가용성 통합 서비스입니다.