Cloudbees의 PaaS

개인적으로는 내년에 유학을 꿈꾸고 있다 보니 한국 내에서 유지보수중인 서비스들을 서버실에 구축해둔 (내가 만든?) 서버에서 차차 클라우드 컴퓨터로 옮겨야겠다는 생각을 했고, AWS를 알아보던 찰나 IDEA에서 배포를 지원하는 CloudBees를 보게 되었다.

 CloudBees는 자바 플랫폼에 특화된 PaaS(Platform as a Service)로써, IaaS는 AWS를 사용하고 거기에 통합빌드나 C.I, 모니터링, JVM 등을 지원한다. WAS를 톰켓6,7,8,9 버전부터 해서 Jetty, Vert.x Node.js 등을 지원하고 Hibernate 통합, Amazon S3, Play framework용 환경 등 뭐 조합된 것들도 참으로 많다. 

무엇보다 내가 놀라운 점은 이런 환경들을 아주 손쉽게 제공한다는 것이다. 한 예로 Spring MVC를 써서 앱을 개발한다면 따로 환경설정 할 필요없이 (뭐 beans등은 만들어야 겠지만.) 보통 내가 주력으로 쓰는 IntelliJ IDEA 에서 Wizard로 Spring MVC 프로젝트를 만들고, 배포 환경을 CloudBees로 설정해주면 아주 손쉽게 배포가 가능하다.

 게다가 배포 이후에는 아래처럼 멋진 웹용 콘솔도 제공한다. 여기다 손쉽게 모니터링, DB, 라우터, 세션 storage등을 연결할 수 있으니 아, 보고만 있자면 참으로 황홀해 지지 않을 수가 없다. 본래 내가 바라던 모니터링/컨트롤 웹 콘솔이었으니 말이다.

 다만 일단 대부분의 클라우드 서비스가 그렇듯, 이것도 외국에서 서비스 되서 국내에서 속도 문제는 있다. 그리고 보다 더 중요한건, 물론 이런 아키텍처를 손쉽게 구축한다는 것은 좋지만 결국 내가 스스로 구축할 수 없는 환경은 이런 편리한 것이 있으나 마나가 아닐까 싶기도 하다.




 PaaS로써 아키텍처가 어떻게 보면 참으로 심플하다. 거의 CI수준이 내가 보통 하던 수준이다. Hudson을 사용하니 말이다. 하지만 여기서 RUN 부분의 유지보수 부분이 약간은 내가 생소한 부분이다. 통합테스트를 지속적으로 한다는 의미가 무엇일까, 또한 모니터링 등 여러가지 back-end 서비스들도 있는데 이것들은 또한 무엇일까. 게다가 IaaS Provider는 따로 존재한다.


 그런데 문득 이런 아키텍처 구조를 보다 보니 IaaS니 PaaS니 사실 기존의 호스팅 개념이 보다 더 서비스적인 측면이 강화되서 나타난 결과가 아닐까 싶다. 모니터링, 웹 console, H/W, IP, SDK제공 등이 좀더 추가된것이지 뭐.. 물론 개발자나 SM입장에서야 편리하겠지만 말이다.


 내가 투자를 해야할 부분은 무엇일까, 어차피 벤더의 입장에서야 서비스를 확장하는 것이야 맞지만 이런 아키텍처링들이 결국 지금까지 나온 이론들과 좀더 하드한 실무들이 포괄적으로 녹여져 있다는 것이 내 느낌이다. 결국 Distributed System에서 하드웨어와 네트워크에서 I/O latency를 줄여나가는 과정이라던가 현존하는 S/W for WAS or DB에서 나올 수 있는 최적화 방면. 그런 부분이 내가 투자해야 할 부분이라는 생각이다. 


 참 이렇게 조금씩 연구의 가닥이 잡히는 것이 비단 4학년 효과 혹은 유학의 효과일까, 공부하고자 하는 길을 찾아나가는 과정이 이렇게 재밌었다면 진작에 그랬을텐데. 어쨌든 중요한건, 재밌다. 클라우드 컴퓨팅.