[전문가 기고] 첨단 서비스 개발과 클라우드 네이티브 애플리케이션
2018년 10월 30일
ⓒ 지디넷코리아, 임도영 IBM 클라우드 솔루셔닝 센터(아태지역) 클라우드 네이티브 아키텍트
개발자들은 점점 더 클라우드 환경에 익숙해져 가고 있다. 또 많이 받는 요구사항은 클라우드 벤더에 락인(Lock-in) 되지 않으면서 클라우드형 애플리케이션으로 개발 해달라는 것이다. 심지어 퍼블릭 클라우드가 아니라 프라이빗 클라우드환경 또는 온프레미스 환경에서도 운영할 수 있는 환경에 문제가 없도록 해달라고 요청 받는다.
어떻게 이를 만족시킬수있을까? 기존처럼 자바 애플리케이션만으론 그 해답을 얻기 어렵다. 최근 나온 기술을 잘 활용해 본다면, 클라우드 인프라환경으로는 쿠버네티스를 적극 활용하고, 개발자는 클라우드 네이티브 애플리케이션을 구현하면 된다. 클라우드 네이티브 애플리케이션을 구현하기 위해서는 쿠버네티스 기반의 컨테이너 및 마이크로서비스 아키텍처를 지향해야 한다.
■클라우드 네이티브 애플리케이션이란
클라우드 네이티브 애플리케이션은 한마디로 클라우드환경에 디플로이하고 확장하기 쉬운 클라우드형 애플리케이션이다. 클라우드형 애플리케이션에 적합한 애플리케이션이 갖게 되는 특징은 4가지로 요약할 수 있다.
첫째, 마이크로서비스아키텍처다. 이는 더 작은 독립적인 서비스들로부터 복잡한 애플리케이션을 구축하는 접근방법이다. 가벼운 API를 사용해 서로 다른 서비스와 통신을 하고 개발팀 또는 IT 팀에 의해 독립적으로 운영 및 확장되고 진화할 수 있도록 만들어 진다
둘째, 컨테이너화(Containerization)다. 컨테이너 기술은 가볍고, 쉬운 이식성(Portability)이 가능한 가상화 솔루션이다. 앞세대의 가상화 기술과 비교해 컨테이너는 프로비젼이 더 빠르고 자원 이용율도 더 효과적이다. 마이크로서비스를 구축하기 위해 컨테이너로 해야할 필요는 없지만, 컨테이너가 개발자들이 수동 코딩 간섭 없이도 그들의 애플리케이션을 다른 클라우드환경으로 신뢰감 있게 포팅할 수 있도록 지원한다.
셋째, 데브옵스(DevOps)로의 자동화다. 툴을 활용해 개발과 IT 작업이 협업돼 애플리케이션 빌드와 구현 및 관리가 진행된다. 이 접근방법으로 휴먼에러나 다운타임이 일어날 수 있는 수동작업 및 비공동작업을 감소 시킨다
넷째, 신속한 변환(Agile Transformation)이다. 엔터프라이즈 클라우드 변환은 진정한 멀티클라우드, 클라우드 네이티브 개발 패러다임으로 진화해 시장파괴가 가능할 수 있도록 해야한다. 클라우드 네이티브가 성공적이고 지속적으로 나아가기 위해서는 사람, 프로세스, 기술변환이 필요하다.
클라우드에 적합한 형태인 클라우드 네이티브 애플리케이션의 4가지 특징중 직접적으로 툴과 관련된 것은 데브옵스 환경과 연관이 있다. 자동화 및 다양한 SaaS 환경들과 연계하기 위해 Continuous Delivery, Availability Monitoring, Activity Tracker 등 다양한 개발자 도구의 메뉴를 제공하는 IBM 클라우드의 예를 통해 마이크로서비스 아키텍처 기반으로 클라우드 네이티브 애플리케이션의 개발이외에 많은 부분이 간과 되고있는 데브옵스를 이용한 자동화의 예를 소개하면 다음과 같다.
■클라우드 네이티브 애플리케이션 구현
첫째, 데브옵스로의 자동화 환경을 위한 오픈툴체인(openToolchain)을 활용한 개발 및 디플로이 모습의 예: 오픈소스인 오픈툴 체인을 활용해 개발자와 관리자간 투명하고 효율적인 커뮤니케이션을 제공할 수 있다. 현재 이슈, 깃(git) 소스코드, 빌드 및 디플로이 하는 파이프라인 등을 구성할 수 있다.
사례에서 보는 바와 같이 환경에서 일어나는 이슈들을 로깅하고, 소스코드관리를 하고 디버그(debug)등을 슬랙채널 및 모바일 디바이스를 통해 공유할 수 있다.
툴체인에서 볼 수 있듯이 깃 이슈(git issues)나 깃 저장소, 애플리케이션 디플로이(deploy) 상태를 확인할 수 있는 딜리버리 파이프라인(delivery pipeline) , 또 서드파티 서비스인 페이저 듀티(pager duty:정책을 설정해 전세계 문자 보내기), 슬랙채널 등을 사용하는 유틸리티를 한눈에 볼 수 있다.
둘째, 컨티뉴어스 딜리버리(Continuous Delivery) 구현 예: 빌드 및 디플로이 환경에 대한 투명한 환경을 공유해 개발자 및 운영자들간의 원활한 커뮤니케이션을 제공하고 이를기반으로 이슈를 해결할 수 있다.
기능으로는 소스를 활용한 컴파일, 패키징 및 시스템 배치까지 자동화하고 로그를 채널에 공개함으로써 빠른 이슈 해결을 가져올 수있다.
소스빌드, 디플로이에 대한 상태를 공유할 수 있도록 하며 여러 단계를 따로따로 구성하는 것을 시각화해 이슈를찾아내기 쉽게 되어있다
■진화하는 클라우드 기술...4차산업혁명 실감
클라우드에 의한 환경변화는 클라우드네이티브 애플리케이션을 가져왔고, 클라우드 네이티브 애플리케이션의 마이크로서비스 아키텍처, 애플리케이션의 컨테이너화, 데브옵스를 통한 자동화, 지속적인 신속한 변환으로 빠르게 변화하는 세상에 대처할 수 있도록 한다.
또 소프트웨어 개발과 관리의 생산성을 높이기 위한 자동화가 더욱 요구되면서 클라우드 네이티브 애플리케이션에 대한 관심이 더 커져가고 있다. 이제 개발환경도 쉽게 클라우드에서 셋업되고 구현할 수 있게 됐다. 소프트웨어를 설치하지 않아도 바로 사용하고 보안을 설정할 수 있게 됐다.
이를통해 향후 소프트웨어 개발은 더욱 가속화 될 것이고 이에 맞춤화된 다양한 프로그램에 대한 기술 습득이 강조될 것이다. 점점 진화하는 클라우드 기술 발전을 통해 4차산업혁명이 성큼 왔음을 느낄 수 있다.
※ 본 내용은 (주)메가뉴스(http://www.zdnet.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 지디넷코리아. 무단전재 및 재배포 금지
[원문출처 : http://www.zdnet.co.kr/column/column_view.asp?artice_id=20181029223535&type=det&re=zdk]
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 342828 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 332616 | 2020-10-27 |
8111 | “오픈소스 세계의 혁신을 이끌” 쿠버네티스의 차세대 플랫폼에 대한 5가지 답 | 5548 | 2018-11-01 |
8110 | 구글 메인 화면에서 멀티플레이어 게임을? | 4984 | 2018-11-01 |
8109 | 칼럼 | IBM의 레드햇 인수가 클라우드와 개발자에 의미하는 것 | 5430 | 2018-11-01 |
8108 | IOTA, 생체인식·인증 시장으로 분산 원장 기술 확대 | 5383 | 2018-11-01 |
8107 | [ABF in Seoul]서운영 코인베네 실장 “블록체인의 오픈소스 정신, 발전속도 촉진한다” | 5018 | 2018-11-01 |
8106 | IBM + 레드햇 '후폭풍'…더 주목받게된 국민은행 '차세대' 사업 | 5477 | 2018-10-31 |
8105 | [전문가 기고] 첨단 서비스 개발과 클라우드 네이티브 애플리케이션 | 5500 | 2018-10-31 |
8104 | “쉽게 따라하는” 크롬 OS에서 리눅스 앱 사용하기 | 5887 | 2018-10-31 |
8103 | [주간 OSS 동향 리포트]IBM, 레드햇 인수... 클라우드 시장 대응 | 7658 | 2018-10-30 |
8102 | IBM에 인수된 레드햇 임직원 반응 엇갈려 | 5119 | 2018-10-30 |
0개 댓글