WINDOWS AZURE를 활용
한 CLOUD 개발 사례


WINDOWS AZURE MVP
CONTENTSTORY / INHA UNIV. ICE
NAM JEONG HYUN
AGENDA
Windows Azure
Phone N Use
TRENDBOT
iNEAT VOD Service
WINDOWS AZURE
Is a cloud computing “Platform”
-   Software as a Service
-   Computing Service
-   Storage Service (BLOB/Queue/Table)
-   Relational Database (SQL Azure)
WINDOWS AZURE
Windows Azure is not a kind of web hosting!
• 분기, 연 단위 계약 vs. 실시간 사용량 과금
• 단순 호스팅 위주의 서비스 vs. 다양한 Application
• 관리에 대한 노력 필요 vs. 자동화된 관리
• 단일 서버 중심 vs. 로드 밸런싱 중심
WINDOWS AZURE
Why you’ll loving it
• 물리적 서버 인프라와의 결합도를 감소(Decoupling)
• 복잡한 웹 서비스나 미들웨어에 최대한의 확장성 부여
• 복잡한 요구 사항을 지원하는 다양한 자체 서비스들
   • Storage 서비스, 웹 인증 서비스, Service Bus 등
• JAVA (ECLIPSE), NODE.JS, PHP에 대한 지원
  • C, C++을 기반으로 하는 64비트 네트워크 서버도 활용 가
    능
• 자동화된 관리 기술의 혜택 (자동 업데이트, 안티바이러스)
SECTION 1




PHONE N
USE
ABOUT PHONE N USE
국민으로서 인정받고 보호받을 수 있기 위해서는 출생 등록이 필수
적
그러나 상상외로 출생 등록의 혜택을 받지 못하는 소외 계층이 존
재
Imagine Cup 2010의 Theme에 입각하여 기술적으로 이러한 문제
를 해결하고자 함
Cloud Computing과 일반 전화라는 서로 다른 통신 기술의 결합
Imagine Cup 2010 Software Design 국가 대표 선발 1위 입상
PHONE N USE

                 Web
                 Role

      Storage             Worker
      Service              Role
                Phone N
                  Use
       SQL                Smart
       Azure              Client

                TROPO
WEB ROLE
사용한 기술
• 인터넷 정보 서비스 7.5
• .NET 프레임워크 4.0
• 실버라이트 4
주요 기능
• 실버라이트 앱 호스팅
• SQL Azure와 실버라이트 간 연동을 위한 WCF 서비스
• TROPO와 Azure BLOB Storage간 연동을 위한 JSON API
WORKER ROLE
사용한 기술
• 윈도 서버 2008 R2
• .NET 프레임워크 4.0
• 자바 런타임 7
주요 기능
• 큐 스토리지에 저장한 데이터 처리
• 음성 인식 처리 (자바 오픈 소스 / 스핑크스 엔진)
SMART CLIENT
사용한 기술
• Windows Forms 2.0
• Microsoft Tag 웹 서비스
• SQL Server Compact Edition 3.0
• 추가 하드웨어: 지문인식기
주요 기능
• 오프라인 등록증 발급
• 전화로 수집이 어려운 지문이나 문서를 수집
• 인터넷이 없는 환경에서의 출생 등록 업무 지원
TROPO
사용한 기술
• Java 기반 Python
• XML RPC 통신
주요 기능
• 일반 전화를 통한 출생 등록 지원
• Skype, Phono 등을 이용한 다양한 통신
SQL AZURE &
STORAGE SERVICE
사용한 기술
• SQL Azure Database Web Edition
• BLOB, Queue Storage
• CDN Service
주요 기능
• 음성, 지문과 같이 일정한 크기의 바이너리 데이터를 저장
• 큐 스토리지에 요청을 쌓아놓고 꺼내서 처리 (통신 기능)
• CDN을 사용하여 전 세계 어디서나 빠르게 다운로드
SECTION 1




DEMO:
TROPO
                 CALL / +1 (206) 504-2301
            SKYPE / +990009369996165921
SECTION 2




TRENDBOT
TWITTER BOT?
스스로 메시지를 지정된 Twitter 계정에 올리는 자동화된
Application
다양한 종류와 행동 양식을 가지고 인터넷 상에서 실행 중…
TWITTER BOT의 사례 –
서울날씨봇
TWITTER BOT의 사례 –
TRENDBOT
TWITTER BOT의 사례 –
GOOGLE의 FEED
BURNER
HOW IT WORKS
Step 1: Twitter Account 생성
Step 2: Twitter API Key & Secret Key 확인
Step 3: O-Auth를 이용한 인증 수행
Step 4: Background Worker 만들기
Step 5: Worker Role로 변환하기
SECTION 2




