블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


 

'Elastic Load Balancing'에 해당되는 글 2

  1. 2011.03.10 Amazon EC2 Auto Scale out Architecture
  2. 2011.03.10 Auto Scale out에 대한 메모..
 

Amazon EC2 Auto Scale out 아키텍쳐http://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/index.html?Welcome.html

  1. Cloud Watch를 통해서, 이미 기동중인 Instance를 모니터링 한다.
  2. Instance의 CPU나 Throughput을 기반으로 해서 Scale out 여부를 결정한다
  3. Scale out을 하게 되면, 해당 Instance의 AMI를 추가로 Provisioning 한다.
  4. Elastic Load Balancer에 새롭게 추가된 Instance를 연결해준다.

기본적인 아키텍쳐인데, 전형적인 Scale Out 방식이고, Image에 올라가 있는 (VM)의 Application의 Scale out은 지원하지 않고, 개발자 스스로 대비해야 한다.
Apache와 같은 웹서버나, 클러스터링이 되어 있지 않은 Tomcat과 같은 WAS는 가능하겠지만, 아래 글에서 처럼, Oracle이나 MySQL과 같은 DBMS나 JMS등은 Scale out 자체가 불가능 하기 때문에, 자체로 클라우드 대비 아키텍쳐로 디자인 해야 한다. 


Auto Scale Out을 고민할 일이 있어서.. Amazon EC2를 봤는데..
역시나..
EC2는 기본적으로 IaaS이기 때문에, CPU나 어느 조건 이상이 되면 Config 된데로, Scale out이 되는데, AMI 이미지 똑같은 것을 하나 더 띄우고, Load Balancer에서 연결해주는 형태..

즉, 일반적인 웹서버나 클러스터가 안되어 있는 Tomcat등은 그럭저럭 먹힐거 같은데..
WebLogic,JBoss 등은 어렵다는 이야기, 결국 API로 WLS등 모니터링해서 Scale out할 수 있게 해주고, AMI 이미지도 Instance별로 별도 고려가 되야 하는 형태..

Scale out은 아무래도 PaaS가 유리한듯..

그리고, DB Auto Scale out 이야기 하시는분들 있는데, 일반적인 RDB에서는 안되거든요? Oracle에서 2 Machine 이상 도는거 보셨어요? (RAC기준). RDB에서 Scale out할려면, Sharding 아키텍쳐로 설계가 되도 쉽지 않고, 오로지 CDC를 이용한 Query Off Loading 방식만 가능한데, 이 경우에도 WAS에서 Connection Pool이 Scaled out된 DB Instance를 볼 수 있어야 합니다. 물론, HBase와 같은 Column DB는 당연히 Scale out이 고려된 솔루션이니까는 가능합니다만....

WAS와 DB Scale Out 아키텍쳐 정리해야 하는데.. 귀찮다..ㅜㅡ
맥주나 한잔하고 자야 쓰겄습니다.
요즘 집중력 저하야... 딘따..