50

Social game and windows azure platform (final)

Embed Size (px)

DESCRIPTION

Social game and windows azure platform (final)

Citation preview

Page 1: Social game and windows azure platform (final)
Page 2: Social game and windows azure platform (final)

Social Game andWindows Azure Platform

COREBANK / Visual C# MVP 2010Windows Azure Café & DEVPIA C# Forum SYSOP

Visual Studio 2010 Korea Blog MemberNam Jeong Hyeon

Page 3: Social game and windows azure platform (final)

ContentsO FarmVille 의 사례O Windows Azure Platform 의 주요 기술O 상호운용 기술에 대한 소개O 동적으로 관리되는 시스템 스케일O Social API 를 사용한 Mash-up 사례O Contents Delivery Network 의 활용

Page 4: Social game and windows azure platform (final)

FarmVille 의 사례Chapter 1

Page 5: Social game and windows azure platform (final)

Social Network GameO Social Network Service 의 성공에 기반O Mobile 에서도 즐기는 것이 가능O 무엇보다도 “ Game”!

Page 6: Social game and windows azure platform (final)

Social Network GameO Competition Game, Cooperative Game 등

다양한 유형의 Game 이 존재O Game 의 결과가 누적되고 지속적으로 공유될

수 있으므로 Steady User 를 형성O SNG 자체는 가벼운 Game Contents 를

기반으로 남녀노소 누구나 참여 가능

Page 7: Social game and windows azure platform (final)

Social Network GameO SNG 의 성공에 힘입어 , 기존의 대작

게임에도 이러한 성향이 반영되기 시작함O 예 : STARCRAFT 2 의 경우 Facebook

Chatting 을 지원하고 , 업적을 공유

Page 8: Social game and windows azure platform (final)

STARCRAFT2 Example

Page 9: Social game and windows azure platform (final)

About FarmVilleO http://www.farmville.com/O Zynga Networks 에서 개발한 SNGO 한달 총 사용자 : 83,750,000O Facebook 의 친구 관계를 기반으로 진행O Café World 와 Social City 또한 대표적

SNG

Page 10: Social game and windows azure platform (final)

FarmVille’s ChallengeO 초기에는 단순한 형태의 웹 서비스로 시작O 시간이 갈 수록 Facebook 과의 다양한

Transaction 교류가 발생하고 Traffic 증가O 꾸준히 증가하는 Traffic 을 소프트웨어적으로

대응O Linux 기반 Virtualization 기술을 기반으로

Dynamic Scale Up/Down 을 구현

Page 11: Social game and windows azure platform (final)

FarmVille’s ChoiceO LAMP based Service (Linux + Apache

HTTP Server + MySQL + PHP)O Web Cache with MEMCACHEDO Load Balancing, Dynamic Feature Man-

agement

Page 12: Social game and windows azure platform (final)

FarmVille got win!O 제한된 하드웨어를 효율적으로 활용O 환경 설정에 대한 의존성 최소화O 사용량에 따른 동적 System Scale 관리O 하드웨어 관리 비용 절감O 개발 효율성 증대 및 서비스 개선 집중O 게임 운영을 위한 Private Cloud 구축 사례

Page 13: Social game and windows azure platform (final)

Windows Azure Plat-form 의 주요 기술

Chapter 2

Page 14: Social game and windows azure platform (final)

그렇다면… 혹시 ?!O 웹 기술 말고도 가상화 기술까지 터득해야 ?O 자체 데이터센터를 운영해야만 하는가 ?O Cloud Computing 을 위한 기술을 새로

이해하고 배워야 하나 ?O 프로그래밍 언어나 개발 도구는 못쓰나 ?O 기존의 기술들은 전부 버리나 ?

Page 15: Social game and windows azure platform (final)

걱정하지 마십시오 !O 운영에 대한 모든 고민을 Public Cloud

Computing 에 맡겨 주세요 .O 중요한 자산과 개인 정보는 여러분의 DB 에

보관하면 됩니다 .O 그저 Game Contents 에 대한 애정만을 듬뿍

담아 User 에게 전달하기만 하십시오 .O Windows 기반의 Platform 을 사용하신다면

Windows Azure 는 Best Choice 입니다 .

Page 16: Social game and windows azure platform (final)

Windows AzureO Microsoft 의 Infra-as-a-Service / Platform-

as-a-Service 전략O 4 세대 데이터 센터를 기반으로 구현

O 주요 대륙 및 거점 지역에 데이터 센터 배치O 아시아의 경우 홍콩 데이터 센터 경유