DEMO:
TRENDBOT
            Desktop: http://www.twitter.com/trendbot4
                Mobile: http://m.twitter.com/trendbot4
SECTION 3




INEAT VOD
SERVICE
ABOUT INEAT
국가영어능력평가 모의고사 서비스를 제공하는 회사
영어 학습 컨텐츠와 IT 기술 접목을 다양하게 연구 중
http://www.ineat.co.kr/
SERVICE PROFILE
한국교육방송공사 (EBS) NEAT 서비스 운영 (Private Cloud)
• http://neat.ebslang.co.kr/
한국외국어평가원 (PELT) NEAT 서비스 운영 (Private Cloud)
• http://www.peltibt.co.kr/
한국기초학력평가원 (KISAT) 자격검정 운영 (Private Cloud)
• http://www.kisat.or.kr/
uNEAT VOD 서비스 제공 (Windows Azure)
• http://univod.ineat.co.kr/
ADAPTIVE STREAMING
기존 방식
• 동영상을 300K, 500K로 인코딩 후 CDN에 게시
• 사용자의 네트워크 상황에 따라 버퍼링이 발생할 수 있음
• 빠른 Skip이 어려움
ADAPTIVE STREAMING
Smooth Streaming / Adaptive Streaming
• 동영상을 최저 / 최고 Bandwidth 설정 후 여러 버전으로 인코딩
• 각 동영상을 Fragment 별로 나누어 저장
• 사용자의 네트워크 상황에 맞는 동영상 버전을 매 순간 동적으
  로 선택
• 임의의 위치로 Skip이 빠르게 가능 / Slow Motion
ADAPTIVE STREAMING
일반적인 동영상은 스트리밍 대상을 VBR로 인코딩
Adaptive Streaming은 다음의 규칙을 사용
• 동영상을 다양한 대역폭으로 다중 인코딩
• 각 동영상 파트를 세그먼트 단위로 분할
• 최종 정보를 제공하는 XML 형식의 매니페스트 추가
기본적으로는 IIS 7의 Media Service 확장
• 별도의 Tool을 사용하여 IIS 없이 Hosting하도록 소스 변환
ADAPTIVE STREAMING
Step 1: 캠코더 등을 이용하여 원본 동영상 촬영
Step 2: DAUM POT Encoder 등을 사용하여 AVI 포맷으로 변환
Step 3: 무료 버전의 Expression Encoder 4를 설치
• Silverlight Project 생성
• AVI 동영상을 프로젝트에 추가
• Smooth Streaming 인코딩 템플릿을 적용
Step 4: 완성된 Smooth Streaming Set을 BLOB Storage에 게시
• IIS Media Service 파일들을 Flat File로 변환하는 Tool 필요
• http://code.msdn.com/streamingazure
ADAPTIVE STREAMING


RAW VIDEO   ISM/ISMC &       Manifest &
            ISMV             Fragments


  • 원본         • IIS Media      • Flat File
                 Service          for Azure
                 Files            (IIS Media
                                  Service
                                  Emulation)
SECTION 3




DEMO:
INEAT VOD
SERVICE
            http://univod.ineat.co.kr/Default.htm
LET’S GET STARTED
개발 툴
• .NET 개발자: Visual Web Developer Express 2010
• Java 개발자: Eclipse & Java S아
지원되는 Tool Kit
• .NET: Windows Azure SDK Client Library
• Java: Windows Azure SDK for Java
• Node.js: Windows PowerShell & Node.JS S아
• PHP: Windows Azure SDK for PHP
LET’S GET STARTED
http://www.windowsazure.com 에서 Trial 신청
http://www.microsoft.com/web 에서 개발 툴과 Azure SDK 설치
FURTHER INFORMATION
★ 중스의 클라우드 이야기
• http://blogs.msdn.com/b/jspark/
★ Windows Azure Café
• http://cafe.naver.com/wazure
★ 남정현의 Windows Azure 블로그
• http://www.rkttu.com/
★ Windows Azure Korea Facebook Group
• http://www.facebook.com/groups/krazure/
QUIZ
WINDOWS AZURE에서는 VISUAL STUDIO만 사용해
서 클라우드 앱을 개발할 수 있다?
THANKS TO
ATTENDING!
MAILTO: RKTTU@RKTTU.COM
Windows azure를 활용한 cloud 개발 사례

