2011.08.11

클라우드 개발: 미리 알아야 할 9가지 주의점

Bob Violino | InfoWorld

클라우드에는 버려야 할 선입견과 오해들이 있다. 그리고 새로이 깨달아야 할 사실들도 존재한다. 클라우드에서 앱을 개발하거나 테스트할 때, 그리고 배치할 때 파악해야 할 점들을 정리했다.

클라우드에서의 앱 개발과 테스트가 흔해지고 있다 점점 더 많은 기업들이 퍼블릭 또는 프라이빗 클라우드 컴퓨팅 프로젝트를 시작했기 때문이다. 클라우드에서의 개발은 대개 통합 개발 환경, 애플리케이션 라이프사이클 관리(테스트 및 품질 관리, 소스 코드 및 구성 관리, 연속 공급 도구 등), 애플리케이션 보안 테스팅 요소 등을 포함하곤 한다.

클라우드에서의 개발에 익숙한 전문가들은 장점을 강조하곤 한다. 비용이 절감될뿐더러 시장에의 출시 시간도 단축된다는 것이다. 그러나 미처 몰랐던 난관의 출현에도 주의해야 한다고 지적하고 있다.

알아야 할 사항 1: 현실과 항상 같을 수는 없는 클라우드
개발자들은 기존에 사용했던 설정을 클라우드 서비스에서 복제하기가 어렵다는 사실을 발견할 수 있다. 예를 들어, 클라우드에서 개발한 애플리케이션의 경우, 클라우드 서비스로 간단히 복제할 수 없는 구식 시스템을 대상으로 다시 테스트를 해야 할 수 있다.

가트너의 수석 애널리스트 에릭 크니프는 "앱을 옮겨 운영하려면 개발자들이 많은 일을 해야 할 수도 있다는 의미다"라고 설명했다.

서비스 가상화 기술이 도움이 될 수 있다. 또 개발자들은 다중/ 병렬 브랜치 개발(multiple/parallel branch development )을 가능하도록 해주는 상용 제품들을 이용할 수도 있다. 기업들이 엔터프라이즈 앱을 클라우드로 옮길 때 도움을 주는 iTKO의 리사(Lisa)라는 소프트웨어가 여기에 해당된다.

이 밖에 비클라우드 개발에 익숙한 개발자들은 클라우드에서 웹 애플리케이션을 구축할 때 난관에 부딪힐 수 있다. 이와 관련, 오하이오 음악 교육 협회(Ohio Music Education Association)를 위해 온라인 등록 애플리케이션을 구축한 그레그 테일러(Greg Taylor)는 애플리케이션을 만들 때 데이터베이스 구조와 사용자들이 데이터베이스와 접촉하는 방법을 완전히 이해해야 할 것이라고는 예상하지 못했었다.

교육기관의 연주가들이 오하이오주의 음악 콘텐트에 등록하는 과정을 처리하는 이 앱은 백 엔드(back end)로 MySQL 데이터베이스를, 프론트 엔드로는 알파 소프트웨어의 알파 파이브(Alpha Five) 10.5를 이용한다.

테일러는 "나는 데이터베이스 구조에 있어 아주 너그러운 제품인 파일메이커 프로에 익숙해 있었다. 따라서 설계가 조금 잘못되더라도 큰 문제 없이 쓸 수 있는 경우가 많았다"라고 회상했다.

그러나 MySQL은 테일러로 하여금 극단적으로 체계적인 개발을 통해 웹 애플리케이션이 가능한 최대 성능을 성취해 내도록 강요했다. 테이블 구조로 돌아가 필드를 추가하려면 시간이 많이 소요됐다. 다양한 개발 툴, 즉 MySQL을 위해서는 ‘Navicat’을, 실제 웹 페이지 설계를 위해서는 알파 파이브를 번갈아 사용해야 했기 때문이다.

그는 첫 번째 툴을 이용해서는 데이터베이스 구조를, 두 번째 툴을 이용해서는 사용자가 데이터베이스에 정보를 입력하고 편집할 수 있도록 해주는 페이지를 만들어야만 했다.

