2019.11.11

IDG 블로그 | 클라우드 애플리케이션의 미래를 보장하는 방법

David Linthicum | InfoWorld
클라우드에서 애플리케이션을 완전히 새로 구축할 수도 있고, 서버리스 컴퓨팅이나 머신러닝 같은 클라우드 네이티브 기술을 사용할 수도 있다. 아니면 기존 애플리케이션을 이식할 수도 있다. 클라우드 네이티브 서비스를 이용할 수 있도록 리팩터링을 하거나 코드나 데이터를 거의 수정하지 않는 ‘리프트 앤 시프트’ 방식을 선택할 수도 있다.
 
ⓒ GettyImagesBank

그런데, 이렇게 구축한 애플리케이션이 클라우드에서 몇 년 이상 간다고 보장할 수 있는가? 다시 말해, 이들 애플리케이션의 미래를 어떻게 보장할 것인가? 몇 가지 핵심 권장사항을 제시한다.

우선, 장기적으로 갈 것 같지 않은 네이티브 클라우드 서비스 사용을 주의하라. 요즘에는 모두가 서버리스 시스템을 좋아하지만, 이 역시 몇 년이면 바뀌고 말 것이다. 어떤 때는 변화가 애플리케이션을 좋아하기도 한다. 즉 애플리케이션은 끊임없이 개선된다. 사용 기술이 인기를 잃으면 시스템 역시 클라우드 시장의 관심에서 멀어질지 모른다.

서버리스 개발과 배치의 인기를 지적하는 것은 아니다. 클라우드 네이티브 머신러닝이 될 수도 있고, 클라우드 네이티브 데이터베이스가 될 수도 있다. 간단히 말해, 우리는 이들 기술이 애플리케이션 개발과 배치를 위한 편리한 길을 제공할 것이라는 데 판돈을 건다. 하지만 이 길은 언젠가는 더 뛰어난 기술에 가려질 기술에 종속될 가능성도 생긴다.

둘째, 오픈소스의 신에게 기도를 올리고 오픈소스 기술에 전부를 걸 수도 있지만, 반대 급부가 있다. 물론 오픈소스 시스템의 장점은 프라이빗 클라우드와 퍼블릭 클라우드 대부분이 지원하며, 사용자 커뮤니티에 의해 유지된다는 것이다. 게다가 요즘에는 너무나 많은 오픈소스 솔루션이 있다.

단점은 위험을 줄이는 대가로 추가 작업을 많이 해야 한다는 것이다. 오픈소스 제품을 사용해 클라우드 기반 애플리케이션을 구축하려면, 아키텍처와 코딩에 더 많은 시간을 투여해야 한다. 서버리스 개발과 배치와 같은 클라우드 네이티브 시스템을 사용해 비슷한 애플리케이션을 구축하는 속도와 편의성을 비교해 보라.

그렇다면, 어떤 애플리케이션 아키텍처를 선택해야 할까? 어떻게 해야 애플리케이션이 오래 살 수 있는 옳은 결정을 내릴 수 있을까? 핵심을 보면, 지난 20년 동안 우리가 풀려고 한 것과 같은 질문이다. 추가 생산성을 제공하는 독점 기술을 사용할 것인지, DIY 작업이 훨씬 많이 필요한 개방적인 시스템을 사용할 것인가?

필자의 조언은 언제나 최상의 솔루션을 찾기 위해 모든 옵션을 검토하라는 것이다. 전문가를 찾거나 직접 전문가가 되어야 한다. 모든 후보 솔루션을 1년 또는 2년이라는 시간의 렌즈로 살펴보고, 3~5년이라는 렌즈로도 봐야 한다. 얼마나 많은 기업이 주요 기술을 바꾸면서 장기적인 전망을 살피지 않는지 놀랄 정도이다. 가능성을 검토하거나, 아니면 외부 전문가라도 찾아서 조언을 구하는 것은 시간을 들일 가치가 있는 일이다.  editor@itworld.co.kr


