클라우드 애플리케이션 개발을 위해 알아야 할
『 MS 클라우드 기술과 플랫폼』
안준석 @http://vsts2010.net
발표자 소개
안준석 (Ted Ahn) Visual Studio 2010 Community Member KGC2008, 2009 Speaker 前 NHN, Nexon, Webzen 소프트웨어엔지니어
MS 클라우드 컴퓨팅 플랫폼과 기술을 알아 본다 .
MS 클라우드 플랫폼에서 애플리케이션을 개발하기 위한 방법을 소개 한다 .
순서
• MS 의 서비스 살펴보기
• MS 의 클라우드 기술
• Windows Azure Platform– Windows Azure 작동 흐름 보기– Windows Azure 서비스 작동– Windows Azure 서비스 구조 예
• Azure 사용해 보기
• 새로운 기회 Pinpoint & Dallas!
MS 의 서비스 살펴보기MS 에서는 어떤 인터넷 서비스를 하고 있을까 ?
클라우드를 이용한 서비스들
TOP Down Approach
어디서든 웹브라우저로
오피스 문서를 볼 수 있다 .
어디서든 웹브라우저로
내 데이터를 관리할 수 있다 .
어디서든 일관 되게 내
정보를 동기화 할 수 있다 .
애플리케이션을 사용 한다 .
데이터를 저장하고 읽는다 .
정보를 동기화 시킨다 .
인터넷이 연결되어 있다면
언제 어디서든지필요한 만큼
이것들의기반이
[ 클라우드 ?!]
MS 의 클라우드 기술MS 클라우드 기술은 어떻게 만들어 졌을까 ?
각종 클라이언트 도구
왜 클라우드 환경에
맞춰
개발 패러다임을 바꿔야 하는가 ?
DB
무한 성능 확장 컴퓨터
매우 큰 디스크 매우 큰 DB
개발 플랫폼
결국 이게 필요 했던 것 !
매우 큰 네트워크 대역
전산 자원 집약
관리 & 운용
플랫폼화
[Products]
새로운 개념의 사업 , 제품 !
Hyper-V
Dynamic Data Center
SQL Azure
AppFablic
Live Services
Hyper-V 가상화 기술
전산 자원의 추상화 , 가상화
각 종 서비스 제공
마치 STL, .NET 프레임웍
처럼
제공 되는
“ 클라우드 라이브러리” ?
MS 의 서비스를
내 것 처럼 사용할 수 있다 !
Dynamic Data Center
Private 클라우드 툴킷 ?
클라우드 서버 기술과 서비스
Private 클라우드를 위한 !
Public 클라우드를 위한 !
On-Premise + MS Cloud
On-Premise + MS Cloud
On-Premise + MS Cloud
편리한 개발 환경 제공
툴 하나로
코딩 , 디버깅 , 배포 !
플랫폼까지도제공합니다 !
[Azure Plat-form]
Windows Azure Plat-form
MS 클라우드 플랫폼 살펴 보기
MS 최고 아키텍트 한 말씀
• 새로운 컴퓨터‘ 서비스’를 위한 OS‘ 플랫폼’을 위한 OS
클라우드 OS
클라우드 자원을 관리하고 추상화 된 사용 방법을 제공함으로써
컴퓨팅 환경을 제공하는 것
하드웨어
운영체제
애플리케이션
통합된 전산 자원
클라우드 OS
서비스
클라우드 리소스를 운영한다 ?
[ 클라우드OS]
클라우드 OS위의프로그램은 ?
[ 서비스 ]
Windows Azure Platform 구조
운영체제
플랫폼
애플리케이션
보안 , ID 관리서비스 브로커
Windows Azure 작동 흐름 보기
MS 클라우드 OS 는 어떻게 작동 될까 ?
클라우드 OS 에 프로그램 만들기
작동 흐름
FabricController
Web Portal(API)
LB
LB
DNS
YourService
LB
LB
DNS
배포 (Deployment)YourSer-vice
FabricController
Web Por-tal
(API)
Ser-vice
Model
Ser-viceSer-vice
DNSconfig
웹에 업로드 할 패키지 생성
1. 배포 : 패키지 생성
2. 배포 : 웹포탈에 Upload
Production 으로 만듭니다 !
3. 배포 : 서비스 시작 시키기
3. 배포 : 서비스 시작 시키기
LB
LB
DNS
서비스 확장YourSer-vice
FabricCon-
troller
Web Portal(API)
Ser-vice
Ser-vice
Ser-vice
Model
Ser-vice
Ser-vice
Ser-vice
Ser-vice
Ser-vice
LB
LB
DNS
모니터링과 복구Your
Service
FabricCon-
troller
Web Portal(API)
Ser-vice
Ser-vice
Ser-vice
Model !
Service
Windows Azure 에서의 서비스 작동
MS 클라우드 OS 에서 내 서비스는 어떻게 동작하게 될까 ?
Service Roles
• Windows Server 2008 x64
• .NET Start• Native Code• User Mode• Inbound any TCP Port
• Windows Server 2008 x64
• IIS 7• ASP.NET 3.5 SP1• FastCGI – PHP• Native Code• Full Trust• User Mode
Web RoleWorker
Role
Service Roles 사용 예
경매 서비스 예
Web B (port 8081)
Worker X
Worker Y
Worker Z
Web A(port 80)
메인 Web100 instances
운영2 instances
이미지 크기 조절2 instances
경매 처리25 instances
알림 처리10 instances
계산
Compute• .NET 3.5 SP1• Server 2008 – 64bit• Full Trust*• Web Role
• IIS7 Web Sites (ASP.NET, FastCGI)
• Web Services (WCF)
• Worker Role• Stateless Servers• Http(s), TCP
저장Storage
• Blobs• Drives• Tables• Queues• REST interfaces
Windows Azure 서비스 구조 예클라우드 플랫폼 살펴 보기
관계형 DB 를 사용하는 클라우드 웹서비스
관내 시스템에서 클라우드 자원사용
Azure 사용해 보기Hello Cloud!!!
Azure 사용하기
•Live.com 계정등록
•Windows Azure 사용등록
•Token수령 후 등록
사용자 등록•코딩 :
VSTS2010 등에서 CTP 이용해서 개발
•설정 : Open-Closed 원칙
•로컬 테스트•패키징 :
발행. (pub-lishing)
개발
•패키지를 웹에 업로드
•Staging•Produc-
tion
배포
Worker Role 백앤드 작업만 가능 !
Azure 환경 시뮬레이션 ! * 저장 (Storage) * 리소스 관리 (Fabric Con-troller)
Azure 배포하기
http://www.azure.com
• 패키지를 웹에 업로드• Staging• Production
배포
만든 패키지 배포하기 !
Staging -> Production 하면 됨
바로 되진 않고 .. 이런 대기 화면 .. ^^
Production 으로 만듭니다 !
제대로 URL 이 생성 됐습니다 !
http://vsts2010demo.appspot.com
새로운 기회 !Pinpoint, Dallas
Pinpoint
클라우드 기반 앱 스토어 !
Codename “Dallas”
클라우드 기반 데이터 스토어 !
Reference
http://www.msdev.com/http://www.azure.comhttp://pinpoint.microsoft.comhttp://oakleafblog.blogspot.comAzure Platform Training Kit
자료 갱신
http://outbreak.springnote.comhttp://tedahn.tistory.com
http://vsts2010.net
감사합니다 !
안준석 @http://vsts2010.net