테일러는 "이미 만들어져 있는 데이터베이스를 이용하는 개발자들이라면 문제가 되지 않을 수도 있다. 알파 파이브를 이용해서 사용자가 접속하게 되는 웹 페이지를 개발하면 되기 때문이다. 그러나 나는 데이터베이스와 웹 페이지를 동시에 개발해야 했다. 세심하게 계획을 짜지 않는다면 개발 툴을 바꿔가며 개발을 해야 했다는 의미이다"라고 설명했다.

테일러는 이런 수고를 피하기 위해 자신만의 데이터베이스 개발 방법을 바꿔야만 했다. 그는 "필요한 모든 필드와 함께 ERD(Entity Relationship Diagram)를 깨끗하게 먼저 개발해 웹 애플리케이션에 효율성을 도모할 수 있었다. 또 개발에 든 시간 또한 크게 줄일 수 있었다"고 말했다.

물론 어떨 때는 클라우드 개발 툴은 실제 세상과 똑같이 작동하기도 한다. 신장 투석 전문 의료 처치 기업인 다비타(DaVita)의 HRIS 수석 애널리스티인 제프 헨슬리는 클라우드 환경에서 작업하는 개발자들이 명령을 입력해야 하는 툴들인 XML과 SQL을 이용해야만 한다는 사실에 놀랐다며 "오래 전 DOS 시절을 연상하게 했다"고 말하기도 했다. 그는 그러나 이와 같이 구식의 방법들이 시간이 지나 도입이 확산되면 바뀔 것으로 내다봤다.

다비타는 클라우드 기반의 애플리케이션 제공 플랫폼과 호스팅 서버를 모두 이용해 인적 자원 데이터 웨어 하우스와 비즈니스 인텔리전스(business intelligence) 애플리케이션을 개발했다.

알아야 할 사항 2: 클라우드에서 개발하기에 적합하지 않은 앱의 존재
애플리케이션과 통합해야 하는 시스템에 접근하고 복제하기가 어려울수록, 클라우드 컴퓨팅 자원에서 이를 개발하고 테스트 하는 것 또한 어렵다고 가트너의 크니프는 지적했다.

예를 들어, FEM(Faith Educational Ministries)의 IT 부문 댄 스튜에크 VP는 데이터 보안 수준이 아주 높거나 규제적으로 제약이 많은, 또는 코볼과 같은 구식 코딩 프로젝트에 의존하는 클라우드에서는 첨단 애플리케이션을 개발하는 것을 피했다.

그는 "이들 두 가지는 내부적으로 유지하는 게 바람직할 수 있다. 첫째 명백히 보안과 관련된 문제 때문이고, 둘째 이미 '죽어버린' 언어와 관련된 문제 때문이다"라고 설명했다.

스튜에크는 아마존닷컴의 퍼블릭 클라우드에서 개발 서버를 운용했고, 역시 클라우드에 학생 정보 시스템, 학생 성적 아카이브, 홈 스쿨북 판매 애플리케이션을 구축했다.

알아야 할 사항 3: 낯선 클라우드를 좋아하지 않는 개발자들
클라우드 컴퓨팅은 아직도 많은 기업들에게 상대적으로 새로운 환경이다. 그리고 개발 부문을 포함해 파괴적인 기술이 될 수 있다.

아웃소싱 세일즈 서비스 제공기업인 20/20은 세일즈포스닷컴(Salesforce.com)의 포스닷컴 클라우드 플랫폼을 이용해 아웃소싱의 직원들이 20/20의 주문-청구-급여지급 도구에 데이터를 입력할 수 있는 맞춤형 애플리케이션을 구축했다.

20/20의 수석 설계자인 마크 워렌은 "관리나 세일즈 부서, 그리고 시스템을 사용하는 사람들은 클라우드 개발 프로젝트를 반긴 반면, IT 부서, 특히 개발자들은 이를 탐탁지 않게 받아들였던 게 가장 뜻밖이었다"라고 말했다.

워렌에 따르면 IT 담당 직원들은 마이크로소프트의 Net, SQL 서버, 자바, 기타 기존의 개발 플랫폼을 이용해 업무를 보는데 익숙했었다. 그러나 포스닷컴은 완전히 다른 모델이었다. 그는 "SQL과 자바를 툴로 사용하고 있다가 완전히 이질적인 플랫폼이 들어온다면 이를 반기지 않는 것도 납득이 간다"라고 설명했다.