O Contents Delivery NetworkO 최근에 대한민국 서울 경유 회선을 추가

Page 17: Social game and windows azure platform (final)

Windows Azure

Page 18: Social game and windows azure platform (final)

Windows AzureO Application Hosting

O Windows Azure ComputeO Data Storage Service & CDN

O Windows Azure StorageO Relational Database Management System

O SQL AzureO Service Bus (Network Integration)

O Windows Azure AppFabric: Service BusO Claim-based Authentication

O Windows Azure AppFabric: Access Control

Page 19: Social game and windows azure platform (final)

Windows Azure

Page 20: Social game and windows azure platform (final)

Compute ServiceO 주요 기술적 특징

O Windows Server 2008 R2 Code-basedO X64 기반 Virtualization 을 바탕으로 서비스

제공O .NET Framework 3.5 SP1 / 4.0 지원O 32 비트 응용프로그램 실행 가능

O 구성 요소O IIS 7.5 를 기본 내장하는 Web RoleO 표준 Windows Server 2008 R2 구성과 같은

Worker Role

Page 21: Social game and windows azure platform (final)

Windows Azure based Guestbook Sample

Demonstration

With Pre-built sample

Page 22: Social game and windows azure platform (final)

About SQL AzureO SQL Server 2008 R2 를 기반으로 작성O Cloud Computing 환경에 맞는 비용 책정과

서비스 운용 방식을 지원O SQL Azure 고유의 비즈니스 데이터 형식을

지원 ( 예 : Geographic, Tree Type)

Page 23: Social game and windows azure platform (final)

About SQL Azure시나리오 A

• 전통적인 SQL 서버 접속 방식 사용• SSL 을 통한 보안 강화

• 2-Tier Model 구현

시나리오 B

• Rich Internet Application 의 경우 해당• Windows Azure Compute 서비스 경유

• 3-Tier Model 구현

Page 24: Social game and windows azure platform (final)

Migrating to SQL Azure: How toDemonstration

With Management Studio Express 2008 R2

Page 25: Social game and windows azure platform (final)

상호운용기술에 대한 소개Chapter 3

Page 26: Social game and windows azure platform (final)

Windows Azure

Page 27: Social game and windows azure platform (final)

Windows AzureO Windows Server 2008 R2 기반

O Native Application 의 실행을 지원O Python, Perl, Java, Ruby 등 Windows

환경에서 사용 가능한 다양한 언어를 지원O Fast CGI 기반의 응용프로그램 작성

O Web Role 선택 추천O 독립 네트워크 서버의 경우

O Worker Role 선택 추천

Page 28: Social game and windows azure platform (final)

Windows AzureO SOYATEC 과 Microsoft 의 협력

O Eclipse Galileo (PDT) 기반O Windows Azure SDK 1.1 기반O PHP 기반의 개발 환경O http://www.windowsazure4e.org/

O Silverlight Tools for Eclipse 와 함께 사용하면 RIA 개발 또한 통합 가능O http://www.eclipse4sl.org/

Page 29: Social game and windows azure platform (final)

SQL AzureO SQL Azure Supports

O PHP Database Connectivity (Driver DLL)O ODBC (via Native Client), ADO.NETO JDBC Driver

O 데이터베이스 확장 비용이 고민인 경우 , 단순히 데이터베이스만 Cloud 로 이행 가능

O 시스템 투명성을 보장하므로 복잡한 설정이 필요 없음

Page 30: Social game and windows azure platform (final)

실전 예제 : TCP 서버의 Cloud 환경 입주

Demonstration

열혈강의 TCP/IP 소켓 프로그래밍윤성우 저 / 505p + 519p

Page 31: Social game and windows azure platform (final)

동적으로 관리되는시스템 스케일

Chapter 4

Page 32: Social game and windows azure platform (final)

매우 어려운 문제 중 하나

Qtr #1 Qtr #2 Qtr #3 Qtr #40

1

2

3

4

5

6

7

8

9

ABCD

Page 33: Social game and windows azure platform (final)

매우 어려운 문제 중 하나O 시스템 스케일을 동적으로 늘이거나 줄일 수

있으려면 매우 완벽하게 설계해야O 그러나 시간은 한정되어있고 시장은 빠르게 변하며 사용자는 기다려주지 않는다 .

O FarmVille처럼 완벽한 아키텍처를 만드는 것은 더더욱 힘들다 .

O 그렇다면 ? - Windows Azure Platform 이 이런 부분도 처리해주나요 ?

