2017.08.29

글로벌 칼럼 | 마이크로서비스가 디지털 미래의 초석인 이유

Michael Segal | Network World
디지털 트랜스포메이션이 비즈니스 방식을 뒤집어 놓을 것이라는 데는 의심의 여지가 없다. 그리고 클라우드 컴퓨팅은 이런 디지털 트랜스포메이션 머신의 핵심 기어가 될 것이다. 클라우드의 탄력성은 디지털 기업이 더 빨리 커뮤니케이션하고 혁신을 높이는 데 한몫할 것이다. 하지만 클라우드에서 최대의 가치를 뽑아내기 위해서 기업은 기존 애플리케이션을 이전하고 소프트웨어 개발을 가속화할 때 마치 총 싸움에 칼을 들고나온 것 같은 실수를 해서는 안된다.

많은 기업이 자사의 기존 온프레미스 애플리케이션을 들어다 클라우드로 옮기는 것으로 마이그레이션 여정을 시작한다. 애플리케이션 자체의 변화는 극히 적거나 전혀 없다. 하지만 이런 획일적인 애플리케이션 아키텍처를 클라우드에서 구동하는 것은 애플리케이션이 클라우드의 이점을 극대화하도록 만들어지지 않았다는 의미이다. 정반대로 이들 애플리케이션은 종종 확장성 문제가 생기고 비용도 늘어나고 애플리케이션 지원에 적지 않은 시간이 들 것이다. 궁극적으로 이런 애플리케이션이 디지털 트랜스포메이션 전략에 걸림돌이 될 것이다. 디지털 트랜스포메이션은 현대화되고 신속하게 반복 적용할 수 있는 확장형 애플리케이션을 기반으로 하기 때문이다.



클라우드의 이점을 극대화하기 위해서는 새로운 환경에 맞도록 애플리케이션 모델을 바꿔야만 한다. 동시에 클라우드와 온프레미스 인프라는 한동안 공존할 것이기 때문에 이 모델은 기존 가상화 환경에서도 잘 동작해야 한다.

디지털 트랜스포메이션에 맞는 애플리케이션
리프트 앤 시프트(Lift and Shift) 방식은 첫 단계에서는 쓸만한 방법이다. 물론 해당 애플리케이션이 온프레미스 환경에서 잘 동작해야 한다. 여기서부터 기업은 애플리케이션 리팩터링, 즉 애플리케이션의 아키텍처가 클라우드 환경과 호환되도록 상당한 수정을 가해 리프트 앤 익스텐드(Lift and Extend) 방식을 실행할 수 있다. 최적의 성능과 민첩성을 필요로 하는 고가치 애플리케이션에는 클라우드 네이티브 애플리케이션으로 전반적인 재설계와 코드 재작성하는 방법도 적용할 수 있다.

그렇다면, 기업은 어떻게 이런 트랜스포메이션을 실현해야 하는가? 대답은 마이크로서비스와 컨테이너에 있다. 포레스터 리서치에 따르면, 최근 급성장하고 있는 두 기술은 이미 삭스 피프스 애비뉴와 BNY 멜론 같은 기업의 디지털 트랜스포메이션에 핵심적이 역할을 했다.

애플리케이션 개발에 마이크로소프트 방식을 적용하면, 대형 애플리케이션이 작고 독립적으로 배치할 수 있는 모듈형 서비스로 쪼개지는데, 각각은 특정 비즈니스 프로세스를 담당하며 API 같은 경량화된 인터페이스를 통해 커뮤니케이션한다.