결과적으로 IT 개발자들이 아닌 비즈니스 부문의 직원들이 세일즈 애플리케이션을 개발했다. 그리고 이는 또 다른 형태의 도전을 불러왔다. 가장 큰 도전은 비즈니스 부문의 직원들이 변경 관리나 IT 거버넌스를 잘 알지 못했다는 부분이다. 

워렌은 "IT는 비즈니스 부문의 직원들이 모르는 부분에 대해 알고 있고, 원칙을 갖고 있다. 결국 변경 관리 문제를 빨리 해결하기 위해 IT 부문 직원들을 데려와야 했다"라고 말했다.

워렌에 따르면, 기술 부분 직원들이 클라우드 환경을 기반으로 한 개발을 주저하는 문제를 해결하는 것에 대해, IT가 클라우드 컴퓨팅을 내부적으로 도입할 수 있도록 하는 방안이 있다.

그는 "트레이닝은 이를 촉진하는 좋은 방법 중 하나이다. 하지만 IT 문화가 새로운 방법이나 기술에 개방적이지 않다면, 기업으로서는 새로운 개발자들을 찾는 수밖에 다른 방법이 없을 것이다"라고 덧붙였다.

알아야 할 사항 4: 클라우드 개발자들을 방해하는 문서화의 미흡
다비타의 헨슬리는 개발자들이 클라우드 환경에서 애플리케이션을 구축할 때 사용할 수 있는 자원과 클라우드와 툴을 이해하는데 도움이 되는 문서가 부족하다는 점에 놀랐다.

그러나 그는 "수요가 늘어나고, 더 많은 기업들이 클라우드 개념을 도입해갈수록 변화가 있을 것으로 기대하고 있다"라며 "우리는 또 컨설팅 기업과 제휴관계를 맺어 이런 문제에 대처할 수 있다"라고 강조했다.




2011.08.11

클라우드 개발: 미리 알아야 할 9가지 주의점

Bob Violino | InfoWorld

클라우드에는 버려야 할 선입견과 오해들이 있다. 그리고 새로이 깨달아야 할 사실들도 존재한다. 클라우드에서 앱을 개발하거나 테스트할 때, 그리고 배치할 때 파악해야 할 점들을 정리했다.

클라우드에서의 앱 개발과 테스트가 흔해지고 있다 점점 더 많은 기업들이 퍼블릭 또는 프라이빗 클라우드 컴퓨팅 프로젝트를 시작했기 때문이다. 클라우드에서의 개발은 대개 통합 개발 환경, 애플리케이션 라이프사이클 관리(테스트 및 품질 관리, 소스 코드 및 구성 관리, 연속 공급 도구 등), 애플리케이션 보안 테스팅 요소 등을 포함하곤 한다.

클라우드에서의 개발에 익숙한 전문가들은 장점을 강조하곤 한다. 비용이 절감될뿐더러 시장에의 출시 시간도 단축된다는 것이다. 그러나 미처 몰랐던 난관의 출현에도 주의해야 한다고 지적하고 있다.

알아야 할 사항 1: 현실과 항상 같을 수는 없는 클라우드
개발자들은 기존에 사용했던 설정을 클라우드 서비스에서 복제하기가 어렵다는 사실을 발견할 수 있다. 예를 들어, 클라우드에서 개발한 애플리케이션의 경우, 클라우드 서비스로 간단히 복제할 수 없는 구식 시스템을 대상으로 다시 테스트를 해야 할 수 있다.

가트너의 수석 애널리스트 에릭 크니프는 "앱을 옮겨 운영하려면 개발자들이 많은 일을 해야 할 수도 있다는 의미다"라고 설명했다.

서비스 가상화 기술이 도움이 될 수 있다. 또 개발자들은 다중/ 병렬 브랜치 개발(multiple/parallel branch development )을 가능하도록 해주는 상용 제품들을 이용할 수도 있다. 기업들이 엔터프라이즈 앱을 클라우드로 옮길 때 도움을 주는 iTKO의 리사(Lisa)라는 소프트웨어가 여기에 해당된다.