2019.11.11

IDG 블로그 | 클라우드 애플리케이션의 미래를 보장하는 방법

David Linthicum | InfoWorld
클라우드에서 애플리케이션을 완전히 새로 구축할 수도 있고, 서버리스 컴퓨팅이나 머신러닝 같은 클라우드 네이티브 기술을 사용할 수도 있다. 아니면 기존 애플리케이션을 이식할 수도 있다. 클라우드 네이티브 서비스를 이용할 수 있도록 리팩터링을 하거나 코드나 데이터를 거의 수정하지 않는 ‘리프트 앤 시프트’ 방식을 선택할 수도 있다.
 
ⓒ GettyImagesBank

그런데, 이렇게 구축한 애플리케이션이 클라우드에서 몇 년 이상 간다고 보장할 수 있는가? 다시 말해, 이들 애플리케이션의 미래를 어떻게 보장할 것인가? 몇 가지 핵심 권장사항을 제시한다.

우선, 장기적으로 갈 것 같지 않은 네이티브 클라우드 서비스 사용을 주의하라. 요즘에는 모두가 서버리스 시스템을 좋아하지만, 이 역시 몇 년이면 바뀌고 말 것이다. 어떤 때는 변화가 애플리케이션을 좋아하기도 한다. 즉 애플리케이션은 끊임없이 개선된다. 사용 기술이 인기를 잃으면 시스템 역시 클라우드 시장의 관심에서 멀어질지 모른다.

서버리스 개발과 배치의 인기를 지적하는 것은 아니다. 클라우드 네이티브 머신러닝이 될 수도 있고, 클라우드 네이티브 데이터베이스가 될 수도 있다. 간단히 말해, 우리는 이들 기술이 애플리케이션 개발과 배치를 위한 편리한 길을 제공할 것이라는 데 판돈을 건다. 하지만 이 길은 언젠가는 더 뛰어난 기술에 가려질 기술에 종속될 가능성도 생긴다.

둘째, 오픈소스의 신에게 기도를 올리고 오픈소스 기술에 전부를 걸 수도 있지만, 반대 급부가 있다. 물론 오픈소스 시스템의 장점은 프라이빗 클라우드와 퍼블릭 클라우드 대부분이 지원하며, 사용자 커뮤니티에 의해 유지된다는 것이다. 게다가 요즘에는 너무나 많은 오픈소스 솔루션이 있다.

단점은 위험을 줄이는 대가로 추가 작업을 많이 해야 한다는 것이다. 오픈소스 제품을 사용해 클라우드 기반 애플리케이션을 구축하려면, 아키텍처와 코딩에 더 많은 시간을 투여해야 한다. 서버리스 개발과 배치와 같은 클라우드 네이티브 시스템을 사용해 비슷한 애플리케이션을 구축하는 속도와 편의성을 비교해 보라.

그렇다면, 어떤 애플리케이션 아키텍처를 선택해야 할까? 어떻게 해야 애플리케이션이 오래 살 수 있는 옳은 결정을 내릴 수 있을까? 핵심을 보면, 지난 20년 동안 우리가 풀려고 한 것과 같은 질문이다. 추가 생산성을 제공하는 독점 기술을 사용할 것인지, DIY 작업이 훨씬 많이 필요한 개방적인 시스템을 사용할 것인가?

필자의 조언은 언제나 최상의 솔루션을 찾기 위해 모든 옵션을 검토하라는 것이다. 전문가를 찾거나 직접 전문가가 되어야 한다. 모든 후보 솔루션을 1년 또는 2년이라는 시간의 렌즈로 살펴보고, 3~5년이라는 렌즈로도 봐야 한다. 얼마나 많은 기업이 주요 기술을 바꾸면서 장기적인 전망을 살피지 않는지 놀랄 정도이다. 가능성을 검토하거나, 아니면 외부 전문가라도 찾아서 조언을 구하는 것은 시간을 들일 가치가 있는 일이다.  editor@itworld.co.kr


X