빌드 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

빌드

DevOps 전략의 구축 단계에서는 기술 인프라를 구성하고 협업, 자동화 및 지속적인 개선을 향한 문화적 전환을 장려합니다. 이 중추적 단계에는 도구 및 파이프라인의 실제 오케스트레이션이 포함됩니다. 여기에는 다음이 포함됩니다.

  • DevOps 도구 체인 설정

  • 연결 설정

  • 애플리케이션 배포를 통해 코드 개발을 안내하는 파이프라인 생성

여기에는 소프트웨어 구축의 기술적 측면뿐만 아니라 협업, 자동화 및 지속적인 개선을 향한 개발 문화 변화도 포함됩니다. 지속적 통합 및 지속적 전달(CI/CD) 원칙을 준수함으로써 빌드 단계는 개발 및 배포 프로세스를 간소화하고, 소프트웨어 품질을 개선하고,에서 현대화된 메인프레임 애플리케이션의 배포를 가속화하는 것을 목표로 합니다 AWS.

다음 다이어그램은 배포 파이프라인의 다양한 단계를 나타냅니다. 각 단계에는 현대화된 메인프레임 워크로드 배포 여정에서 구현해야 하는 필수 및 권장 단계가 포함되어 있습니다.

각 단계에 대한 열이 있는 차트입니다.

현대화된 메인프레임 워크로드 배포 파이프라인 단계는 다음과 같습니다.

  • 소스 단계 - 필수 단계는 구성, 종속성 매니페스트, 정적 자산, 인프라 소스, 테스트 소스 및 애플리케이션 소스입니다. 권장 단계는 데이터베이스 소스입니다.

  • 빌드 단계 - 필수 단계는 패키지 아티팩트, 정적 애플리케이션 보안 테스트, 보안 암호 감지, 코드 품질, 단위 테스트 및 빌드 코드입니다. 권장 단계는 소프트웨어 재료표 및 소프트웨어 구성 분석입니다.

  • 테스트(베타) 단계 - 필수 단계는 수락 테스트 및 통합 테스트입니다. 권장 단계는 소프트웨어 배포, 데이터베이스 배포 및 시작 환경입니다.

  • 테스트(감마) 단계 - 필수 단계는 합성 테스트, 모니터링 및 로깅, 소프트웨어 배포 및 시작 환경입니다. 권장되는 세트는 동적 애플리케이션 보안 테스트(DAST), 복원력 테스트, 성능 테스트 및 데이터베이스 배포입니다.

  • 생산 단계 - 필수 단계는 합성 테스트 및 점진적 배포입니다. 권장되는 단계는 데이터베이스 배포 및 수동 승인입니다.

지속적 통합

지속적 통합(CI)은 개발자가 코드를 정기적으로 약간 변경하고 이를 코드 리포지토리의 릴리스 가능한 브랜치에 통합하는 소프트웨어 개발 사례입니다. 새로 통합된 코드는 일관되고 반복 가능한 방식으로 자율적으로 구축, 테스트 및 검증됩니다. CI를 통해 개발자는 신속하게 피드백을 받고, 개발 수명 주기의 초기 단계에서 잠재적 문제를 식별하고, 복잡성과 비용이 증가하기 전에 해결할 수 있습니다.

