토토 커뮤니티/CD/DevOps 개요
토토 커뮤니티(지속적 통합) 및 CD(지속적 전달/배포)란 무엇입니까
빌드, 테스트 및 환경 배포를 자동화하여 소프트웨어 개발을 보다 정확하고 효율적으로 발전시키는 방법입니다 자동화는 사람의 작업 중에 발생하는 번거로움과 실수를 방지할 뿐만 아니라 개발 환경의 품질을 향상시키고 문제를 조기에 감지하며 안정적인 릴리스를 달성합니다
DevOps란 무엇입니까
개발과 운영이 하나로 묶여 있고, 개발과 운영을 담당하는 사람들이 긴밀하게 협력하는 개발 방식입니다 개발 및 운영 주기를 가속화하고, 결함 및 운영 모니터링 결과를 개발 초기에 반영하고, 운영을 반복함으로써 소프트웨어 및 서비스의 품질 향상을 목표로 합니다
Sky Corporation에서는 DevOps 노력을 통해 고객 개발 환경의 안정화와 효율성을 지원합니다
DevOps(개발/운영 환경)자동차 개발을 둘러싼 환경 변화
2020년 6월 Toyota Motor Corporation의 "소프트웨어 우선" 선언 외에도 UN의 자동차 표준 조화를 위한 세계 포럼(WP29)에서는 자동차 사이버 보안 및 소프트웨어 업데이트에 대한 국제 표준(UN 규정)을 제정했습니다 또한 폭스바겐의 vwOS, BMW의 OS7을 중심으로 한 소프트웨어 업데이트 등 OTA(Over The Air) 기반의 서비스 제공이 주류로 자리 잡고 있다
과거에는 하드웨어 진화와 함께 소프트웨어도 진화시키려고 노력했지만, 소프트웨어가 독립적으로 진화하고 하드웨어를 동일하게 유지하면서 최신 소프트웨어를 계속 제공할 수 있는 시스템과 프로세스를 갖추는 것이 경쟁력으로 이어질 것입니다 이러한 환경 변화에 따라 소프트웨어 개발 프로세스도 기존의 Waterfall 모델에서 Agile 개발로 전환되고 있으며, 토토 커뮤니티/CD 도입을 통한 자동화 촉진이 시급합니다
토토 커뮤니티/CD 환경을 효과적으로 활용하기 위한 기본 프로세스
토토 커뮤니티/CD 환경은 도구를 사용하여 릴리스를 자동화하여 비용을 절감합니다 따라서 출시 횟수가 많아질수록 비용 개선 효과도 커집니다 아래 다이어그램은 폭포수 모델과 애자일 개발의 차이점을 보여줍니다 민첩한 개발 마인드를 채택하고 릴리스 수를 늘리는 프로세스를 적용하면 토토 커뮤니티/CD 환경을 보다 효과적으로 활용할 수 있습니다
폭포 모델의 특성, 강점 및 약점
특징
- 개발 프로세스 중심의 개발
- In-process 독립형, 각 프로세스가 완료될 때까지 다음 프로세스로 진행하지 않음
강점
- 소규모 개발에 강함
- 성능 개선이 용이함
- 간단한 프로세스 관리
약점
- 사양 변경 시 재작업이 많음
- 다양성이 떨어지는 경향이 있습니다
- 복구 계획을 세우기가 어렵다
애자일 개발의 특징, 강점 및 약점
특징
- 개발 요구사항을 중심으로 구성된 개발
- 개발 프로세스는 각 요구사항별로 진행되므로 각 요구사항 전후의 재배열이 가능합니다
강점
- 대규모 개발에 강력함
- 변경/변경이 용이함
- 컴포넌트화를 통한 높은 다양성
약점
- 최종 비용 추정이 어려움
- 성과 달성이 어려움
- 프로세스/구성 관리가 복잡함
토토 커뮤니티/CD 환경을 보다 효과적으로 활용하기 위한 요구사항 관리
토토 커뮤니티 구현 시 보증 범위를 명확히 하기 위해 요구사항 분석 수행 시 요구사항 구현에 필요한 기능을 명확히 합니다 또한, 각 기능 구현을 위한 요구사항을 연계 관리함으로써 각 기능의 책임과 요청부터 기능/요구사항까지의 추적성을 명확히 합니다
기존 요구사항 분석
요구사항을 추출한 후 모든 요구사항을 수집하고 기본 설계를 생성합니다
토토 커뮤니티/CD를 가정한 요구사항 분석
각 요청을 기능으로 나누고 요구 사항을 각 기능에 배포한 다음 설계를 시작합니다 이때, 다른 기능의 소유자에게 요구사항을 분배할 필요가 있을 경우 요구사항을 양도하는 형태로 분배한다
예) 요구사항 A를 충족하기 위한 개발 및 토토 커뮤니티
토토 커뮤니티/CD 환경 예시: 온프레미스(자체 서버) 구성
오픈 소스 자동화 서버 "Jenkins"에서 작업을 생성하여 빌드, 정적 분석 및 테스트를 트리거할 트리거를 결정할 수 있습니다 아래 예시와 같이 토토 커뮤니티/CD 환경의 경우 개발 대상과 환경에 따라 최적의 도구 선택이 필요합니다
토토 커뮤니티/CD 환경 예시: 클라우드 환경의 구성
주로 AWS 코드 시리즈를 사용하여 온프레미스 구성에 해당하는 토토 커뮤니티/CD를 구현할 때의 구성 예입니다 웹 개발에서는 다양한 도구를 익히고 보다 발전된 토토 커뮤니티/CD 환경을 구축하는 것이 중요합니다 도구 및 토토 커뮤니티/CD 구성에 있어서는 On-Premise 구성보다는 개발 대상 및 환경에 따른 최적의 구성을 고려할 필요가 있습니다
| 테스트 도구 예 |
|
|---|
토토 커뮤니티 환경 유형
온프레미스 토토 커뮤니티 환경
- 회사 내 폐쇄형 네트워크 환경에 구축된 토토 커뮤니티 환경, "Jenkins"로 대표됨
- 기밀이 높은 제품을 쉽게 개발하고 고유한 사용자 정의를 생성할 수 있습니다
- 실제 기계를 토토 커뮤니티 테스트에 사용할 수 있습니다
클라우드형 토토 커뮤니티 환경
- "AWS" 또는 "Azure"와 같은 클라우드에 토토 커뮤니티 환경 구축
- 원래 커스터마이징이 어렵지만 유지관리가 클라우드 환경에서 이루어지므로 운영비용이 저렴합니다
- 토토 커뮤니티에는 웹이 필요합니다
토토 커뮤니티/CD 환경 예시: CANoe를 사용하는 토토 커뮤니티 환경
이것은 "CANoe"와 "Jenkins"를 연결하고 최신 빌드 결과를 사용하여 CAN 통신 시퀀스를 자동으로 테스트하는 토토 커뮤니티 환경입니다 아래 예와 같이 Jenkins와 함께 작동할 수 있는 도구를 자동화된 테스트 환경에 통합할 수 있습니다