역자 | Li Rui
리뷰어 | Sun Shujuan
일부 사상 지도자들은 종종 "모든 기업은 소프트웨어 회사입니다."라고 말합니다. 이는 지난 10년 동안 많은 대기업과 중소기업이 디지털 혁신 이니셔티브를 구현했기 때문입니다. 이러한 기업이 비즈니스 가치를 제공하기 위해 소프트웨어를 개발하고 배포하는 방식에 큰 영향을 미치고 있습니다.
과거에는 애플리케이션이 모놀리식인 경우가 많았고 온프레미스 베어메탈 또는 가상 머신에 배포되었으며 업데이트가 거의, 아주 드물게 이루어졌습니다. 오늘날 새로운 애플리케이션 모델은 마이크로서비스, 컨테이너화 및 지속적 전달을 활용하여 Kubernetes, 가상 머신 및 멀티 클라우드 환경에서 수많은 업데이트 버전을 제공합니다. 이러한 발전으로 인해 "서비스형(as-a-service)"부터 완전한 옴니채널 고객 참여, 실시간 IoT 데이터를 기반으로 하는 비즈니스 프로세스에 이르기까지 새로운 유형의 비즈니스 프로세스와 비즈니스 모델이 등장했습니다.
클라우드 네이티브 환경에서 이러한 새로운 소프트웨어 제공 전략을 성공적으로 구현하려면 소프트웨어 개발이라는 또 다른 변화가 필요합니다. 기업은 소프트웨어 보안을 희생하거나 규제 및 비즈니스 규정 준수 요구 사항을 무시하지 않고 속도, 빈도, 정확성을 갖춘 더 많은 소프트웨어 릴리스를 제공해야 합니다. 이러한 진화로 인해 복잡성이 추가되었습니다.
그리고 지리적으로 광범위하게 분산되어 있을 수 있는 개발, 운영, DevOps, 보안 및 규정 준수 팀은 더 빠르고 정확하며 더 높은 수준의 조정을 통해 작업해야 합니다. 마찬가지로, 소프트웨어 제공 팀 구성원의 생산성을 높이면서 오류와 지연을 방지하려면 복잡한 분산 워크플로를 고도로 조정해야 합니다. 이러한 발전은 다양한 CI(지속적 통합)/CD(지속적 전달) 도구 체인, 증가하는 보안 문제, 진화하는 개인 정보 보호 규정, 자격을 갖춘 기술 인력 부족으로 인해 더욱 복잡해졌습니다.
이러한 모든 과제에 직면한 기업은 어떻게 소프트웨어 제공 팀의 생산성을 향상하고 릴리스의 비즈니스 가치를 극대화할 수 있습니까? 첫째, 기업은 시간이 지남에 따라 도구와 프로세스를 개발할 수 있는 내부 시스템을 채택해야 합니다. 둘째, DevOps, 보안, 규정 준수 관리에 대한 제어를 중앙 집중화하는 동시에 프로세스 및 도구 측면에서 개발 팀에 최대한의 유연성을 제공해야 합니다. 셋째, 소프트웨어 제공 파이프라인을 지능적으로 자동화해야 합니다.
지속적 전달은 반복 가능하고 지속 가능한 방식으로 소프트웨어 변경 사항을 프로덕션에 신속하고 안전하게 배포하는 것을 의미합니다. 이 원칙은 새로운 것은 아니지만 Devops 관리 개선, 개발 효율성 향상, 거버넌스 및 보안 보장을 위한 기반이 될 수 있는 새로운 지속적인 제공 모델이 등장하고 있습니다. 이 새로운 모델은 개방형 플랫폼, 지능형 자동화, 중앙에서 제어되는 자율 팀이라는 세 가지 원칙을 기반으로 합니다.
개방형 플랫폼은 기존 CI(지속적 통합)/CD(지속적 전달) 도구 및 워크플로와의 원활한 통합을 지원합니다. 이를 통해 기업은 기존 도구 체인 및 프로세스를 방해하지 않고 개발 생산성을 크게 저하시킬 위험 없이 개발할 수 있으며, 개발자와 관리자를 실망시킬 수도 있습니다. 예를 들어, 공개 CI(지속적 통합)/CD(지속적 전달) 도구용 기본 API를 사용하는 개방형 통합 계층을 통해 개발 팀은 동종 최고의 도구를 계속 사용할 수 있습니다.
최대의 생산성과 제어를 위해 기존 CI(지속적 통합)/CD(지속적 전달) 도구와의 긴밀한 통합을 통해 소프트웨어 제공 프로세스의 모든 단계에서 외부 릴리스에 대한 가시성과 제어를 제공할 수 있으므로 시스템이 위험을 식별할 수 있습니다. 배송 프로세스 전반에 걸쳐 작업 흐름을 제어합니다. 또한 Argo 및 Spinnaker와 같은 일반적인 오케스트레이션 도구를 위한 개방형 통합 레이어와 기본 API를 사용하면 지속적인 전달 플랫폼을 찢거나 교체하지 않고도 오케스트레이션 도구를 변경하도록 수정할 수 있습니다.
지능형 자동화는 성공적인 소프트웨어 제공을 위한 많은 핵심 요구 사항을 충족합니다. 기본 프로세스 자동화는 코드를 통해 일상적인 수동 작업을 자동화하여 Devops 직원의 생산성을 높일 수 있습니다. 예를 들어 개발자는 Jenkins에서 빌드를 실행한 다음 자동화된 작업을 트리거하여 빌드를 Artifactory에 푸시하고 전달 파이프라인을 시작할 수 있습니다. 그러나 자동화와 인공 지능을 결합하면 프로세스를 향상하고 비즈니스 결과를 개선할 수 있습니다.
지능형 자동화는 일상적인 작업을 자동화한 다음 릴리스가 제공 수명 주기를 거치면서 자동 결정을 지속적으로 개선할 수 있습니다. 릴리스 프로세스에 인텔리전스 적용 – 심층적인 도구 통합과 결합하면 이벤트뿐만 아니라 모든 프로세스 데이터에 대한 액세스가 자동으로 소프트웨어 위험을 감지하고 릴리스 후보가 프로덕션에 들어가기 전에 자동으로 해결을 위해 플래그를 지정합니다.
향상된 개발 효율성과 더 빠르고 정확한 소프트웨어 릴리스 외에도 지능형 자동화는 규정 준수 및 보안에 대한 중앙 집중식 자동화 제어를 구현하는 방법을 제공합니다. 소프트웨어 제공 프로세스에 보안 정책과 자동화를 구현함으로써 기업은 보안이 개발 프로세스 마지막 검토 단계가 아닌 개발 프로세스의 통합된 부분이 되도록 DevSecOps를 구현할 수 있습니다.
모든 소프트웨어 릴리스의 규정 준수, 일관성 및 감사 가능성을 보장하기 위해 조직 전체의 개발, 보안 및 규정 준수 팀을 지원하려면 중앙 집중식 제어 장치를 구축하는 것이 중요합니다. 중앙 집중식 제어가 성공하려면 기업 및 개별 팀 수준에서 보안, 규정 준수 및 비즈니스 규칙을 시행할 수 있는 중앙 정책 엔진이 필요합니다. RBAC(역할 기반 액세스 제어)는 제어를 손상시키지 않으면서 팀과 개인에게 세분화된 권한을 제공할 수 있습니다. 팀이 독립적으로 운영되기 위해서는 보안, 배포 목표 및 유사한 요소 측면에서 팀이 다른 팀과 격리되어야 합니다.
정책 엔진과 결합된 지능형 자동화는 보안 및 규정 준수 정책의 구현을 자동화하고 지속적으로 개선하여 개발자, 보안 및 규정 준수 팀의 필요성을 줄입니다. 소프트웨어 개발 파이프라인의 성능을 더욱 향상시키기 위해 전사적 모범 사례와 재사용 가능한 배포 패턴을 구현하여 개발 팀의 생산성과 정확성을 높일 수 있습니다.
이제 이러한 새로운 지속적인 전달의 기본 요소가 다음과 같은 방식으로 제품에 도입되기 시작합니다.
오픈 소스 지속적 통합(CI)/지속적인 전달(CD) 프로젝트가 계속해서 개발되고 있습니다. 예를 들어, 진화하는 보안 문제를 충족하기 위해 오픈 소스 클라우드 기반 지속적 전달 솔루션인 Spinnaker에는 이제 여러 인증(ID 관리) 및 권한 부여(액세스 관리) 옵션이 포함되어 있습니다. 중앙 집중식 제어를 지원하기 위해 Spinnaker는 이러한 중요한 보안 기능에 대한 지능적인 접근 방식도 취합니다. Spinnaker는 새로운 독점 로그인 솔루션을 작성하는 대신 OAuth 2.0, SAML 및 LDAP를 포함한 최신 보안 프로토콜을 활용하여 Spinnaker가 대부분의 기업에서 이미 사용하고 있는 ID 및 액세스 관리 솔루션과 통합할 수 있도록 합니다. Spinnaker는 또한 Google 그룹스, GitHub 팀, SAML 역할 및 LDAP 그룹과 같은 일반적인 인증 솔루션과 통합됩니다.
오픈 소스 지속적 전달 솔루션을 기반으로 한 독점 솔루션 및 제품을 포함한 비즈니스 솔루션에서 일상적인 프로세스의 자동화가 점점 일반화되고 있습니다. 예를 들어 CodeFresh, Armory 및 OpsMx와 같은 상용 솔루션은 Argo 및 Spinnaker와 같은 오픈 소스 지속적 전달 프로젝트를 기반으로 구축되었습니다. Digital.ai, Harness 및 Broadcom과 같은 회사도 독점 비즈니스 솔루션을 제공합니다.
인공 지능 및 기계 학습은 Harness 및 OpsMx와 같은 비즈니스 솔루션에서 등장하고 있습니다. 이에 대한 예로는 이전 배포에서 학습하고 좋은 배포의 기준을 생성하여 이상 탐지를 가능하게 하는 기계 학습 기반의 지속적인 검증 프로세스가 있습니다. 마찬가지로 New Relic, Datadog, Honeycomb 및 Splunk의 CI(지속적 통합)/CD(지속적 전달) 도구는 인공 지능/기계 학습을 사용하여 소프트웨어 성능 및 품질에 대한 더 많은 통찰력을 제공합니다.
지능형 자동화는 인공 지능과 로봇 프로세스 자동화(RPA) 기술을 결합하여 조직 전체에서 프로세스와 의사 결정을 간소화하고 확장합니다. 지능형 자동화는 OpsMx와 같은 소수의 상업용 지속적 전달 솔루션에서 등장하여 기업이 일상적인 프로세스 및 워크플로의 자동화를 넘어설 수 있도록 지원합니다.
지능형 자동화는 소프트웨어 버전에 대한 위험 분석을 수행하여 수용할 수 없는 생산 실패 위험을 발생시키지 않고 버전이 다음 파이프라인 단계로 전달될 표준을 충족하는지 자동으로 판단할 수 있습니다. 이러한 수준의 인텔리전스는 정책 준수를 자동화하여 모든 거버넌스 규칙 및 모범 사례를 준수하도록 보장할 수도 있습니다. 업계를 선도하는 기업은 더 나아가 지능형 자동화와 블루-그린 테스트, 카나리아 테스트, 점진적 전달과 같은 고급 배포 전략을 결합하여 그 어느 때보다 더 빠르고 위험을 낮추면서 소프트웨어를 배포합니다.
소프트웨어 제공 프로세스가 기업 수준의 디지털 혁신 요구 사항을 충족하는 것이 중요합니다. 그렇지 않으면 릴리스 지연, 높은 릴리스 오류율, 보안 및 규정 준수 실패, 사용자와 고객의 불만을 초래하는 소프트웨어 제공 문제가 발생합니다.
좋은 소식은 Devops 개발자가 이제 지속적인 전달 프로세스를 위한 새로운 기반을 구현하여 더 빠르고 더 높은 품질의 소프트웨어 릴리스를 보장할 수 있다는 것입니다. 지능형 자동화 기능이 더욱 널리 보급됨에 따라 Devops 개발자는 디지털 혁신 가속화의 핵심 동인으로 자리매김하여 더 짧은 기간 내에 새로운 소프트웨어 기능을 더 빠르고, 더 자주, 더 안전하게 제공할 수 있습니다.
원본 링크: https://www.infoworld.com/article/3658209/how-intelligent-automation-changes-cicd.html
위 내용은 지능형 자동화가 CI(지속적 통합)/CD(지속적 전달)를 변화시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!