이 접근 방식은 여러 가지 측면에서 디지털 트랜스포메이션을 지원한다. 마이크로서비스는 쉽게 배치하고 확장할 수 있으며, 프로덕션 시간도 짧다. 반면 개별 서비스는 서로 다른 프로젝트에서 재사용할 수 있다. 따라서 개발자는 애플리케이션을 더 빨리 개발하고 업데이트할 수 있다. 하지만 몇 가지 단점도 있다. 자주 액세스하는 마이크로서비스는 많은 API 호출을 필요로 하기 때문에 지연이나 애플리케이션 응답 시간 저하로 이어질 수 있다. 게다가 여러 마이크로서비스를 맞춰서 운영해야 하는 경우 애플리케이션 내에 중첩된 상호의존성이 생길 수 있다. 따라서 이들 애플리케이션의 성능을 모니터링하고 신속하게 성능 저하의 근본 원인을 파악하는 것이 점점 더 큰 과제가 되고 있다.

컨테이너화는 가상화 방안의 하나로, 마이크로서비스의 일부 지연과 효율성 문제를 해결할 수 있다. 컨테이너는 파일이나 환경 변수, 라이브러리같이 애플리케이션이 의존하고 있는 요소를 함께 묶어 제공한다. 전통적인 가상머신과는 달리 컨테이너는 동일한 커널 운영체제를 공유하기 때문에 하이퍼바이저 처리의 부담이 없어 같은 서버에 더 많은 마이크로서비스를 구동할 수 있으며, 애플리케이션 성능을 극대화해 준다.

코드 독립적인 서비스이기 때문에 마이크로서비스의 중첩된 의존성을 모니터링하는 문제도 해결할 수 있다. 컨테이너는 별도의 코드를 추가하지 않고도 마이크로서비스 간의 커뮤니케이션과 트랜잭션에 대한 가시성을 제공한다. 이 방법은 전통적인 네트워크에 걸쳐 회선과 데이터를 모니터링하는 것과 동등한 것으로, 가상화되고 컨테이너화된 환경에 맞춤형으로 구현할 수 있다. 애플리케이션을 가리지 않을 뿐만 아니라 서비스와 애플리케이션 스택의 모든 계층에 대한 인사이트를 제공한다.

이런 가시성을 갖추면 기업은 자사 애플리케이션과 서비스에 대한 향상된 명료성을 확보해 물리 인프라와 가상 인프라 전반에 걸쳐 어떤 일이 일어나고 있는지 파악할 수 있다. 데이터가 돈이고 애플리케이션과 서비스가 투자의 근간인 세상에서 이런 방법론은 가시성과 성능이란 결정적인 요소를 보장해 준다. 이런 역량에 더해 보안 침해를 나타내는 이상 행위를 탐지하는 능력을 추가하면, 그리고 이런 역량이 성공적인 디지털 트랜스포메이션과 비즈니스 보장 전략의 필수 요소가 된다면 금상첨화이다.

민첩성과 기타 이점
마이크로서비스의 성능을 모니터링하고 보장하는 것은 적지 않은 과제이지만, 혁신을 이끌고 비즈니스 민첩성을 높이는 커다란 이점을 제공한다. 마이크로서비스와 컨테이너의 생성을 통해 서비스 혁신과 변화를 좀 더 쉽고 빠르게 수행할 수 있다. 마이크로서비스 도입은 기업이 자사 애플리케이션을 클라우드 마이그레이션 전이나 후 모두에 대해 더 효율적으로 개선하고, 클라우드 환경에 최적화할 수 있도록 해준다.

물론 문화적인 변화도 필요하다. 마이크로서비스와 컨테이너를 통해 페일 세이프(Fail-Safe) 환경에서 실패해도 되는 세이프 투 페일(Safe to Fail) 환경으로 이전하는 것은 이런 문화적 변화를 시도할 완벽한 기회를 제공한다. 혁신 문화를 촉진하는 것과 함께 기업이 새로운 서비스를 구현하고 문제를 바로 잡는 속도가 훨씬 빨라질 것이다.

이런 마이크로서비스 중심 아키텍처가 견고한 서비스와 결합되면 민첩한 서비스 전달과 클라우드의 탄력성을 더 저렴한 비용으로 구현하는 데 결정적인 요소가 될 것이며, 기업의 시장 경쟁에서 우위에 서는 데 일조할 것이다. editor@itworld.co.kr