이 밖에 비클라우드 개발에 익숙한 개발자들은 클라우드에서 웹 애플리케이션을 구축할 때 난관에 부딪힐 수 있다. 이와 관련, 오하이오 음악 교육 협회(Ohio Music Education Association)를 위해 온라인 등록 애플리케이션을 구축한 그레그 테일러(Greg Taylor)는 애플리케이션을 만들 때 데이터베이스 구조와 사용자들이 데이터베이스와 접촉하는 방법을 완전히 이해해야 할 것이라고는 예상하지 못했었다.

교육기관의 연주가들이 오하이오주의 음악 콘텐트에 등록하는 과정을 처리하는 이 앱은 백 엔드(back end)로 MySQL 데이터베이스를, 프론트 엔드로는 알파 소프트웨어의 알파 파이브(Alpha Five) 10.5를 이용한다.

테일러는 "나는 데이터베이스 구조에 있어 아주 너그러운 제품인 파일메이커 프로에 익숙해 있었다. 따라서 설계가 조금 잘못되더라도 큰 문제 없이 쓸 수 있는 경우가 많았다"라고 회상했다.

그러나 MySQL은 테일러로 하여금 극단적으로 체계적인 개발을 통해 웹 애플리케이션이 가능한 최대 성능을 성취해 내도록 강요했다. 테이블 구조로 돌아가 필드를 추가하려면 시간이 많이 소요됐다. 다양한 개발 툴, 즉 MySQL을 위해서는 ‘Navicat’을, 실제 웹 페이지 설계를 위해서는 알파 파이브를 번갈아 사용해야 했기 때문이다.

그는 첫 번째 툴을 이용해서는 데이터베이스 구조를, 두 번째 툴을 이용해서는 사용자가 데이터베이스에 정보를 입력하고 편집할 수 있도록 해주는 페이지를 만들어야만 했다.

테일러는 "이미 만들어져 있는 데이터베이스를 이용하는 개발자들이라면 문제가 되지 않을 수도 있다. 알파 파이브를 이용해서 사용자가 접속하게 되는 웹 페이지를 개발하면 되기 때문이다. 그러나 나는 데이터베이스와 웹 페이지를 동시에 개발해야 했다. 세심하게 계획을 짜지 않는다면 개발 툴을 바꿔가며 개발을 해야 했다는 의미이다"라고 설명했다.

테일러는 이런 수고를 피하기 위해 자신만의 데이터베이스 개발 방법을 바꿔야만 했다. 그는 "필요한 모든 필드와 함께 ERD(Entity Relationship Diagram)를 깨끗하게 먼저 개발해 웹 애플리케이션에 효율성을 도모할 수 있었다. 또 개발에 든 시간 또한 크게 줄일 수 있었다"고 말했다.

물론 어떨 때는 클라우드 개발 툴은 실제 세상과 똑같이 작동하기도 한다. 신장 투석 전문 의료 처치 기업인 다비타(DaVita)의 HRIS 수석 애널리스티인 제프 헨슬리는 클라우드 환경에서 작업하는 개발자들이 명령을 입력해야 하는 툴들인 XML과 SQL을 이용해야만 한다는 사실에 놀랐다며 "오래 전 DOS 시절을 연상하게 했다"고 말하기도 했다. 그는 그러나 이와 같이 구식의 방법들이 시간이 지나 도입이 확산되면 바뀔 것으로 내다봤다.

다비타는 클라우드 기반의 애플리케이션 제공 플랫폼과 호스팅 서버를 모두 이용해 인적 자원 데이터 웨어 하우스와 비즈니스 인텔리전스(business intelligence) 애플리케이션을 개발했다.

알아야 할 사항 2: 클라우드에서 개발하기에 적합하지 않은 앱의 존재
애플리케이션과 통합해야 하는 시스템에 접근하고 복제하기가 어려울수록, 클라우드 컴퓨팅 자원에서 이를 개발하고 테스트 하는 것 또한 어렵다고 가트너의 크니프는 지적했다.