Page 34: Social game and windows azure platform (final)

Windows Azure Dy-namic Scaling Sample

Demonstration

With Windows Azure Dynamic Scaling Samplehttp://code.msdn.microsoft.com/azurescale

Page 35: Social game and windows azure platform (final)

Social API 를 사용한 Mash-up 사례

Chapter 5

Page 36: Social game and windows azure platform (final)

Facebook ApplicationO Facebook 의 기본 인증 시스템 및 사용자

정보 API 를 기초로 제공O Facebook 내부 /외부에서 여러분의 Appli-

cation 이 Facebook 과 상호 작용O 사용자 간의 메시지 주고 받기 , 정보

공유하기 등을 부여할 수 있음

Page 37: Social game and windows azure platform (final)

국내의 가까운 사례O NATE App-Store ≠ Mobile App-Store

O CYWORLD API 를 기반으로 함O 일촌 관계를 바탕으로 함O App-Store 사이트를 기반으로 실행

O두 서비스 모두 Unity 3D 와 같이 이식이 쉬운 게임 개발 환경이 많은 인기를 누림

Page 38: Social game and windows azure platform (final)

ASP.NET MVC meets Facebook Application

Demonstration

Page 39: Social game and windows azure platform (final)

Contents Delivery Net-work 의 활용

Chapter 6

Page 40: Social game and windows azure platform (final)

Windows Azure StorageO 2차원 행렬 데이터의 보관

O Table StorageO 작은 파일 , 큰 파일의 보관

O BLOB StorageO 실시간 Queue 기반 입출력

O Queue StorageO Microsoft VHD 기반 NTFS 입출력

O Windows Azure Drive (Codename: X-Drive)

Page 41: Social game and windows azure platform (final)

Contents Delivery Network

O Windows Azure Storage 를 기반으로 BLOB Storage 상의 Contents 대상

O Smooth Streaming 구현 시 특히 유용O Command Line / Expression Encoder

Plugin 활용 가능O Silverlight 기반 동영상 서비스 제공 가능

Page 42: Social game and windows azure platform (final)

Smooth Streaming with Windows Azure CDN

Demonstration

With Expression Encoder 4 and Plug-inFeaturing: Big Buck Bunny (Trailer)

Page 43: Social game and windows azure platform (final)

결론Conclusion

Page 44: Social game and windows azure platform (final)

SummaryO Windows 기반 서버 응용프로그램을

개발했다면 적절한 Role 유형을 정하십시오 .O 32 비트에서 64 비트 환경으로 서버

응용프로그램을 이관하십시오 .O 서비스를 신청하고 , 완성한 CSPKG 파일을

Azure Platform 에 올리십시오 .O잠시 후면 여러분은 ZYNGA Networks 와

같이 성공할 준비가 된 것입니다 .

Page 45: Social game and windows azure platform (final)

SummaryO Windows 운영 체제와 함께 시작하기로 한

여러분의 선택은 탁월합니다 .O Windows Azure 와 함께 손쉽고 빠르게

Cloud Computing 환경으로 이동할 수 있습니다 .

O Cloud 를 위한 Solution 을 만들지 마십시오 . 옮기는 것만으로도 충분합니다 .

O 언어나 개발 도구를 버리는 일은 절대 없을 것입니다 .

Page 46: Social game and windows azure platform (final)

Need more information?

O 남정현의 Cloud & .NET BlogO http://www.rkttu.com/

O Microsoft Korea 박중석 대리님의 BlogO http://www.jspark.net/

O Visual Studio 2010 Korea BlogO http://www.vsts2010.net/

O Windows Azure CaféO http://cafe.naver.com/wazure

Page 47: Social game and windows azure platform (final)

Need more information?

O Korea Architecture JournalO http://

www.architecturejournal.org/wiki/Main_Page

O Microsoft Korea 장현춘 부장님의 BlogO http://www.kingcrap.com/

O Steve Marx – Cloud Development BlogO http://blog.smarx.com/

O Windows Azure Platform HomepageO http://www.microsoft.com/windowsazure/

Page 48: Social game and windows azure platform (final)

ContactO E-MAIL

O [email protected] Twitter (@rkttu)

O http://www.twitter.com/rkttuO http://www.twitter.com/rkttu/wazstudygroupO Hash Tag: #wazstudygroup

O Meet me at Visual Studio 2010 Booth

Page 49: Social game and windows azure platform (final)

Thank you!See you at Visual Studio 2010 Booth!

Page 50: Social game and windows azure platform (final)