2017.08.29

글로벌 칼럼 | 마이크로서비스가 디지털 미래의 초석인 이유

Michael Segal | Network World
디지털 트랜스포메이션이 비즈니스 방식을 뒤집어 놓을 것이라는 데는 의심의 여지가 없다. 그리고 클라우드 컴퓨팅은 이런 디지털 트랜스포메이션 머신의 핵심 기어가 될 것이다. 클라우드의 탄력성은 디지털 기업이 더 빨리 커뮤니케이션하고 혁신을 높이는 데 한몫할 것이다. 하지만 클라우드에서 최대의 가치를 뽑아내기 위해서 기업은 기존 애플리케이션을 이전하고 소프트웨어 개발을 가속화할 때 마치 총 싸움에 칼을 들고나온 것 같은 실수를 해서는 안된다.

많은 기업이 자사의 기존 온프레미스 애플리케이션을 들어다 클라우드로 옮기는 것으로 마이그레이션 여정을 시작한다. 애플리케이션 자체의 변화는 극히 적거나 전혀 없다. 하지만 이런 획일적인 애플리케이션 아키텍처를 클라우드에서 구동하는 것은 애플리케이션이 클라우드의 이점을 극대화하도록 만들어지지 않았다는 의미이다. 정반대로 이들 애플리케이션은 종종 확장성 문제가 생기고 비용도 늘어나고 애플리케이션 지원에 적지 않은 시간이 들 것이다. 궁극적으로 이런 애플리케이션이 디지털 트랜스포메이션 전략에 걸림돌이 될 것이다. 디지털 트랜스포메이션은 현대화되고 신속하게 반복 적용할 수 있는 확장형 애플리케이션을 기반으로 하기 때문이다.



클라우드의 이점을 극대화하기 위해서는 새로운 환경에 맞도록 애플리케이션 모델을 바꿔야만 한다. 동시에 클라우드와 온프레미스 인프라는 한동안 공존할 것이기 때문에 이 모델은 기존 가상화 환경에서도 잘 동작해야 한다.

디지털 트랜스포메이션에 맞는 애플리케이션
리프트 앤 시프트(Lift and Shift) 방식은 첫 단계에서는 쓸만한 방법이다. 물론 해당 애플리케이션이 온프레미스 환경에서 잘 동작해야 한다. 여기서부터 기업은 애플리케이션 리팩터링, 즉 애플리케이션의 아키텍처가 클라우드 환경과 호환되도록 상당한 수정을 가해 리프트 앤 익스텐드(Lift and Extend) 방식을 실행할 수 있다. 최적의 성능과 민첩성을 필요로 하는 고가치 애플리케이션에는 클라우드 네이티브 애플리케이션으로 전반적인 재설계와 코드 재작성하는 방법도 적용할 수 있다.

그렇다면, 기업은 어떻게 이런 트랜스포메이션을 실현해야 하는가? 대답은 마이크로서비스와 컨테이너에 있다. 포레스터 리서치에 따르면, 최근 급성장하고 있는 두 기술은 이미 삭스 피프스 애비뉴와 BNY 멜론 같은 기업의 디지털 트랜스포메이션에 핵심적이 역할을 했다.

애플리케이션 개발에 마이크로소프트 방식을 적용하면, 대형 애플리케이션이 작고 독립적으로 배치할 수 있는 모듈형 서비스로 쪼개지는데, 각각은 특정 비즈니스 프로세스를 담당하며 API 같은 경량화된 인터페이스를 통해 커뮤니케이션한다.

