클라우드로 인한 패러다임의 변화
클라우드로 인해 어플리케이션과 서비스 개발에 대한 새로운 패러다임이 나타나고 있다. 온-프레미스(On-premise; 그림5) 환경에서는 물리적 서버 준비, 운영체제 설치, 서비스 배포 등에 수많은 시간이 걸렸지만, 클라우드를 활용하면서 단시간에 원하는 자원을 준비하고 서비스를 배포할 수 있게 되었고 확장과 가용성을 가질 수 있게 되었다.
① 컨테이너를 통한 서비스 배포 시간의 단축
다양한 서비스를 실행하는데 운영체제와 플랫폼의 제한 사항은 그대로지만, 자원을 효율적으로 사용하고 빠르게 서비스를 배포하고자컨테이너를 활용한다. 컨테이너는 기존 서버를 통해 2개 이상의 어플리케이션을 배포하는 부담을 줄이기 위해 서비스를 실행하는데 필요한 프레임워크, 라이브러리, 소스 코드를 별도의 이미지로 만들어 실행할 수 있도록 만든 것이다. 도커(Docker)가 컨테이너 서비스를 주도하고 있다.
개발자는 패키징 된 서비스를 단일 컨테이너에서 수백 개의 가상 서버에서 실행되는 수천 개의 컨테이너까지 쉽게 확장할 수 있다. 컨테이너 서비스를 통해 서비스를 원할 때마다 언제든지 수 초 내에 배포할 수 있다.
② 서버 없는 클라우드 함수의 등장
AWS(Amazon Web Service)에서 제안된 서버 없는 클라우드는 개발자가 간단히 파이썬, 자바로 작성하여 특정한 클라우드 서비스에반응하는 함수로서 실행할 수 있다. 서버 없는 클라우드를 활용하면, 모든 유형의 어플리케이션이나 백엔드 서비스를 별도 서버 없이실행할 수 있다. 소스코드를 업로드 하면 높은 가용성으로 실행하고, 가용성과 확장성 등 필요한 모든 것을 자동으로 고려해주기 때문이다.
AWS에서 제공하는 AWS Lambda는 기존 가상 서버, 컨테이너 서비스와 함께 서버 없이 확장성을 고민하지 않고 바로 원하는 어플리케이션을 빠르게 수행할 수 있다. 최근에는 이를 바로 개발 현장에 접목할 수 있는 Serverless Framework라는 오픈 소스 개발 플랫폼이 나와서 주목을 받고 있기도 하다.
클라우드 서비스 브로커(CSB; Cloud Services Brokerage)
IaaS가 활성화 되면서 클라우드의 장점을 알고 있는 업체들은 하나의 클라우드 벤더만 사용하지 않고 필요성에 따라 다양한 벤더를 사용하게 되었다. 이러한 다중 클라우드 사용은 다양한 서비스를 한 곳에서 사용할 수 있다는 장점도 있지만 클라우드 자원 관리가 복잡해지는 단점도 있다. 이런 불편함을 덜기 위해 CSB가 나타났다(그림6).
<그림6> CSB 서비스의 예
출처 : www.liaison.com
더보기