일요일, 6월 05, 2011

[독서광] 클라우드 컴퓨팅 구현 기술



요즘 한창 인구에 회자되는 클라우드 컴퓨팅 기술을 파악하기 위해 지난 금요일 플랫폼데이 2011에 다녀왔다. 학생(?)으로서 마땅히 가져야 하는 기본 자세로 예습을 했는데, 바로 오늘 소개하는 클라우드 컴퓨팅 구현 기술이라는 책을 읽었다.



클라우드 컴퓨팅에 대한 이야기야 요즘 사방팔방에 나오므로 여기서 다시 한번 재탕할 생각은 없지만 노파심에서 잠시 위키피디아와 NIST 정의를 가져와봤다.



Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.


요약하지면 클라우드 컴퓨팅은 지역 컴퓨터가 아니라 네트워크 환경에서 구성 가능한 컴퓨팅 지원(자료와 소프트웨어 모두 포함)을 필요/요구에 따라 준비해서 사용 가능한 기술을 의미한다. 아주 신기하고 새로운 만병 통치약으로 보기는 곤란하고 과거에는 여러 가지 제약 사항으로 구현이 어려운 부분이 기술 발전으로 극복되면서 자연스럽게 일반에 퍼져나가는 문화적 현상(?)으로 보는 편이 더 정확할지도 모르겠다.



클라우드 컴퓨팅에 대해 대충 감을 잡았으므로 책을 한번 살펴보자. 이 책은 제목에 '구현 기술'이라는 단어가 붙어있는데, 소위 말하는 약파는 내용이 아니라(약파는 책들은 실체를 가리기 위해 듣도보도 못한 난해한 유행어를 계속해서 반복하는 특성이 있다), 애플리케이션 서버, 분산 코디네이터, 분산 파일 시스템, 대용량 자료 분석 프레임워크, 데이터베이스, 로그 시스템, 캐시 시스템으로 나눠서 실제로 어떻게 시스템을 구축하는지를 설명하고 있다. 구체적으로 쓰리프트, 에이브로, 주키퍼, 하둡, 맵리듀스, HBase, 카산드라, 클라우데이터, 몽고디비, MySQL, 척와, memcached 등을 설치하고 응용하는 방법을 예로 들어 설명한다. 이런 특성으로 인해 이 책은 실제 현장에 뛰어들 기술자에게 적합하다.



본문에서 블로그라는 예를 들어 클라우드 컴퓨팅 서비스를 어떻게 구축하는지 예를 보여주는 방법을 사용하고 있는데, 처음부터 끝까지 완결된 예제가 아니기 때문에(기술을 설명하다 중간중간 블로그에 적용하는 방법을 사용하므로 오라일리 책을 보는 느낌이 들었다) 조금 아쉬운 점이 있다. 또한 책을 읽다보니 기존 기술과 성능 비교, 장단점 파악, 배치와 구성 과정에서 요긴하게 사용할 팁 등이 아쉽다는 생각이 들었지만, 이런 사항은 각자 환경에 따라 천차만별일테니 일반화된 정답은 없기에 책에 담기에는 그리 용이하지 않았으리라는 생각이 든다. 결론적으로 말하자면 클라우드 컴퓨팅에 입문한 개발자가 실제 설치부터 구성, 배치, 간단한 예제 작성과 테스트 방법을 익히기는 부족함이 없다고 본다. 늘 그렇지만 실제 기술 적용 과정에서 풀어야할 숙제는 본인 몫이다.



책과 세미나 덕분에 예습에 이어 복습까지 마쳤으므로 클라우드 컴퓨팅에 대한 기본 개념은 익혔다. 어떻게 한번 써먹어볼지만 남았네?



EOB

댓글 없음:

댓글 쓰기