지속적인 통합은 AWS에서 메인프레임 현대화 프로세스를 크게 가속화하고 간소화할 수 있습니다. CI 원칙은 다음 영역에 적용됩니다.

  • 빈번한 코드 통합 - CI 파이프라인에서 코드 변경 사항은 공유 리포지토리에 자주 통합되며 하루에 여러 번 통합되는 경우가 많습니다. 이렇게 하면 협업이 촉진되고 전체 개발 팀이 up-to-date 코드 베이스로 작업할 수 있습니다. 또한 CI는 코드 변경을 관리하고 수정 기록을 추적하는 데 도움이 될 수 있습니다. GitLab AWS CodeCommit및 GitHub 기반 도구는 빈번한 코드 통합 및 협업에 도움이 될 수 있습니다. GitLab 이러한 git 리포지토리의 코드는 OpenText Changeman ZMF용 Git 커넥터와 같은 커넥터를 통해 메인프레임에 다시 동기화할 수 있습니다.

  • 자동 테스트 - CI는 메인프레임 애플리케이션을 위한 자동 테스트 제품군 생성을 권장합니다. 이렇게 하면 클라우드에 대해 코드를 리팩터링할 때 작동 및 오류 없이 유지됩니다. 자동 테스트에는 단위 테스트 및 통합 테스트가 포함될 수 있습니다. 메인프레임 애플리케이션은 ZUnit과 같은 프레임워크를 사용하여 단위 테스트를 수행할 수 있습니다.

  • 조기 문제 감지 - 코드가 커밋될 때마다 자동 테스트 및 정적 코드 분석 도구를 실행하면 CI 시스템이 문제를 신속하게 감지하고 플래그를 지정합니다. 이를 통해 개발 팀은 개발 주기 초기에 문제를 해결하여 마이그레이션 중에 주요 차질의 위험을 줄일 수 있습니다. SonarQube 및 Veracode와 같은 도구는 메인프레임 COBOL과 현대화된 Java 코드 모두에 대한 조기 문제 감지 및 코드 품질을 지원할 수 있습니다.

  • 신속한 피드백 - CI 시스템은 개발자에게 코드 품질에 대한 신속한 피드백을 제공하여 현대화 프로세스를 지속적으로 개선할 수 있습니다.

지속적 전달

지속적 전달(CD)은 지속적 통합(CI) 후에 이루어집니다. CD에서는 빌드 검증을 통과하는 코드 변경 사항이 사람의 개입을 최소화하면서 프로덕션을 포함한 다른 환경에 자동으로 배포됩니다. CD를 사용하면 새로운 기능, 수정 사항 및 개선 사항을 빠르고 안정적으로 배포할 수 있습니다. CD는 리드 타임을 줄이고 배포 프로세스의 전반적인 효율성을 개선합니다. CD를 사용하여 전송 프로세스를 자동화하면 시스템이 다양한 환경에 변경 사항을 배포하는 데 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스를 처리하는 동시에 팀은 코드 개발 및 개선에 집중합니다.

CD를 사용하면 배포 프로세스를 자동화 AWS 하여 현대화된 메인프레임 애플리케이션을 로 쉽게 전환할 수 있습니다. CD 원칙은 다음 영역에 적용됩니다.

  • 자동 배포 - CD는 마이그레이션 프로세스 중에 수동 개입과 인적 오류 가능성을 줄이기 위해 대상 환경에 코드 변경 사항 배포를 자동화합니다. AWS CodeDeploy Jenkins 및 IBM Urban CodeDeploy와 같은 도구는 다양한 환경(예: 개발, 테스트, 생산)에 아티팩트를 점진적으로 배포하는 데 도움이 될 수 있습니다.

  • 지속적 배포 - 지속적 배포와 지속적 배포의 차이점은 프로덕션으로 업데이트하기 위한 수동 승인이 있다는 것입니다. 지속적 배포에서는 명시적 승인 없이 프로덕션이 자동으로 수행됩니다.

  • 빠른 피드백 루프 - 자동 배포는 코드 변경 사항을 배포할 준비가 되었는지 여부에 대한 빠른 피드백을 제공합니다. 이 피드백 루프는 철저하게 테스트되고 검증된 코드만 배포되도록 합니다.

  • 빈번한 릴리스 주기 - CD를 사용하면 조직에서 새로운 기능, 개선 사항 및 현대화된 코드를 더 자주 릴리스할 수 있습니다. 이러한 민첩성은 기업이 변화하는 요구 사항에 적응하고 경쟁을 유지하는 데 도움이 됩니다.

  • 롤백 기능 - CD 파이프라인에는 롤백 메커니즘이 포함되어야 합니다. AWS 환경에 문제나 예상치 못한 동작이 있는 경우 팀은 메커니즘을 사용하여 이전 버전의 애플리케이션으로 되돌릴 수 있습니다.

  • 코드형 인프라 - CD를 AWS CloudFormation 또는 HashiCorp Terraform과 같은 코드형 인프라(IaC) 도구와 결합하여 인프라를 일관되게 정의하고 프로비저닝할 수 있습니다. 일관된 프로비저닝은 AWS 환경이 필요한 구성과 일치하는지 확인하는 데 도움이 됩니다.