2021.03.22

IDG 블로그 | 클라우드 개발 툴과 인프라를 고르는 법

David Linthicum | InfoWorld
툴과 기술은 기술 솔루션을 구성하는 것으로, 무엇인가를 구축하고 자원을 이용하고 인프라를 사용하는 방법을 결정한다. 

최근 필자는 툴이나 기술을 잘못 선택해 실패한 프로젝트를 여러 건 봤다. 우리는 이 문제를 몇 년째 다루고 있지만, 지금까지도 해법을 찾지 못한 상태이다. 게다가 상황은 점점 더 나빠지고 있다.
 
ⓒ Getty Images Bank

현실은 모든 것이 변하고 있기 때문이다. 최근 개발, 테스트, 배치 영역에 새로 들어오는 기술과 툴은 처음 적용하는 것이라 어떤 툴과 기술을 골라야 할지 실마리가 거의 없다. 다시 말해, 위험을 줄일 수 있는 방법이 없다.

여기 몇 가지 조언을 소개한다.

너무 앞서거나 뒤처지지 않는다. 개발 세계에 있는 사람 대부분은 툴과 플랫폼, 기타 기술에 너무 큰 비중을 둔다. 개발자가 무엇을 왜 구축해야 하는지 알기도 전에 툴과 기술이 선택된다. 반대로, 어떤 사람은 너무 기다린다. 설계의 중요한 부분에 영향을 미치는 약간의 알지 못한 제약을 찾는 데 너무 많은 시간을 들인다. 예를 들어, 원래 목표로 했던 데이터베이스가 지원되지 않는 등의 상황을 걱정하는 것이다.

위험을 줄이거나 제거하기 위해 툴과 기술은 적절한 순서에 따라 선택해야 한다.

비즈니스를 이해한다. 개발이나 인프라를 특정 솔루션 업체에 맞춰 표준화했는데, 그 솔루션 업체가 “망했다”는 악몽 같은 이야기를 종종 듣는다. 해당 업체가 더 큰 업체에 인수되면서 지원이 끊어지거나 더 이상 사용할 수 없게 되는 상황이다.

이런 상황에서 할 수 있는 것은 많지 않다. 하지만 이런 상황이 발생하면 어떤 보호 방안이 있는지 솔직하게 물어볼 수는 있다. 만약 솔루션 업체의 사업이 중단되면, 소스 코드에 대한 권리를 고객사가 갖거나 다른 툴과 기술로 이전하는 비용을 솔루션 업체가 지불하는 계약 조건을 본 적이 있다.

또 하나의 전략은 오픈소스이다. 단지 코드만 액세스하는 것이 아니라 같은 오픈소스 시스템을 판매하고 지원하는 다른 업체도 이용할 수 있다. 

마지막으로 가장 중요한 것은 테스트이다. 그저 줌으로 시연을 보는 것이 아니라 실제 기술을 실제 플랫폼에서 테스트해야 한다.

희소식이 있다면, 요즘은 디스크 꾸러미가 없다. 모든 것이 가상이다. 게다가 솔루션 업체가 퍼블릭 클라우드 서비스 업체의 마켓플레이스에 등록되어 있다면, 해당 제품이 그 클라우드 플랫폼에서 어떻게 동작하고 스토리지나 컴퓨트, 데이터베이스 같은 자원을 어떻게 사용하는지 기본적인 테스트를 거친 것이다.

필자는 일부 예기치 못한 호환성 문제나 빠진 기능을 찾아내 실패를 막은 경험이 많다. 돌이킬 수 없는 상태가 되기 전에 기술을 바꿀 수 있었다.

어려움을 가중시키는 요소도 있다. 첫째, 복잡성이 증가한다. 멀티클라우드를 포함해 클라우드 기반 플랫폼에 배치한다는 것은 클라우드에 솔루션을 구축하고 구성하고 배치하는 데 수천 가지 요소가 있다는 것을 의미하기 때문이다. 둘째, 너무나도 많은 툴과 기술과 구성을 사용할 수 있다.

지금은 적절한 기술과 툴에 대한 확실한 결정을 내리는 일을 좀 더 잘 해내야만 한다. 또 처음부터 올바른 선택을 하는 것은 충분히 가능한 일이다. editor@itworld.co.kr


