본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
ICT 관련 동향

클라우드 네이티브 애플리케이션

by 노벰버맨 2022. 10. 14.

가. 클라우드 네이티브 접근 방식의 이점

구분 특징 설명
효율성 증가 DevOps, CI/CD, Agile 자동화된 도구, 클라우드 서비스, 현대적 설계 문화를 활용하여 확장 가능한 애플리케이션 신속 구축
비용 절감 운영 비용 절감 도입 시 물리적 인프라를 조다랗고 유지관리하는데 필요한 투자가 불필요
가용성 보장 복원력
가용성
배포 용이
복원력이 뛰어나고 가용성이 높은 애플리케이션 구축 가능
기능 업데이트로 인한 가동 중지 시간 미발생

-클라우드 네이티브라는 클라우드 제공 모델에서 제공하는 분산 컴퓨팅을 활용하기 위해 애플리케이션을 구축 및 실행하는 개념
-클라우드 네이티브 앱은 클라우드가 제공하는 확장성, 탄력성, 복원성, 유연성을 활용하도록 설계 및 구축

 

나. 클라우드 네이티브 애플리케이션

정의 -독립적으로 실행되는 마이크로서비스로 구성된 소프트웨어 프로그램
기존 엔터프라이즈 애플리케이션과 비교 구분 클라우드 네이티브 애플리케이션 기존 엔터프라이즈 애플리케이션
절차 Agile (자동화) Waterfall (개발 후 테스트)
유연성 다양한 플랫폼에 적용 가능 떨어짐
배포시간 빠른 설정, 배포, 복제 가능 배포 시 많은 시간 소요
확장성 마이크로서비스 이용 확장 용이 어려움

 

다. 클라우드 네이티브 애플리케이션 아키텍처

정의 개발 팀이 확장 가능한 클라우드 네이티브 애플리케이션을 구축, 실행하는데 사용하는 다양한 소프트웨어 구성요소의 결합
구성요소 구분 설명
변경 불가능한 인프라 클라우드 네이티브 애플리케이션을 호스팅하는 서버가 배포 후에도 변경되지 않은 상태로 유지
애플리케이션에 더 많은 컴퓨팅 리소스가 필요한 경우 이전 서버는 폐기되고 앱은 새로운 고성능 서버로 이전 시 자동 업그레이드
마이크로 서비스 상호 통신하는 독립적인 소프트웨어 구성 요소
API 둘 이상의 소프트웨어 프로그램이 서로 정보를 교환하는 방식
마이크로서비스간에 느슨한 결합 가능
서비스 메시 여러 마이크로서비스 간에 통신을 관리하는 클라우드 인프라 소프트웨어 계층
개발자는 서비스 매시를 이용하여 신규 기능을 새로 코딩하지 않고 도입 가능
컨테이너 작은 컴퓨팅 유닛
마이크로서비스 코드 및 필수 파일을 패키징한 소프트웨어

 

라. 클라우드 네이티브 애플리케이션 개발

정의 클라우드 네이티브 애플리케이션을 구축 및 배포하는 방법, 위치를 설명하는 기법
구성요소 구분 설명
CI/CD 소규모로 자주 변경, 배포할 경우 문제를 빠르게 식별하고 해결 가능->효율성 증가
자동화 도구를 이용하여 새 기능을 도입하거나 버그 수정 시 위험을 줄이면서 배표 가능
DevOps 개발 및 운영팀의 협업 문화
소프트웨어 개발 수명 주기 단축 가능
서버리스 애플리케이션 요구사항에 맞게 자동 확장, 구성되며 사용하는 리소스에 대해서만 비용 지불

-클라우드 네이티브 애플리케이션 개발을 활용하면 변화에 신속하게 대응하면서 개발 시간을 단축 가능하며, 컨테이너를 이용한 빌드, 배포는 개발자가 인프라에 대한 고려를 줄이고 개발에 집중 가능하게 함

댓글