2012.08.02

퍼블릭 클라우드로 이전시, 애플리케이션 최적화 다섯 가지 방법

Nari Kannan | CIO
지난 6월 29일 폭풍으로 인해 아마존 웹 서비스(AWS)가 중단되면서 미국 동부 지역에 많은 사용자를 두고 있는 넷플릭스(Netflix)와 핀터레스트(Pinterest)의 서비스 또한 중단되는 사태를 맞았다. 특히 넷플릭스의 경우 서비스가 중단된 6월 29일은 수요가 많은 금요일이었다. 따라서 이로 인한 고객 불만은 대단했다.
  
한편, 라운드업(Roundup)이라는 게놈 지도 애플리케이션이 있다. 유전자와 유기체, 생물학적 기능 사이의 관계를 예측하는데 사용되는 애플리케이션이다. 라운드업은 집약적인 연산이 필요한 알고리즘을 사용한다. 
 
이런 이유로 하버드 대학 연구원들은 AWS가 제공하는 S3(Simple Storage Service), EC2(Elastic Compute Cloud), EMR(Elastic MapReduce)를 사용하고 있다. 
 
라운드업 팀은 애플리케이션을 최적화하기 위해 디스크 I/O와 인메모리 캐싱 사용을 줄이고, 필요한 최적의 인스턴스 수를 계산하고 있다. 이런 방식으로 40%의 비용을 절감했으며, 향후 성능에 영향을 미치지 않으면서 연산과 컴퓨터 자원이 증가할 경우를 대비하고 있다. 
 
물론 라운드업과 같이 최적화를 하지 않더라도 애플리케이션을 적절히 실행시킬 수 있다. 그러나 최적화를 하면 유효성, 위기 대응, 퍼블릭 클라우드 비용 관리에 많은 도움을 받는다. 
 
다음은 퍼블릭 클라우드로 이전했을 때 도움이 될만한 애플리케이션 최적화 방법 다섯 가지다.
 
1. 클라우드 서비스 제공업체의 결제 방식에 맞춰 코드를 재 프로그래밍한다
AWS는 컴퓨팅, 스토리지, 네트워크 대역은 물론 읽기와 쓰기를 위해 스토리지에 접속하는 시간에도 청구한다. 따라서 가능한 읽기와 쓰기 작업을 한번에 모아 진행할 필요가 있다. 이렇게 작업해야 읽기와 쓰기 작업을 할 때마다 비용이 추가되지 않는다.
 
이렇듯 클라우드 최적화 방법은 가입한 퍼블릭 클라우드 서비스 제공업체의 가격 책정 방법에 따라 달라질 수밖에 없다. 그러나 어떤 퍼블릭 클라우드 서비스 제공업체의 서비스를 이용하고 있는지 상관없이 코드 재 프로그래밍을 통해 애플리케이션의 성능을 개선할 수 있다.
 
2. 선택한 디폴트 클라우드 인스턴스를 최적화한다
EC2에서는 여러 컴퓨팅, 메모리, 스토리지 가운데 하나를 선택해 인스턴스를 구축할 수 있다. EC2는 여기에 더해, 정상 가격보다 저렴한 가격에 어느 때나 제공되는 추가 용량을 의미하는 스폿 인스턴스(Spot Instances)를 제공하고 있다.
 
필요한 컴퓨팅, 메모리, 스토리지의 최적 수준을 판단하기 위해서는 일정 시간을 투자해 자신의 애플리케이션을 실험해봐야 한다. 그러나 이를 통해 용량이나 설정에 과다 지출을 하는 것을 방지할 수 있다. 또한 스폿 인스턴스 등을 이용하면 큰 도움을 받을 수 있다.
 


2012.08.02

퍼블릭 클라우드로 이전시, 애플리케이션 최적화 다섯 가지 방법

Nari Kannan | CIO
지난 6월 29일 폭풍으로 인해 아마존 웹 서비스(AWS)가 중단되면서 미국 동부 지역에 많은 사용자를 두고 있는 넷플릭스(Netflix)와 핀터레스트(Pinterest)의 서비스 또한 중단되는 사태를 맞았다. 특히 넷플릭스의 경우 서비스가 중단된 6월 29일은 수요가 많은 금요일이었다. 따라서 이로 인한 고객 불만은 대단했다.
  
한편, 라운드업(Roundup)이라는 게놈 지도 애플리케이션이 있다. 유전자와 유기체, 생물학적 기능 사이의 관계를 예측하는데 사용되는 애플리케이션이다. 라운드업은 집약적인 연산이 필요한 알고리즘을 사용한다. 
 
이런 이유로 하버드 대학 연구원들은 AWS가 제공하는 S3(Simple Storage Service), EC2(Elastic Compute Cloud), EMR(Elastic MapReduce)를 사용하고 있다. 
 
라운드업 팀은 애플리케이션을 최적화하기 위해 디스크 I/O와 인메모리 캐싱 사용을 줄이고, 필요한 최적의 인스턴스 수를 계산하고 있다. 이런 방식으로 40%의 비용을 절감했으며, 향후 성능에 영향을 미치지 않으면서 연산과 컴퓨터 자원이 증가할 경우를 대비하고 있다. 
 
물론 라운드업과 같이 최적화를 하지 않더라도 애플리케이션을 적절히 실행시킬 수 있다. 그러나 최적화를 하면 유효성, 위기 대응, 퍼블릭 클라우드 비용 관리에 많은 도움을 받는다. 
 
다음은 퍼블릭 클라우드로 이전했을 때 도움이 될만한 애플리케이션 최적화 방법 다섯 가지다.
 
1. 클라우드 서비스 제공업체의 결제 방식에 맞춰 코드를 재 프로그래밍한다
AWS는 컴퓨팅, 스토리지, 네트워크 대역은 물론 읽기와 쓰기를 위해 스토리지에 접속하는 시간에도 청구한다. 따라서 가능한 읽기와 쓰기 작업을 한번에 모아 진행할 필요가 있다. 이렇게 작업해야 읽기와 쓰기 작업을 할 때마다 비용이 추가되지 않는다.
 
이렇듯 클라우드 최적화 방법은 가입한 퍼블릭 클라우드 서비스 제공업체의 가격 책정 방법에 따라 달라질 수밖에 없다. 그러나 어떤 퍼블릭 클라우드 서비스 제공업체의 서비스를 이용하고 있는지 상관없이 코드 재 프로그래밍을 통해 애플리케이션의 성능을 개선할 수 있다.
 
2. 선택한 디폴트 클라우드 인스턴스를 최적화한다
EC2에서는 여러 컴퓨팅, 메모리, 스토리지 가운데 하나를 선택해 인스턴스를 구축할 수 있다. EC2는 여기에 더해, 정상 가격보다 저렴한 가격에 어느 때나 제공되는 추가 용량을 의미하는 스폿 인스턴스(Spot Instances)를 제공하고 있다.
 
필요한 컴퓨팅, 메모리, 스토리지의 최적 수준을 판단하기 위해서는 일정 시간을 투자해 자신의 애플리케이션을 실험해봐야 한다. 그러나 이를 통해 용량이나 설정에 과다 지출을 하는 것을 방지할 수 있다. 또한 스폿 인스턴스 등을 이용하면 큰 도움을 받을 수 있다.
 


X