직무분석 커넥티드카 조직은 하이퍼 커넥티드카 서비스 사용자 경험을 제공하기 위해 클라우드 네이티브 서버 애플리케이션을 개발하는 전문 워크그룹이다. 여기서 클라우드 네이티브 어플리케이션은 무엇을 말하는 것이기 때문에 어떤 역량을 요구하는 것일까?
클라우드 네이티브 애플리케이션 클라우드 네이티브 애플리케이션은 탄력적으로 결합된 소규모의 독립된 서비스 컬렉션입니다. 이 애플리케이션들은 사용자 피드백을 신속하게 통합하고 지속적으로 개선할 수 있는 기능과 같은 비즈니스 가치를 제공할 수 있도록 설계되었습니다. 즉 클라우드 네이티브 애플리케이션 개발은 새로운 애플리케이션을 구축하고 기존 애플리케이션을 최적화하여 모든 환경을 연결하는 작업을 가속화할 수 있는 방법입니다. 목표는 비즈니스 요구사항의 변화 속도에 맞춰 사용자가 원하는 애플리케이션을 제공하는 것입니다.출처 : redhat
Redhat에서 제공하는 클라우드 네이티브 어플리케이션 정의이다. 분산 컴퓨팅에 대한 정의와 이점을 깊이 알고 있는지에 대해 알아야 한다.
클라우드 네이티브 애플리케이션을 사용하는 가장 큰 이유는 클라우드 컴퓨팅 모델의 가장 큰 장점인 민첩성과 확장성을 최대한 활용할 수 있기 때문이다. 그리고 클라우드 환경에 적합하도록 탄력적이고 분산된 방식으로 동작하도록 설계하고 구현한다. 이러한 장점과 차이점들로 인해 클라우드 네이티브 애플리케이션 개발은 전통적인 엔터프라이즈 애플리케이션과는 상당히 다른 부분이 있다.
기존 애플리케이션의 안정성을 두고 중점적으로 개발했다면 클라우드 네이티브 애플리케이션은 타임투마켓 방식으로 좋은 시기에 좋은 서비스를 개발하고 배포할 수 있어야 한다는 게 핵심이다. 애자일 방법론이 자연스럽게 녹아들고 있다. 그리고 DevOps 영역인 K8S와 같은 컨테이너 방식으로 자원을 제공하여 무한히 자동 확장이 가능한 구조이다.
클라우드 네이티브 애플리케이션 도입 시 이점
경쟁우위 확보 Cloud Native란 클라우드 목표를 IT 비용 절감에서 비즈니스 성장동력으로 바꾸겠다는 의미다. 소프트웨어 시대에는 고객의 요구에 따라 신속하게 애플리케이션을 구현·전달할 수 있어야 비즈니스를 장악할 수 있다.
유연성 기업은 개발한 애플리케이션을 어느 클라우드 환경에서도 수정하지 않고 실행할 수 있다. 팀은 비즈니스 우선순위를 맞춰 클라우드 가격을 최적화하기 위해 다양한 클라우드 업체와 개인 클라우드로 마이그레이션하거나 배포할 능력을 유지할 수 있다.
개발 생산성 향상의 많은 조직이 실용적인 서비스 기반 아키텍처를 이용해 계속 레거시 애플리케이션을 최적화할 수 있다. 이러한 최적화는 지속적인 통합(Continuous Integration, CI)과 지속적인 제공(Continuous Delivery, CD) 및 완전히 자동화된 배포 운영과 같은 DevOps 워크플로우를 통해 지원된다.
개발기간 단축 디지털화가 진행되는 세계에서 기업이 더 많은 고객을 확보하고 유지하기 위해서는 신속한 대응이 필수적이다. 클라우드 네이티브 애플리케이션을 개발하고 배포하면 신속한 업데이트 및 개선이 가능하다. 결과적으로 제품과 서비스를 신속하게 제공할 수 있게 되어 기업의 경쟁력을 높일 수 있다.
마이크로 서비스 아키텍처(MSA) Cloud Native 기술은 마이크로 서비스를 사용해 탄력성을 높이고 자동 스케일링을 제공한다. 마이크로 서비스는 시스템이나 최종 사용자에게 영향을 주지 않고 배포, 업데이트, 확장/축소, 재시작할 수 있는 모듈형 애플리케이션이다.
운영 효율성 제고 사업이 가속화되고 있다고는 하지만 변화하는 시장 환경에 신속하게 대응하는 것은 쉽지 않다. Cloud Native 애플리케이션으로 개발하면 자동화, 셀프서비스, 원격측정, 분석 등의 기능을 필요에 따라 확장 또는 확장할 수 있어 비즈니스 운영 효율성이 높아진다.
MSA, EDA 등 대용량 분산 애플리케이션 아키텍처 적용/설계 기존 애플리케이션을 리팩토링하는 수행을 하게 되면 Monolithic 구조에서 MSA로 포팅하는 역량을 갖춰야 할 것으로 보인다. MSA에 대해서는 http://blog. naver.com/godjsdleka/222461337701가 포스팅으로 진행 중이니 참고해도 좋을 듯하다.In2002, Amazonfounder and CEO Jeff Bezos’s Employees. 2002년 아마존 대표 J… blog.naver.com
Skills 기본적으로 최근 MSA를 구축하는데 많이 쓰이는 Skill을 사용하는 것 같다.(Springboot, JPA, Webflux, Kafka, K8S) + 우대사항에 K8S 관련 자격증이 필요하면 된다고 하니 아마존EKSCertification 과정을 듣고 수료해 두는 것이 좋다.