이 접근 방식은 여러 가지 측면에서 디지털 트랜스포메이션을 지원한다. 마이크로서비스는 쉽게 배치하고 확장할 수 있으며, 프로덕션 시간도 짧다. 반면 개별 서비스는 서로 다른 프로젝트에서 재사용할 수 있다. 따라서 개발자는 애플리케이션을 더 빨리 개발하고 업데이트할 수 있다. 하지만 몇 가지 단점도 있다. 자주 액세스하는 마이크로서비스는 많은 API 호출을 필요로 하기 때문에 지연이나 애플리케이션 응답 시간 저하로 이어질 수 있다. 게다가 여러 마이크로서비스를 맞춰서 운영해야 하는 경우 애플리케이션 내에 중첩된 상호의존성이 생길 수 있다. 따라서 이들 애플리케이션의 성능을 모니터링하고 신속하게 성능 저하의 근본 원인을 파악하는 것이 점점 더 큰 과제가 되고 있다.

컨테이너화는 가상화 방안의 하나로, 마이크로서비스의 일부 지연과 효율성 문제를 해결할 수 있다. 컨테이너는 파일이나 환경 변수, 라이브러리같이 애플리케이션이 의존하고 있는 요소를 함께 묶어 제공한다. 전통적인 가상머신과는 달리 컨테이너는 동일한 커널 운영체제를 공유하기 때문에 하이퍼바이저 처리의 부담이 없어 같은 서버에 더 많은 마이크로서비스를 구동할 수 있으며, 애플리케이션 성능을 극대화해 준다.

코드 독립적인 서비스이기 때문에 마이크로서비스의 중첩된 의존성을 모니터링하는 문제도 해결할 수 있다. 컨테이너는 별도의 코드를 추가하지 않고도 마이크로서비스 간의 커뮤니케이션과 트랜잭션에 대한 가시성을 제공한다. 이 방법은 전통적인 네트워크에 걸쳐 회선과 데이터를 모니터링하는 것과 동등한 것으로, 가상화되고 컨테이너화된 환경에 맞춤형으로 구현할 수 있다. 애플리케이션을 가리지 않을 뿐만 아니라 서비스와 애플리케이션 스택의 모든 계층에 대한 인사이트를 제공한다.

이런 가시성을 갖추면 기업은 자사 애플리케이션과 서비스에 대한 향상된 명료성을 확보해 물리 인프라와 가상 인프라 전반에 걸쳐 어떤 일이 일어나고 있는지 파악할 수 있다. 데이터가 돈이고 애플리케이션과 서비스가 투자의 근간인 세상에서 이런 방법론은 가시성과 성능이란 결정적인 요소를 보장해 준다. 이런 역량에 더해 보안 침해를 나타내는 이상 행위를 탐지하는 능력을 추가하면, 그리고 이런 역량이 성공적인 디지털 트랜스포메이션과 비즈니스 보장 전략의 필수 요소가 된다면 금상첨화이다.

민첩성과 기타 이점
마이크로서비스의 성능을 모니터링하고 보장하는 것은 적지 않은 과제이지만, 혁신을 이끌고 비즈니스 민첩성을 높이는 커다란 이점을 제공한다. 마이크로서비스와 컨테이너의 생성을 통해 서비스 혁신과 변화를 좀 더 쉽고 빠르게 수행할 수 있다. 마이크로서비스 도입은 기업이 자사 애플리케이션을 클라우드 마이그레이션 전이나 후 모두에 대해 더 효율적으로 개선하고, 클라우드 환경에 최적화할 수 있도록 해준다.

물론 문화적인 변화도 필요하다. 마이크로서비스와 컨테이너를 통해 페일 세이프(Fail-Safe) 환경에서 실패해도 되는 세이프 투 페일(Safe to Fail) 환경으로 이전하는 것은 이런 문화적 변화를 시도할 완벽한 기회를 제공한다. 혁신 문화를 촉진하는 것과 함께 기업이 새로운 서비스를 구현하고 문제를 바로 잡는 속도가 훨씬 빨라질 것이다.

이런 마이크로서비스 중심 아키텍처가 견고한 서비스와 결합되면 민첩한 서비스 전달과 클라우드의 탄력성을 더 저렴한 비용으로 구현하는 데 결정적인 요소가 될 것이며, 기업의 시장 경쟁에서 우위에 서는 데 일조할 것이다. editor@itworld.co.kr

X