전체 주기 개발: 핵심 클라우드 기본 플랫폼 기능
게시 됨: 2021-06-02오늘날의 스타트업은 클라우드가 제공하는 이점을 누리기 위해 빠른 속도로 클라우드를 빠르게 채택하고 있습니다. 일부 조직은 클라우드 네이티브 사고 방식을 우선시하는 반면 다른 조직은 여전히 클라우드 접근 방식을 정의하는 과정에 있습니다. 그러나 "클라우드 네이티브"가 실제로 무엇을 의미하고 무엇을 기대할 수 있는지에 대해 IT 전문가 사이에는 여전히 상당한 혼란이 있습니다.
클라우드 네이티브 여정을 막 시작했든 이미 배포했든 상관없이 이 문서에서는 클라우드 네이티브 플랫폼을 사용하여 전체 주기 개발을 가능하게 하는 방법에 대한 요약 정보를 제공합니다.
"클라우드 네이티브"와 "클라우드 네이티브 애플리케이션 " 이 무엇인지 이해하는 것으로 시작하겠습니다 .
클라우드 네이티브 는 클라우드 컴퓨팅 제공 아키텍처의 기능을 사용하는 애플리케이션을 설계하고 실행하기 위한 간단하면서도 효과적인 접근 방식입니다.
기업이 클라우드 네이티브 애플리케이션을 개발하고 운영함에 따라 새로운 아이디어를 시장에 선보이고 고객 요구에 따라 더 빠른 응답을 제공합니다.
클라우드 네이티브 애플리케이션의 특성
클라우드 네이티브 애플리케이션에는 세 가지 공통적인 특성이 있다고 말할 수 있습니다.
- 컨테이너 기반 인프라
- 마이크로서비스 기반 아키텍처
- 지속적 전달 및 지속적 통합 사용
클라우드 네이티브 애플리케이션 개발
클라우드 네이티브 애플리케이션 개발 에는 다음 개념이 통합됩니다.
DevOps – DevOps는 고객 문제를 해결하는 고품질 소프트웨어 제공을 목표로 IT 운영과 소프트웨어 개발자 간의 협업을 말합니다. DevOps는 소프트웨어를 빌드, 테스트 및 릴리스하는 것이 빠르고 빈번하고 일관성 있는 환경을 만듭니다.
마이크로서비스 – 마이크로서비스는 각 서비스가 비즈니스 기능을 구현하고 해당 프로세스에서 작동하며 메시징 또는 HTTP API를 통해 통신하는 일련의 소규모 서비스 형태로 애플리케이션을 설계하는 아키텍처 접근 방식입니다. 각 마이크로 서비스는 일반적으로 통합 프레임워크의 일부로 동일한 애플리케이션의 다른 시스템과 독립적으로 설치, 업데이트, 확장 및 다시 시작할 수 있으므로 고객 영향을 최소화하면서 라이브 앱에 대한 반복적인 업그레이드가 가능합니다.
컨테이너 – 컨테이너는 성능 및 속도(VM) 면에서 기존 가상 머신보다 성능이 뛰어납니다. 예를 들어 단일 운영 체제는 운영 체제 수준 가상화를 사용하여 각각 쓰기 가능한 파일 시스템과 리소스 할당량이 있는 하나 이상의 격리된 컨테이너로 일관되게 분할됩니다. 컨테이너는 단일 VM에서 컨테이너를 빌드 및 삭제하는 오버헤드가 낮고 패킹 밀도가 비교적 높기 때문에 개별 마이크로서비스를 배포하기 위한 완벽한 컴퓨팅 수단입니다.
지속적 통합 및 지속적 전달 – CI(지속적 통합) 및 CD(지속적 전달)는 전체 수명 주기 애플리케이션 개발 팀이 코드 변경 사항을 보다 자주 안정적으로 배포할 수 있도록 하는 일련의 운영 원칙 및 사례를 나타냅니다. 이 구현을 CI/CD 파이프라인이라고도 합니다.
클라우드 네이티브를 위한 전체 주기 개발
Cloud-Native의 전체 주기 개발 이해
전통적인 소프트웨어 개발 접근 방식에 따라 엔지니어는 종종 사일로에서 작업했습니다. 운영자는 데이터 센터를 만들고 관리합니다. 건축가는 구조를 만들고 상자와 화살표를 그리고 건축 계획을 감독했습니다. 일반적으로 개발자는 모놀리식 소프트웨어의 로컬 실행 인스턴스에 대해 대규모 수정 배치를 코딩하고 테스트했습니다. 그리고 일련의 게이트 스테이징 환경을 사용하여 품질 보증(QA) 엔지니어가 기술을 테스트하고 발전시켰습니다. QA를 통과한 애플리케이션은 배포 및 서비스 작업에 전달되었습니다. 그 후 운영팀에서 문제나 비정상적인 동작을 감지하여 개발자에게 보고했습니다.
Kubernetes 기반 플랫폼 과 같은 클라우드 기술을 수용함으로써 운영 팀은 개발자를 위한 플랫폼 프로비저닝 및 셀프 서비스 프레임워크 구현을 단순화할 수 있었습니다. 클라우드 네이티브 제품 개발에서 마이크로서비스를 사용하기 때문에 제품 중심 프로덕션 팀은 이제 별도로 작업하게 됩니다. 결과적으로 클라우드 네이티브 SDLC는 매우 구별됩니다. 개발자는 초기 아키텍처 계획을 충분히 수행합니다. 다양한 서비스에 대해 사소한 반복 수정이 코딩되고 있으며 그 중 일부는 로컬 및 원격으로 실행될 수 있습니다. 코딩 프로세스의 일부로 개발자는 이제 QA 스타일 검증을 자동화하려고 시도하고 있습니다. 소프트웨어 애플리케이션 프로세스 를 더 부드럽고 빠르게 만드는 이 간단한 접근 방식을 "클라우드 네이티브의 전체 주기 개발 "이라고 합니다.
4가지 핵심 클라우드 네이티브 플랫폼 기능
클라우드 네이티브 접근 방식을 사용할 때 전체 주기 개발자는 SDLC(소프트웨어 개발 수명 주기)를 별도로 완료해야 하며 최종 사용자에게 제공 가치를 제공하기 위해 신속하고 확실하게 완료해야 합니다. 이러한 모든 요구 사항은 완전한 클라우드 네이티브 소프트웨어 개발을 가능하게 하는 4가지 핵심 클라우드 네이티브 플랫폼 기능의 기반이 됩니다.
컨테이너 관리: 여러 인프라에서 대규모로 컨테이너 기반 시스템을 처리하고 운영할 수 있습니다. 개발자는 편리하게 자동화하고 모니터링할 수 있는 셀프 서비스 모델에서 이러한 작업을 실행해야 합니다. 이 기능을 통해 플랫폼 팀은 제어, 액세스 및 감사 가능성에 대한 정책을 설정할 수 있습니다.
점진적 전달: 이 기능은 자동화된 빌드, 확인, 구현, 릴리스 및 애플리케이션 관찰 가능성을 허용하는 파이프라인을 개발하는 개발자를 지원하는 것을 기반으로 합니다. 이 기능은 또한 플랫폼 팀이 일관성 및 규정 준수 속성의 코드화 및 검증을 중앙 집중화하는 데 도움이 될 수 있습니다.
에지 관리: 개발자는 효과적인 에지 관리를 통해 새로운 기능을 스스로 서비스할 수 있어야 합니다. 또한 DDoS 보안을 위한 TLS 규정 준수 및 속도 제한과 같은 합리적인 기본값의 중앙 집중식 구성과 재시도, 인증/z 및 회로 차단과 같은 다른 교차 기능 트래픽 관리 사양의 분산 구조를 허용해야 합니다.
관찰 가능성: 이 기능을 통해 개발자와 플랫폼 팀은 최종 사용자 및 장치 입력을 직접 캡처하고 분석할 수 있습니다. 이를 통해 제품 팀은 시장 우선 순위 및 핵심 성과 지표(KPI)에 대해 반복할 수 있으며 플랫폼 팀이 리소스를 모니터링 및 유지 관리하고 서비스 수준 목표(SLO)가 충족되도록 지원할 수 있습니다.
클라우드 네이티브 이점
다음은 비즈니스 모델에 클라우드 네이티브 애플리케이션을 배포함으로써 제공되는 이점입니다.
다른 사람보다 앞서 있으십시오
클라우드 네이티브 아키텍처는 IT 비용 절감에 중점을 두지 않고 클라우드를 비즈니스 성장의 원천으로 보는 전환을 수반합니다. 소비자의 요구에 부응하여 빠르게 앱을 개발하고 실행할 수 있는 기업은 소프트웨어 시대에 장기적인 지속 가능성을 누릴 수 있습니다.
회복력 촉진
레거시 인프라에 장애가 발생하면 서비스가 어려움을 겪을 것입니다.
따라서 팀은 클라우드 네이티브 환경에서 지속 가능성을 위한 설계 작업을 수행해야 합니다. 기하급수적으로 진화하는 클라우드 네이티브 에코시스템은 엔지니어와 설계자가 환경 문제에도 불구하고 작동 상태를 유지하는 구조를 설계할 수 있도록 지원합니다.
더 큰 유연성 제공
퍼블릭 클라우드 공급업체는 경쟁력 있는 가격으로 우수한 제품을 계속 제공하고 있습니다. 그러나 대부분의 기업은 하나의 클라우드 환경에만 전념할 수 없습니다. 기업은 클라우드 네이티브 생성을 지원하는 프레임워크를 사용하여 수정 없이 퍼블릭 또는 프라이빗 클라우드에서 실행되는 애플리케이션을 설계할 수 있습니다. 팀은 클라우드 종속을 방지하면서 시장에서 가장 합리적인 곳에서 애플리케이션과 유틸리티를 계속 실행할 것입니다.
운영 및 비즈니스 요구 사항 조정
기업은 IT 운영을 자동화하여 시장 이익에 부합하는 린(lean)하고 집중적인 팀으로 변모할 것입니다. 작업자가 기술에 의존하여 수동 작업을 대체하면 인적 오류로 인한 손실 가능성이 제거됩니다. 스택의 모든 단계에서 자동화된 라이브 패치 및 업데이트를 통해 다운타임과 "전수" 기술을 갖춘 운영 베테랑이 필요하지 않습니다.
요약
이전에 말했듯이 클라우드 네이티브 기술 및 구현 모델을 채택하면 복잡성과 아이디어 간의 관련 리드 타임을 줄이고 고객에게 가치를 제공함으로써 전체 주기 앱 개발 회사에 상당한 이점을 가져다 줄 것입니다. 클라우드 네이티브 개발 서비스 의 이점을 진정으로 누리기 위해 해결해야 하는 필수적인 조직적, 행동적, 기술적 변화가 있습니다 .