Windows azure를 활용한 cloud 개발 사례

  • 2.
    WINDOWS AZURE를 활용 한CLOUD 개발 사례 WINDOWS AZURE MVP CONTENTSTORY / INHA UNIV. ICE NAM JEONG HYUN
  • 3.
    AGENDA Windows Azure Phone NUse TRENDBOT iNEAT VOD Service
  • 4.
    WINDOWS AZURE Is acloud computing “Platform” - Software as a Service - Computing Service - Storage Service (BLOB/Queue/Table) - Relational Database (SQL Azure)
  • 5.
    WINDOWS AZURE Windows Azureis not a kind of web hosting! • 분기, 연 단위 계약 vs. 실시간 사용량 과금 • 단순 호스팅 위주의 서비스 vs. 다양한 Application • 관리에 대한 노력 필요 vs. 자동화된 관리 • 단일 서버 중심 vs. 로드 밸런싱 중심
  • 6.
    WINDOWS AZURE Why you’llloving it • 물리적 서버 인프라와의 결합도를 감소(Decoupling) • 복잡한 웹 서비스나 미들웨어에 최대한의 확장성 부여 • 복잡한 요구 사항을 지원하는 다양한 자체 서비스들 • Storage 서비스, 웹 인증 서비스, Service Bus 등 • JAVA (ECLIPSE), NODE.JS, PHP에 대한 지원 • C, C++을 기반으로 하는 64비트 네트워크 서버도 활용 가 능 • 자동화된 관리 기술의 혜택 (자동 업데이트, 안티바이러스)
  • 7.
  • 8.
    ABOUT PHONE NUSE 국민으로서 인정받고 보호받을 수 있기 위해서는 출생 등록이 필수 적 그러나 상상외로 출생 등록의 혜택을 받지 못하는 소외 계층이 존 재 Imagine Cup 2010의 Theme에 입각하여 기술적으로 이러한 문제 를 해결하고자 함 Cloud Computing과 일반 전화라는 서로 다른 통신 기술의 결합 Imagine Cup 2010 Software Design 국가 대표 선발 1위 입상
  • 9.
    PHONE N USE Web Role Storage Worker Service Role Phone N Use SQL Smart Azure Client TROPO
  • 10.
    WEB ROLE 사용한 기술 •인터넷 정보 서비스 7.5 • .NET 프레임워크 4.0 • 실버라이트 4 주요 기능 • 실버라이트 앱 호스팅 • SQL Azure와 실버라이트 간 연동을 위한 WCF 서비스 • TROPO와 Azure BLOB Storage간 연동을 위한 JSON API
  • 11.
    WORKER ROLE 사용한 기술 •윈도 서버 2008 R2 • .NET 프레임워크 4.0 • 자바 런타임 7 주요 기능 • 큐 스토리지에 저장한 데이터 처리 • 음성 인식 처리 (자바 오픈 소스 / 스핑크스 엔진)
  • 12.
    SMART CLIENT 사용한 기술 •Windows Forms 2.0 • Microsoft Tag 웹 서비스 • SQL Server Compact Edition 3.0 • 추가 하드웨어: 지문인식기 주요 기능 • 오프라인 등록증 발급 • 전화로 수집이 어려운 지문이나 문서를 수집 • 인터넷이 없는 환경에서의 출생 등록 업무 지원
  • 13.
    TROPO 사용한 기술 • Java기반 Python • XML RPC 통신 주요 기능 • 일반 전화를 통한 출생 등록 지원 • Skype, Phono 등을 이용한 다양한 통신
  • 14.
    SQL AZURE & STORAGESERVICE 사용한 기술 • SQL Azure Database Web Edition • BLOB, Queue Storage • CDN Service 주요 기능 • 음성, 지문과 같이 일정한 크기의 바이너리 데이터를 저장 • 큐 스토리지에 요청을 쌓아놓고 꺼내서 처리 (통신 기능) • CDN을 사용하여 전 세계 어디서나 빠르게 다운로드
  • 15.
    SECTION 1 DEMO: TROPO CALL / +1 (206) 504-2301 SKYPE / +990009369996165921
  • 16.
  • 17.
    TWITTER BOT? 스스로 메시지를지정된 Twitter 계정에 올리는 자동화된 Application 다양한 종류와 행동 양식을 가지고 인터넷 상에서 실행 중…
  • 18.
    TWITTER BOT의 사례– 서울날씨봇
  • 19.
  • 20.
    TWITTER BOT의 사례– GOOGLE의 FEED BURNER
  • 21.
    HOW IT WORKS Step1: Twitter Account 생성 Step 2: Twitter API Key & Secret Key 확인 Step 3: O-Auth를 이용한 인증 수행 Step 4: Background Worker 만들기 Step 5: Worker Role로 변환하기
  • 22.
    SECTION 2 DEMO: TRENDBOT Desktop: http://www.twitter.com/trendbot4 Mobile: http://m.twitter.com/trendbot4
  • 23.
  • 24.
    ABOUT INEAT 국가영어능력평가 모의고사서비스를 제공하는 회사 영어 학습 컨텐츠와 IT 기술 접목을 다양하게 연구 중 http://www.ineat.co.kr/
  • 25.
    SERVICE PROFILE 한국교육방송공사 (EBS)NEAT 서비스 운영 (Private Cloud) • http://neat.ebslang.co.kr/ 한국외국어평가원 (PELT) NEAT 서비스 운영 (Private Cloud) • http://www.peltibt.co.kr/ 한국기초학력평가원 (KISAT) 자격검정 운영 (Private Cloud) • http://www.kisat.or.kr/ uNEAT VOD 서비스 제공 (Windows Azure) • http://univod.ineat.co.kr/
  • 26.
    ADAPTIVE STREAMING 기존 방식 •동영상을 300K, 500K로 인코딩 후 CDN에 게시 • 사용자의 네트워크 상황에 따라 버퍼링이 발생할 수 있음 • 빠른 Skip이 어려움
  • 27.
    ADAPTIVE STREAMING Smooth Streaming/ Adaptive Streaming • 동영상을 최저 / 최고 Bandwidth 설정 후 여러 버전으로 인코딩 • 각 동영상을 Fragment 별로 나누어 저장 • 사용자의 네트워크 상황에 맞는 동영상 버전을 매 순간 동적으 로 선택 • 임의의 위치로 Skip이 빠르게 가능 / Slow Motion
  • 28.
    ADAPTIVE STREAMING 일반적인 동영상은스트리밍 대상을 VBR로 인코딩 Adaptive Streaming은 다음의 규칙을 사용 • 동영상을 다양한 대역폭으로 다중 인코딩 • 각 동영상 파트를 세그먼트 단위로 분할 • 최종 정보를 제공하는 XML 형식의 매니페스트 추가 기본적으로는 IIS 7의 Media Service 확장 • 별도의 Tool을 사용하여 IIS 없이 Hosting하도록 소스 변환
  • 29.
    ADAPTIVE STREAMING Step 1:캠코더 등을 이용하여 원본 동영상 촬영 Step 2: DAUM POT Encoder 등을 사용하여 AVI 포맷으로 변환 Step 3: 무료 버전의 Expression Encoder 4를 설치 • Silverlight Project 생성 • AVI 동영상을 프로젝트에 추가 • Smooth Streaming 인코딩 템플릿을 적용 Step 4: 완성된 Smooth Streaming Set을 BLOB Storage에 게시 • IIS Media Service 파일들을 Flat File로 변환하는 Tool 필요 • http://code.msdn.com/streamingazure
  • 30.
    ADAPTIVE STREAMING RAW VIDEO ISM/ISMC & Manifest & ISMV Fragments • 원본 • IIS Media • Flat File Service for Azure Files (IIS Media Service Emulation)
  • 31.
    SECTION 3 DEMO: INEAT VOD SERVICE http://univod.ineat.co.kr/Default.htm
  • 32.
    LET’S GET STARTED 개발툴 • .NET 개발자: Visual Web Developer Express 2010 • Java 개발자: Eclipse & Java S아 지원되는 Tool Kit • .NET: Windows Azure SDK Client Library • Java: Windows Azure SDK for Java • Node.js: Windows PowerShell & Node.JS S아 • PHP: Windows Azure SDK for PHP
  • 33.
    LET’S GET STARTED http://www.windowsazure.com에서 Trial 신청 http://www.microsoft.com/web 에서 개발 툴과 Azure SDK 설치
  • 34.
    FURTHER INFORMATION ★ 중스의클라우드 이야기 • http://blogs.msdn.com/b/jspark/ ★ Windows Azure Café • http://cafe.naver.com/wazure ★ 남정현의 Windows Azure 블로그 • http://www.rkttu.com/ ★ Windows Azure Korea Facebook Group • http://www.facebook.com/groups/krazure/
  • 35.
    QUIZ WINDOWS AZURE에서는 VISUALSTUDIO만 사용해 서 클라우드 앱을 개발할 수 있다?
  • 36.