예를 들어, FEM(Faith Educational Ministries)의 IT 부문 댄 스튜에크 VP는 데이터 보안 수준이 아주 높거나 규제적으로 제약이 많은, 또는 코볼과 같은 구식 코딩 프로젝트에 의존하는 클라우드에서는 첨단 애플리케이션을 개발하는 것을 피했다.

그는 "이들 두 가지는 내부적으로 유지하는 게 바람직할 수 있다. 첫째 명백히 보안과 관련된 문제 때문이고, 둘째 이미 '죽어버린' 언어와 관련된 문제 때문이다"라고 설명했다.

스튜에크는 아마존닷컴의 퍼블릭 클라우드에서 개발 서버를 운용했고, 역시 클라우드에 학생 정보 시스템, 학생 성적 아카이브, 홈 스쿨북 판매 애플리케이션을 구축했다.

알아야 할 사항 3: 낯선 클라우드를 좋아하지 않는 개발자들
클라우드 컴퓨팅은 아직도 많은 기업들에게 상대적으로 새로운 환경이다. 그리고 개발 부문을 포함해 파괴적인 기술이 될 수 있다.

아웃소싱 세일즈 서비스 제공기업인 20/20은 세일즈포스닷컴(Salesforce.com)의 포스닷컴 클라우드 플랫폼을 이용해 아웃소싱의 직원들이 20/20의 주문-청구-급여지급 도구에 데이터를 입력할 수 있는 맞춤형 애플리케이션을 구축했다.

20/20의 수석 설계자인 마크 워렌은 "관리나 세일즈 부서, 그리고 시스템을 사용하는 사람들은 클라우드 개발 프로젝트를 반긴 반면, IT 부서, 특히 개발자들은 이를 탐탁지 않게 받아들였던 게 가장 뜻밖이었다"라고 말했다.

워렌에 따르면 IT 담당 직원들은 마이크로소프트의 Net, SQL 서버, 자바, 기타 기존의 개발 플랫폼을 이용해 업무를 보는데 익숙했었다. 그러나 포스닷컴은 완전히 다른 모델이었다. 그는 "SQL과 자바를 툴로 사용하고 있다가 완전히 이질적인 플랫폼이 들어온다면 이를 반기지 않는 것도 납득이 간다"라고 설명했다.

결과적으로 IT 개발자들이 아닌 비즈니스 부문의 직원들이 세일즈 애플리케이션을 개발했다. 그리고 이는 또 다른 형태의 도전을 불러왔다. 가장 큰 도전은 비즈니스 부문의 직원들이 변경 관리나 IT 거버넌스를 잘 알지 못했다는 부분이다. 

워렌은 "IT는 비즈니스 부문의 직원들이 모르는 부분에 대해 알고 있고, 원칙을 갖고 있다. 결국 변경 관리 문제를 빨리 해결하기 위해 IT 부문 직원들을 데려와야 했다"라고 말했다.

워렌에 따르면, 기술 부분 직원들이 클라우드 환경을 기반으로 한 개발을 주저하는 문제를 해결하는 것에 대해, IT가 클라우드 컴퓨팅을 내부적으로 도입할 수 있도록 하는 방안이 있다.

그는 "트레이닝은 이를 촉진하는 좋은 방법 중 하나이다. 하지만 IT 문화가 새로운 방법이나 기술에 개방적이지 않다면, 기업으로서는 새로운 개발자들을 찾는 수밖에 다른 방법이 없을 것이다"라고 덧붙였다.

알아야 할 사항 4: 클라우드 개발자들을 방해하는 문서화의 미흡
다비타의 헨슬리는 개발자들이 클라우드 환경에서 애플리케이션을 구축할 때 사용할 수 있는 자원과 클라우드와 툴을 이해하는데 도움이 되는 문서가 부족하다는 점에 놀랐다.

그러나 그는 "수요가 늘어나고, 더 많은 기업들이 클라우드 개념을 도입해갈수록 변화가 있을 것으로 기대하고 있다"라며 "우리는 또 컨설팅 기업과 제휴관계를 맺어 이런 문제에 대처할 수 있다"라고 강조했다.


X