개발 플랫폼 자동 설치 | 컴퓨터 과학 전류


[Sponsored Post]

2020년 6월 2일

개발 도구 체인의 제공 및 지속적인 운영은 매우 복잡합니다. 특히 많은 수의 프로젝트가 유연성에 대한 요구가 높을 때. 이것은 회사에 상당한 비용을 초래할 뿐만 아니라 개발 팀의 민첩성을 감소시킵니다. Braunschweig에 기반을 둔 IT 서비스 제공업체인 Cloudogu의 솔루션이 해결책을 제시합니다. Cloudogu EcoSystem은 툴체인이 1시간 이내에 구현될 수 있도록 설계되었습니다. 효율적인 유지 관리는 원활한 작동에 필요한 리소스도 절약합니다.

소프트웨어 개발에서 시장 역학은 지속적으로 증가하고 있습니다. 따라서 개발 팀은 변경 사항과 새로운 고객 요구 사항에 신속하게 대응할 수 있어야 합니다. 이를 위해서는 새 프로젝트의 요구 사항에 빠르게 적응할 수 있는 도구 체인이 필요합니다. 이를 위해서는 사내 운영 및 개발 팀이 긴밀하게 협력해야 합니다. 최근 몇 년 동안 정확히 이 협력을 위해 DevOps라는 용어가 만들어졌습니다. DevOps의 기본 아이디어는 소프트웨어를 더 빠르고 더 나은 품질로 고객에게 제공하는 것입니다. 이를 위해서는 그에 상응하는 기업문화와 함께 부서 간 긴밀한 협업이 가능한 기술 구현이 중요하다.

여기에서 과제는 부서 간 DevOps 도입의 일환으로 수년에 걸쳐 확립된 작업 방법과 도구를 동기화하고 표준화하는 것입니다. 또한 직원들은 종종 동시에 여러 프로젝트에 참여하고 서로 다른 위치에서 작업을 수행합니다. 따라서 개별 프로젝트는 개별 작업 방법, 프로세스 및 도구를 개발하는 경우가 많습니다. 프로젝트 및 부서 경계를 넘어 공동 개발이 성공하려면 회사에서 두 가지 전제 조건을 만들어야 합니다. 모든 개발 프로젝트를 구속력 있게 포함하는 공통 절차 집합이 있어야 합니다. 그리고 표준화된 방식으로 모든 도구를 제공하는 중앙 플랫폼이 필요합니다. 공통 도구 세트를 사용하면 전문가가 매번 기본 도구를 다시 배울 필요 없이 모든 프로젝트에서 어디에서나 작업할 수 있습니다. 그리고 새로운 팀 구성원은 하나의 도구 체인을 사용하는 방법만 배우면 됩니다.

경제 도구 체인

따라서 회사 전체에서 통합 및 협업 개발 인프라로 전환하는 과정에서 극복해야 할 몇 가지 장애물이 있습니다. 이상적으로는 프로세스와 도구가 첫 번째 단계에서 표준화됩니다. 두 번째 단계에서는 포괄적으로 정의된 도구 체인을 구현해야 합니다. 이러한 도구 체인은 종종 다른 도구의 개별 컴파일입니다. 이러한 일관되지 않은 부분을 전체 시스템에 결합하고 통합하는 것은 결코 사소한 일이 아닙니다. 모든 도구에는 자체 인증 메커니즘, 다양한 인터페이스, 특정 구성 옵션 등이 있기 때문입니다. 도구를 유지 관리하려면 많은 리소스가 필요합니다. 따라서 처음부터 도구 체인의 지속적인 작동에 대해 생각하는 것이 경제적으로나 조직적으로 중요합니다.

간단한 예는 도구 체인을 구현하는 데 얼마나 많은 노력이 필요한지 보여줍니다. 관리자는 4개의 도구로 구성된 기본 도구 체인을 완전히 수작업으로 설정하기 위해 몇 일의 작업일을 계획해야 합니다. 먼저 필요한 서버를 설치 및 구성해야 합니다. 베어 메탈 설치의 경우 이 프로세스는 2~4일이 소요될 수 있습니다. 또한 실제로 도구를 구성하는 데는 1~2일이 소요됩니다. 예를 들어 싱글 사인온 솔루션에 도구를 통합하면 추가 작업 시간이 필요합니다. Docker와 같은 컨테이너 기술을 사용하면 프로세스가 좀 더 쉬워지고 따라서 더 빨라집니다. 그런 다음 일반적으로 근무일 기준 1일 이상 서버를 설치할 수 있습니다. 그러나 개별 도구를 구성하려면 수동 설치와 동일한 노력이 필요하며 경험에 따르면 이를 위해 하루나 이틀을 계획해야 합니다. 따라서 툴체인을 완전히 사용할 수 있을 때까지 관리자의 반나절 작업이 필요합니다.

그러나 IT 관리자의 작업은 개발 도구 체인 설정으로 끝나지 않습니다. 개별적으로 컴파일된 도구 컬렉션의 일일 작업도 매우 많은 시간이 소요됩니다. 때로는 크게 다른 업데이트 프로세스와 도구 주기만으로도 많은 작업이 발생합니다. 예를 들어 인기 있는 빌드 서버 Jenkins는 일반적으로 12주마다 새 LTS 버전을 받습니다. 작년 첫 9주 동안 Jenkins는 11개의 릴리스를 받았습니다. 테스트하고 통합해야 했습니다. 각 도구에는 자체 업데이트 주기가 있으며 불규칙한 보안 패치도 있습니다.

자동 및 중앙 집중식