2021.03.22

IDG 블로그 | 클라우드 개발 툴과 인프라를 고르는 법

David Linthicum | InfoWorld
툴과 기술은 기술 솔루션을 구성하는 것으로, 무엇인가를 구축하고 자원을 이용하고 인프라를 사용하는 방법을 결정한다. 

최근 필자는 툴이나 기술을 잘못 선택해 실패한 프로젝트를 여러 건 봤다. 우리는 이 문제를 몇 년째 다루고 있지만, 지금까지도 해법을 찾지 못한 상태이다. 게다가 상황은 점점 더 나빠지고 있다.
 
ⓒ Getty Images Bank

현실은 모든 것이 변하고 있기 때문이다. 최근 개발, 테스트, 배치 영역에 새로 들어오는 기술과 툴은 처음 적용하는 것이라 어떤 툴과 기술을 골라야 할지 실마리가 거의 없다. 다시 말해, 위험을 줄일 수 있는 방법이 없다.

여기 몇 가지 조언을 소개한다.

너무 앞서거나 뒤처지지 않는다. 개발 세계에 있는 사람 대부분은 툴과 플랫폼, 기타 기술에 너무 큰 비중을 둔다. 개발자가 무엇을 왜 구축해야 하는지 알기도 전에 툴과 기술이 선택된다. 반대로, 어떤 사람은 너무 기다린다. 설계의 중요한 부분에 영향을 미치는 약간의 알지 못한 제약을 찾는 데 너무 많은 시간을 들인다. 예를 들어, 원래 목표로 했던 데이터베이스가 지원되지 않는 등의 상황을 걱정하는 것이다.

위험을 줄이거나 제거하기 위해 툴과 기술은 적절한 순서에 따라 선택해야 한다.

비즈니스를 이해한다. 개발이나 인프라를 특정 솔루션 업체에 맞춰 표준화했는데, 그 솔루션 업체가 “망했다”는 악몽 같은 이야기를 종종 듣는다. 해당 업체가 더 큰 업체에 인수되면서 지원이 끊어지거나 더 이상 사용할 수 없게 되는 상황이다.

이런 상황에서 할 수 있는 것은 많지 않다. 하지만 이런 상황이 발생하면 어떤 보호 방안이 있는지 솔직하게 물어볼 수는 있다. 만약 솔루션 업체의 사업이 중단되면, 소스 코드에 대한 권리를 고객사가 갖거나 다른 툴과 기술로 이전하는 비용을 솔루션 업체가 지불하는 계약 조건을 본 적이 있다.

또 하나의 전략은 오픈소스이다. 단지 코드만 액세스하는 것이 아니라 같은 오픈소스 시스템을 판매하고 지원하는 다른 업체도 이용할 수 있다. 

마지막으로 가장 중요한 것은 테스트이다. 그저 줌으로 시연을 보는 것이 아니라 실제 기술을 실제 플랫폼에서 테스트해야 한다.

희소식이 있다면, 요즘은 디스크 꾸러미가 없다. 모든 것이 가상이다. 게다가 솔루션 업체가 퍼블릭 클라우드 서비스 업체의 마켓플레이스에 등록되어 있다면, 해당 제품이 그 클라우드 플랫폼에서 어떻게 동작하고 스토리지나 컴퓨트, 데이터베이스 같은 자원을 어떻게 사용하는지 기본적인 테스트를 거친 것이다.

필자는 일부 예기치 못한 호환성 문제나 빠진 기능을 찾아내 실패를 막은 경험이 많다. 돌이킬 수 없는 상태가 되기 전에 기술을 바꿀 수 있었다.

어려움을 가중시키는 요소도 있다. 첫째, 복잡성이 증가한다. 멀티클라우드를 포함해 클라우드 기반 플랫폼에 배치한다는 것은 클라우드에 솔루션을 구축하고 구성하고 배치하는 데 수천 가지 요소가 있다는 것을 의미하기 때문이다. 둘째, 너무나도 많은 툴과 기술과 구성을 사용할 수 있다.

지금은 적절한 기술과 툴에 대한 확실한 결정을 내리는 일을 좀 더 잘 해내야만 한다. 또 처음부터 올바른 선택을 하는 것은 충분히 가능한 일이다. editor@itworld.co.kr


X