주요 내용은 아래와 같습니다.
- 클라우드 컴퓨팅이란
- 마이크로소프트 Azure Services Platform의 의미
- 시나리오 (엔터프라이즈, ISV, Startup, 일반 개발자)
- 현황 및 이슈
관심 있으신 분은 연락주시면 자료를 보내드리도록 하겠습니다.
| |||||||
서버의 아키텍처를 구성할 때 활용하는 방법, 바로 아키텍처 패턴 입니다.
패턴은 소프트웨어 시스템의 컴포넌트, 서브시스템 등을 작성할 때 활용하는 설계도 입니다. 즉, 일반적인 상황에 대한 시스템 구조를 그릴 때 반복적으로 나타나는 유형을 묶어서 패턴이라고 하며, 이후의 유사한 상황에 활용하는 것입니다.
서버 유형, CPU 갯수 등을 포함하여 서버의 아키텍처를 그릴 때 패턴은 계속 활용되고 상세하게 발전할 수 있습니다. 오늘은 서버 아키텍처의 기본적인 패턴을 몇 가지 살펴보겠습니다. 가상화를 사용하고 있다고 가정하여 설명해보겠습니다.
1. 단일 호스트 서버
- Windows Server 2008, Hyper-V를 이용하여 작은 갯수의 가상머신을 운영하는 형태
. 서버 통합됨, 그렇지만 고가용성은 구성되지 않음
. 전원이 문제가 생기거나 호스트 Reboot 때 가상머신에 중단이 생김
. 개발 및 테스트 서버 환경, 소규모 회사, 지사 환경에서 사용
2. 클러스터 환경 (이중 노드)
- 2대의 Windows Server 2008, Hyper-V로 구성되고, iSCSI나 SAN을 이용한 공유 스토리지 사용
. 서버가 통합되고, 고가용성이 구성되어 서버의 안정성 및 가용성이 높음
3. 서버 Farm (다중 노드)
- 여러 대의 Windows Server 2008, Hyper-V로 구성되고, iSCSI나 SAN을 이용한 공유 스토리지 사용
- 하나의 클러스터안에 16개의 노드까지 구성 가능함
. 클라우드 컴퓨팅 등의 환경으로 발전할 수 있는 형태
즉, 고객의 현재 상황에 맞도록 가이드가 가능합니다.
(소규모 기업, 중견 규모 기업, 대기업, 공공기관 / 데이터센터)
마이크로소프트에서는 각 규모에 맞도록 서버 아키텍처 구성에 패턴을 적용할 수 있도록 가이드를 제공합니다.
사이징 역시 가장 큰 골칫거리 중의 하나죠. 이 부분에 대한 가이드도 포함 되어 있습니다.
그중의 하나가 첫째, MAP(Microsoft Assessment & Planning) 둘째가, SVAM(Server Virtualization Advanced Management) 입니다.
전체 글은 파일을 첨부합니다. 다운받아서 읽으시면 됩니다.
Cloud 기반 인프라의 등장
Cloud 기반 인프라가 새로운 핵심으로 등장하고 있습니다. 과연 Cloud 기반 인프라는 무엇일까요? 오늘 전통적인 방식의 인프라와 Cloud 기반 인프라를 접목한 새로운 모델을 제안해 보려고 합니다. 기업의 IT 인프라를 살펴보면 Cloud로 가면 좋을 것과 내부에서 운영하면 좋은 것을 구분할 수 있는데 두 가지 아키텍처상의 Trade Off을 살펴보는 것이 중요합니다. 구체적으로 들어가기 전에 한가지 예를 살펴보겠습니다.
서울에서 부산의 Hyatt 호텔까지 가는 방법
1. 승용차, 편리하지만 경제적으로 비효율적입니다.
2. 대중교통, 즉 기차, 비행기는 약간 불편하지만 가격이 저렴합니다.
그런데 왜 승용차를 이용하는 걸까요? 이유는 하고 싶은 대로 할 수 있기 때문입니다. (통제)
언제 출발 할지, 어디로 갈지(고속도로, 국도, 해안도로 등), 아파트 주차장에서 최종 목적지 Hyatt 호텔 주차장까지 직접 연결된다는 장점이 있죠. 기차의 경우는 정해진 시간표에 맞춰서 기차를 타야 하고, 정해진 경로, 즉 서울역에서 부산역까지 간 후 다시 대중교통을 이용해야 하며, 시끄러운 승객으로 인해 잠을 설칠 수도 있습니다. 장점은 가격이 싸고, 운전할 필요가 없다는 것이겠죠. (규모의 경제)
어떤 수단이 최선인가요? 이건 비용과 하고 싶은 대로 할 수 있는 것 어디에 우선순위를 둘 것이냐에 따라, 상황에 따라 다를 것 입니다. 약간의 비약 같지만, 기차를 클라우드라고 가정하도록 하겠습니다.
Lesson1. 클라우드는 직접 설치(On-Premise), 승용차에 비해 자유도가 떨어지지만, 규모의 경제를 얻을 수 있는 시스템입니다.
서울역에서 부산역까지 역과 역까지만 타고 갈 수 있다면 승용차에 비해 비용 효율적이겠지만 그렇게 매력적이지 않습니다. 원하는 목적지, Hyatt 호텔까지 가려면 버스, 택시, 오토바이, 자전거 등의 다른 운송수단이 필요합니다. 즉, 다양한 교통 수단이 혼합된 하이브리드 형태입니다. 높은 규모의 경제 (기차, 주요 도시간), 중간 정도의 규모의 경제로 (버스), 낮은 규모의 경제지만 최대의 유연성을 가진 택시, 오토바이, 자전거 등이 혼재되어 실 사회를 이루게 됩니다.
Lesson2. 하이브리드 형태를 통해 유연성과 신속성이 보장되면서 규모의 경제 또한 가능하게 됨
지금까지는 사람을 운송하는 이야기를 했지만, 화물에 대해 이야기를 해보면 효율적으로 짐을 싣고 내릴 수 있는 것이 굉장히 중요합니다. 특별한 장비, 및 프로세스가 사용되지 않는다면 싣고 내릴 때 엄청난 비용이 들 수 있습니다. 비용을 줄이는 방법이 바로 표준 컨테이너를 사용하는 방식이죠. 모든 화물을 컨테이너로 운반한다면 다양한 운송수단 간의 적재에 소요되는 비용을 최소화 할 수 있고 정제된 운송 네트웍을 사용할 수 있습니다.
Lesson3. 짐을 싣고 내리는 허브, 컨테이너화 기술을 통해 운송 시스템을 최적화하고, 정보 교환비용을 최소화 할 수 있음
이제 운송수단을 정보 시스템으로 바꾸어서 이야기를 진행해보도록 하겠습니다. 승용차는 On-Premise (직접 설치), 버스 및 택시는 호스팅 (운영 대행), 기차는 클라우드 및 SaaS로 이해를 하시면 됩니다.
앞의 3가지 Lesson을 통한 애플리케이션의 특징은 다음과 같습니다.
1. 전문화를 통한 최적화 (규모의 경제)
2. 유연성과 규모의 경제를 함께 이루는 하이브리드 전략
3. 데이터 교환을 쉽게 가능하도록 함
엔터프라이즈 적용 시나리오, Big Pharma (가상의 제약회사)
엔터프라이즈 기업에서 위와 같은 업무 특성에 맞는 최적화를 어떻게 적용하는지에 대한 글을 적어 보겠습니다.
웹에서 비디오를 서비스하는 것은 가장 일반적인 시나리오 중의 하나가 되었습니다. 상품에 대한 설명 비디오, 동영상 교육 비디오, 광고, UCC 동영상, 뮤지비디오 등 정말 다양합니다.
그런데 한가지 이슈가 있죠. 네트웍 대역폭은 IT에서 가장 비용이 많이 드는 항목 입니다. 또한, 고화질을 원한다면 그 비용은 훨씬 더 비싸지죠.
그렇다면, 위와 같은 동영상을 호스팅 하는 방법과 그 비용을 줄일 수 있는 방법에 관심이 갈 수 밖에 없을텐데요, 그 부분을 오늘 설명드리도록 하겠습니다.
1. 무료 미디어 호스팅 서비스를 사용하는 방법
- YouTube, 마이크로소프트 Silverlight 스트리밍 서비스, NHN의 블로그에 연계하는 방법 등 다양하죠. 즉, 비디오 컨텐츠를 다른 회사의 네트웍을 이용해서, 그 회사가 대역폭 비용을 내도록 하는 방법이죠. 그 회사는 광고등으로 수익을 얻게 되는 방식 입니다. 마이크로소프트의 Silverlight 스트리밍 서비스는 10G의 컨텐츠까지 업로드할 수 있고, 한달에 5TB까지는 무료로 다운로드 가능하도록 제공 되는 서비스 입니다. (최대 1.4 Mbps Bit-rate 제공)
2. 자체 서버에서 미디어를 호스팅 하는 방법
- 미디어에 인증을 부여하고 싶거나, 큰 동영상을 서비스하는 경우, 또는 비디오에 광고를 넣고 싶은 경우에는 직접 호스팅을 하고 싶어질 겁니다. 컨트롤을 해야 하기 때문이죠.
이때는 두가지 옵션이 있습니다.
1) 스트리밍 서버 시나리오
. 스트리밍 시나리오에서는 클라이언트 (Silverlight, 윈도우 미디어 플레이어, 플래쉬 등)가 스트리밍 서버에 연결을 하게 됩니다. 스트리밍 서버가 비디오 스트림을 내려 보내고, 사용자는 앞으로 가거나 뒤로 돌려보기, 정지, 멈춤 등을 자유롭게 할 수 있습니다. 사용자가 브라우저를 닫거나, 다른 페이지로 이동하면 비디오 스트림이 자동적으로 데이터 보내는 것을 멈추게 되죠.
Windows Media Services (WMS)는 윈도우에서 무료로 다운받아 사용할 수 있는 스트리밍 서버이고, 윈도우 미디어 플레이어나 크로스 플랫폼 기능이 제공되는 Silverlight 등의 클라이언트를 사용할 수 있습니다. 웹에서 비디오 스트리밍을 제공할 때 가장 확장성이 뛰어나고 비용 효율적인 방식이며, 온디맨드 스트리밍, 또는 실시간 스트리밍 등의 방식으로도 사용될 수 있습니다. 또한, Windows Server 2008 Web Server 에디션에서도 구동 가능합니다.
2) 프로그레시브 다운로드 시나리오
. 프로그레시브 다운로드 시나리오에서 클라이언트 (플래쉬, Silverlight)는 웹서버에 직접 연결되어 비디오를 다운로드 받기 시작하며, 충분한 양이 다운로드 되면 바로 플레이가 가능합니다. 이 방식의 장점은 웹서버에 설정하는 것이 정말 쉽습니다. 웹서버에 해당 미디어를 복사한 후, URL 주소만 정해지면 클라이언트 비디오 플레이어가 플래이 합니다. 웹서버에 설정이 필요없고, 스트리밍 서버 셋업등의 과정이 불필요합니다.
프로그레시브 방식의 단점은 웹서버가 최대한 빨리 파일이 다운로드 한다는 것입니다. 사용자가 사이트에서 비디오 보기를 클릭하면 웹서버가 클라이언트로 해당 파일을 최대한 빠르게 보내기 시작합니다. 사용자가 처음부터 끝까지 비디오를 본다면 별 문제가 없지만, 비디오를 보다가 중간에 멈추거나, 다른 페이지로 옮겨 가면 보지도 않는 파일이 다운로드가 된다는 불합리한 부분이 있습니다. 보지도 않는데 다운로드 되는 내용이 수 메가바이트나 된다면, 그 만큼의 돈을 낭비하고 있는 셈이 되는거죠.
3. 그래서, IIS7.0 비트 레이트 Throttling 모듈 (Bit Rate Throttling Module)이 있습니다.
- 해당 모듈은 미디어 유형에 관계없이 Bandwidth, 즉 대역폭의 낭비를 막아줍니다. 최초로 마임타입 확인 후, 파일에 대해 Bit-rate 인코딩을 한 후 최초 20초간 플레이 할 수 있는 양의 미디어를 최대한 빠르게 전송합니다. 일단 20초 만큼의 미디어가 다운된 이후 부터는 Bit Rate Throttling 모듈이 전송되는 양을 제어하기 시작합니다. 그러면서, 클라이언트가 플레이어를 멈추거나 다른 페이지로 옮겨가는 것을 모니터링 하다가 사용자가 시청을 멈추는 순간 자동적으로 파일 보내기를 멈추게 하는 역할을 합니다.
예를들면, 35MB짜리 비디오 파일이 500Kbps의 속도로 인코딩되어 상영되면, IIS는 20초에 해당하는 만큼의 파일을 즉시 내려보낸 후 (20초 * 500Kbps, 1.25MB), 이후에는 초당 500Kbps의 컨텐츠를 내려보냅니다. (20초 만큼의 버퍼만 갖도록 유지, 사용자가 보다가 버퍼링이 일어나지 않도록 하기 위함)
만약, 1분 후에 사용자가 비디오 보기를 멈추거나 다른 페이지로 옮겨 가면, IIS가 상황을 인지하고 컨텐츠 전송을 멈추게 됩니다. IIS는 단지 80초에 해당하는 비디오만 다운로드 했기 때문에 전체 35MB 중 (5M, 즉 80초 * 500kbps)의 대역폭만 사용한 셈이 되는 것이죠. 이 30MB가 수백번 반복 된다면 대역폭, 즉 비용을 엄청나게 절약할 수 있게 되는 것입니다.
ScottGu's의 블로그를 참고하여 글을 정리하였습니다.
온실가스, 탄소배출량 절감 등의 그린 IT 개념이 등장한지 벌써 꽤 많은 시간이 지난 것 같습니다. 지금까지 그린 IT하면 서버, 네트웍 장비, 스토리지 등의 저전력 하드웨어를 통해서만 가능한 것처럼 인식되었습니다. 하지만, 마이크로소프트는 소프트웨어를 활용한 그린 IT가 가능한 전략을 가지고 있고, 내부적으로 적용하여 효과를 얻고 있습니다. 이름하여, 그린 컴퓨팅 전략 입니다.
대한민국의 총 전기 생산량이 100이라고 가정하면, 화력발전을 통해 얻어지는 전기가 몇 정도 될까요? 놀랍게도 63.1 정도, 즉 63%에 육박합니다. 화력발전은 석탄, 석유, 천연가스를 태워서 물을 끊인 다음 터빈을 돌려서 전기를 생산합니다. 국내 보령화력발전소의 경우 하루 약 3만톤의 석탄을 사용하고, 24시간에 7만3천톤의 이산화탄소를 배출합니다. 이 정도의 이산화탄소를 분해하려면 하루에 잣나무 2,238만 9400그루를 심어야 한다고 하죠. 엄청나지 않습니까? 결국 나무로는 해결이 불가능 합니다. 우리가 할 수 있는 건 전기 사용을 줄이는 방법이 최선이라고 할 수 있죠. 마이크로소프트가 사용하는 전략은 크게 3가지 입니다.
줄이고, 관리하고, 다시 생각하자
1. 줄이고
- Windows Server 2008은 Windows Server 2003에 비해 10% 에너지 효율성 ↑
- 가상화를 통한 자원 최적화
. 가상화 ROI 계산 도구 (무료)
- 가이드 및 교육
. Assessment & Planning Toolkit (무료) : 도구를 통해 전원관련 설정 가이드 제공
. 데이터센터 베스트 프랙티스 제공
2. 관리하고
- 에너지 낭비요인 줄이기 "측정할 수 없으면 개선할 수 없다"
- 10~30% 서버는 아무일도 하지 않고 전원을 공급받는 상태 (미국, Uptime Institute 조사)
- System Center Configuration Manager, Virtual Machine Manager, Operation Manager등
3. 다시 생각
- 환경 오염을 줄이고, 생산성 향상 시키는 방안을 늘 고민하고 적용하려고 해야 함
마이크로소프트가 위의 전략에 의해 실제 운영환경의 물리적인 서버, 477대를 16대의 서버로 줄여 약 2백만불 (24억)의 비용 절감 효과, 19TB의 디스크 공간을 8TB로 줄여 11TB의 절감 효과, 30개의 Rack을 단 2개로 줄였으며, 525 암페어의 전력 사용량을 8 암페어로 줄이는 효과를 직접 체험하였음
위와 같은 노력이 실제로 어느 정도의 탄소배출량을 절감하는지에 대한 수치를 산출하여 대외에 알리는 노력이 그린 활동의 중요한 실행, 집행 이라고 생각합니다.
클라우드 컴퓨팅은 “애플리케이션을 개발하거나 서비스할 때 서버나 스토리지 등 컴퓨팅 자원등을 자체적으로 보유하기 보다 이 같은 자원을 갖고 있는 클라우드 컴퓨팅 플랫폼 제공자를 통해 운용하는 것을 의미합니다.” 즉, 우리 나라의 천재 개발자가 마이크로소프트의 메일 서비스인 핫메일에 대응하는, 즉 전 세계인을 상대로 한 메일 서비스를 개발하고자 할 때, 장애 요인은 수억 명의 사용자를 대상으로 메일을 서비스 하기 위해 필요한 네트웍 장비, 웹서버, 데이터베이스 서버, 막대한 양의 스토리지를 확보하기 어렵기 때문입니다. 동시에 메일 시스템을 사용하는 사용자가 100명, 200명 일 때는 큰 문제 없이 서비스가 가능하겠지만 10만명, 100만명, 1,000만명으로 늘어나면 하드웨어 시스템을 감당하기가 어려울 것 입니다. 하지만, 클라우드 컴퓨팅 플랫폼 제공자는 아무리 많은 사용자라도 서비스할 수 있는 인프라를 보유하고 있기에 개발 능력만 보유하고 있다면 전 세계를 상대로 서비스를 판매할 수 있는 새로운 돌파구가 열리는 것을 가능하게 합니다.
클라우드 컴퓨팅이 적용된 실제 사례는 바로 이 사진 사이트, 즉 Smugmug (www.smugmug.com) 가 대표적입니다. 이 사이트는 클라우드 컴퓨팅 인프라를 이용해 개발되었습니다. 사이트 개발 시 사용한 만큼만 비용을 지불하는 방식이었기에 인프라 비용, 즉 서버, 스토리지, 네트웍 장비 등의 하드웨어 구입 비용이 전혀 들지 않았고, 즉 투자 비용이 없이도 사이트를 개설할 수 있었고 전세계의 사용자를 대상으로 서비스를 하고 있으며 현재 315,000명의 유료 사용자를 확보하여 큰 수익을 올리고 있습니다. 클라우드 컴퓨팅을 이용하면, 국내의 개발자가 인프라 투자 비용 없이도 아이디어 및 개발 능력만 보유하고 전세계를 상대로 비즈니스를 할 수 있게 되는 것 입니다.
메릴린치 보고서에 의하면 2020년 클라우드 컴퓨팅은 약 1,000억불, 100조원의 시장이 될 것이라고 예측되고 있습니다. 이 중의 10%, 아니 1%만 확보할 수 있어도 1조원이나 되는 방대한 시장입니다. 클라우드 컴퓨팅에 대한 정부, 산업계, 학계의 집중적인 관심과 투자가 필요하다고 생각합니다.
감사합니다.