결과적으로 두 접근 방식 모두 새로운 문제에 유연하고 적응적으로 대응하는 개발 팀의 능력을 제한합니다. 가능한 가장 짧은 시간 내에 도구 체인을 사용할 수 있도록 하기 위해 필요한 모든 구성 요소를 대부분 자동으로 설치하고 구성하는 접근 방식을 사용할 수 있습니다. CES(Cloudogu EcoSystem)는 중앙 백엔드를 통해 사용할 수 있는 컨테이너화된 도구를 기반으로 합니다. 이 솔루션은 Jenkins, Nexus Repository, SonarQube 및 Smeagol과 같이 검증되고 널리 사용되는 수많은 도구를 통합합니다. 이들은 긴밀하게 통합되고 사전 구성됩니다. 도구는 현장에서 작동할 수 있는 가상 머신에 설치됩니다. 구현은 세 가지 간단한 단계로 이루어집니다.

  1. 하이퍼바이저가 있는 서버만 있으면 됩니다. CES는 VMWare 또는 OpenVM과 같은 대부분의 일반 시스템을 지원합니다. 기본 VM을 수정하고 가져오기만 하면 됩니다. , CES 빠른 시작 가이드 참조 [1].
  2. 두 번째 단계에서는 시스템이 초기에 구성 및 설치됩니다. 이를 위해 관리자는 웹 인터페이스를 통해 CES에 액세스하고 백엔드에 인스턴스를 등록합니다. 예를 들어 자신의 GitHub 계정을 통해 편리하게 이 작업을 수행할 수 있습니다. 그런 다음 원하는 디렉토리 서비스 또는 메일 서버 선택과 같은 기본 설정이 이루어지고 필요한 개발 도구가 마우스 클릭으로 선택됩니다. 그러면 도구가 완전히 자동으로 설치됩니다.
  3. 설정 후에는 추가 구성 단계 없이 개발 플랫폼이 준비됩니다. 선택적으로 개인 대시보드를 원하는 대로 설정할 수 있습니다.

설치 시간은 1시간 미만입니다. 대기업이나 도구 편차가 적은 개발 조직에서는 이러한 수동 단계를 불필요하게 만들 수도 있습니다. 또한 Cloudogu EcoSystem의 전체 설치는 다음을 통해 수행할 수 있습니다. 배포 설명자 끝에서 끝까지 자동화합니다. 따라서 이 접근 방식은 많은 대기업에서 이미 표준으로 채택하고 있는 셀프 서비스 포털과 함께 사용하기에도 적합합니다.

소프트웨어 개발의 산업화

설정 후에도 CES는 모든 업데이트가 클라우드 백엔드를 통해 표준화된 방식으로 중앙에서 제공되므로 관리자의 부담을 크게 덜어줍니다. 적은 노력으로 모든 도구에 대해 정확히 동일한 방식으로 가져올 수 있을 뿐만 아니라. 또한 이미 통합 테스트를 거쳤으므로 테스트 노력이 거의 필요하지 않습니다. 이는 종종 많은 종속성을 확인해야 하는 주요 업데이트에도 적용됩니다.

프로세스가 자동으로 수행되면 심각한 오류의 위험이 줄어듭니다.

훨씬 간단한 구현 및 유지 관리 외에도 높은 수준의 자동화는 무시해서는 안 되는 또 다른 이점인 안정성을 제공합니다. 기존 프로세스에 대한 수동 개입은 항상 오류의 위험을 안고 있기 때문입니다. 숙련된 관리자라도 다양한 도구를 구성할 때 쉽게 실수할 수 있습니다. 프로세스가 가능한 한 자동으로 수행되면 편차의 위험이 감소하고 따라서 개발 프로세스의 장애 또는 최악의 경우 보안 허점으로 이어질 수 있는 심각한 오류도 감소합니다. 이러한 높은 안정성은 변경의 위험을 크게 줄여 팀의 특별한 요구에 대응할 수 있게 합니다. 예를 들어 개별 팀의 도구 체인에 새 도구를 통합하거나 도구 업그레이드를 설치하여 새로운 기능을 사용할 수 있습니다.

결론

자동화는 DevOps의 핵심 요구 사항입니다. 자동화는 수동 상호 작용으로 인한 불가피한 오류를 방지하는 동시에 프로세스를 빠르게 진행하는 데 도움이 되기 때문에 당연히 그렇습니다. 그러나 자동화는 자체 소프트웨어 제품의 개발 및 빌드 프로세스를 대상으로 할 뿐만 아니라 기본 개발 인프라의 제공 및 운영도 포함해야 합니다. 기능이나 유용성 측면에서 타협하지 않고도 높은 수준의 표준화와 낮은 오류 확률을 달성할 수 있습니다. Cloudogu EcoSystem 접근 방식은 유연성 및 사용 편의성과 같은 클라우드 기반 백엔드의 장점을 사용합니다. 동시에 사이트에 설치된 인스턴스는 모든 관련 데이터가 항상 회사 자체 조직 내에 있기 때문에 높은 수준의 보안 및 제어를 보장합니다. 이를 통해 개발 부서와 팀은 민첩하고 유연하게 작업할 수 있습니다. 표준화된 도구 세트는 IT 관리자의 부담을 덜어주고 운영 비용을 낮추며 현대적이고 미래 지향적인 개발 플랫폼의 모든 요구 사항을 충족합니다. 이는 산업적 장점을 소프트웨어 개발로 이전하고 유연성, 민첩성 및 궁극적으로 시장 출시 시간에 대한 새로운 가능성을 창출합니다.

출처

  1. CES 빠른 시작 가이드

작가

다니엘 후흐트하우젠

Daniel Huchthausen은 브라운슈바이크 소재 Cloudogu GmbH의 컨설턴트입니다. 그는 스크럼 마스터이자 요구 사항 및 테스트 관리, 프로세스 분석 및 최적화 전문가로 고객과 동료 모두에게 제공됩니다.>>

About admin

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다