Virtual techdays INDIA │ 18-20 august 2010 Azure and Silverlight Rich Internet Applications on the...

43
virtual techdays INDIA 18-20 august 2010 Azure and Silverlight Rich Internet Applications on the Cloud Manoj Kumar Sharma Developer Evangelist

Transcript of Virtual techdays INDIA │ 18-20 august 2010 Azure and Silverlight Rich Internet Applications on the...

virtual techdaysINDIA │ 18-20 august 2010

Azure and SilverlightRich Internet Applications on the CloudManoj Kumar Sharma │ Developer Evangelist

What is Azure? What is Silverlight? Rich Internet Applications on the Cloud Q & A

virtual techdaysINDIA │ 18-20 august 2010

S E S S I O N A G E N D A

virtual techdaysINDIA │ 18-20 august 2010

What is Windows Azure?

Azure and SilverlightRich Internet Applications on the Cloud

Windows Azure is the foundation of Microsoft’s Cloud Computing Platform It is the “Operating System for the Cloud” It is designed for utility computing It is highly scalable and highly available

virtual techdaysINDIA │ 18-20 august 2010

What is Windows Azure?

Platform as a Service

Windows Azure is an internet-scale cloud services platform hosted in Microsoft data centers around the world, proving a simple, reliable and

powerful platform for the creation of web applications and services.

virtual techdaysINDIA │ 18-20 august 2010

What is Windows Azure?

A closer look

Fabric

Compute Storage

Application

Windows Azure Fabric

VM

Web Role Worker Role

Agent Agent

main(){ … } Load

Balancer

HTTPIIS

ASP.NET, WCF, etc.

Automated Service Management You define the rules and provide your code The platform takes care of:

hardware configuration deployment monitoring availability patching updates, etc.

Compute A powerful service hosting environment All of the hardware: servers; load balancers; … Provides Interoperability

Storage Scalable, available cloud Storage (via REST) Blobs, Tables, Queues, Xdrive, CDN

Developer Experience: Simulated cloud environment (Developer Fabric & Developer Storage) Consistent Programming Model and Tools

Designed for Utility Computing & Billing

virtual techdaysINDIA │ 18-20 august 2010

What is Windows Azure?

Primary Features

virtual techdaysINDIA │ 18-20 august 2010

Windows Azure Platform

Storage Unstructured Unstructured DataData BlobsBlobs Message Message

QueuesQueuesDistributed Distributed FilesystemFilesystem

Content Content DistributionDistribution

Data Transact-SQLTransact-SQL Data Data SynchronizationSynchronization

Relational Relational DatabaseDatabase

ADO.NET, ADO.NET, ODBC, PHPODBC, PHP

Connectivity Composite Composite ApplicationsApplications

On-Premise On-Premise BridgingBridgingService BusService Bus

Security Claims-Based Claims-Based IdentityIdentity

Federated Federated IdentitiesIdentities

Secure Token Secure Token ServiceService

Declarative Declarative PoliciesPolicies

Application Services ApplicationApplicationMarketplaceMarketplace

Information Information MarketplaceMarketplace

Personal Data Personal Data RepositoryRepository

Frameworks Workflow Workflow HostingHosting

Distributed Distributed CacheCache

Services Services HostingHosting

Compute

virtual techdaysINDIA │ 18-20 august 2010

Windows Azure Platform

Compute

Storage Table Storage Table Storage ServiceService

Blob Storage Blob Storage ServiceService

Queue Queue ServiceService XdriveXdrive CDNCDN

Data SQL Azure SQL Azure Data SyncData Sync

Connectivity Project Project “Sydney”“Sydney”

Security ““Geneva”Geneva”

Application Services

Frameworks ““Dublin”Dublin” ““Velocity”Velocity”

virtual techdaysINDIA │ 18-20 august 2010

What is Silverlight?

Azure and SilverlightRich Internet Applications on the Cloud

virtual techdaysINDIA │ 18-20 august 2010

What is Silverlight?

Silverlight is Media Rich RIA Rich Web Applications Cross-Platform

Runs on Windows, Mac OS, Windows, Linux, Windows Phone 7

Engaging, Highly Interactive, Rich User Experience Safe, Secure, Scalable Provides Out-Of-Browser support

Save content locally for disconnected scenarios & update whenever connection found

Great Media Support 1080p true HD-quality Video Smooth Streaming

Adaptive streaming for live or on-demand video Based upon changing bandwidth and CPU conditions

virtual techdaysINDIA │ 18-20 august 2010

What is Silverlight?

Silverlight is Media Rich RIA Cross-Platform & Browser RIA Framework Silverlight XAML vocabulary published under

Open Specification Promise (OSP) Silverlight Control Pack released under OSI approved MS-PL license

on Codeplex Growing Tooling Support from Partners

Captaris Inc., Telerik Inc., ComponentOne LLC, Infragistics, Software FX Inc., Intersoft Solutions Corp., Developer Express Inc., K2, Gizmox, RemObjects Software LLC, etc.

Moonlight effort to support Linux & Firefox Expanded .NET Framework Language Support

VB, C#, Managed JavaScript, IronPython, IronRuby,Eclipse Tools for Silverlight (Eclipse4SL) , PHP

virtual techdaysINDIA │ 18-20 august 2010

Microsoft’s RIA Vision

MicrosoftMicrosoftApplicationApplication

PlatformPlatform

Consistent modelConsistent modelto build and deployto build and deploy

great UXgreat UX

Universal WebUniversal Web Experience FirstExperience First

The User Experience Continuum

virtual techdaysINDIA │ 18-20 august 2010

Microsoft’s RIA Vision

Designer ToolsDesigner Tools Developer ToolsDeveloper Tools

Universal WebUniversal Web Experience FirstExperience First

The User Experience Continuum

virtual techdaysINDIA │ 18-20 august 2010

Based on the .NET Framework Has a lot of familiar controls

Grid panel, StackPanel, Canvas panel DataGrid, TabControl Button, TextBox, TextBlock CheckBox, RadioButton ComboBox, ListBox PasswordBox, Image Calendar, Slider, ScrollViewer 60+ more UI Controls

The Developer Experience

It’s Easy to build Silverlight Applications

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

A recent example NBCOlympics.com

Social Features Picture-In-Picture Real-Time Commentary Statistics

& Player Information Up to 1.5 Mbit bitrates

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

A recent example NBCOlympics.com Statistics

3,500 hours of live and on-demand Olympic coverage

60 million unique visitors 6 million users daily 8 million Silverlight

downloads per day Delivered 250TB of data

on Aug 17 alone Average user spent 27 minutes per visit watching videos

NOS (Netherlands)

“A NOS representative reported that they were able to

serve 100,000 concurrent users using Silverlightand 40 Windows Media Servers…”

- Web Designer Magazine (a Dutch publication), Aug 2008

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

Beyond Media - Rich, Interactive and Social User Experience CNN captures “The Moment”

With 613 Photos, (over 400 report photos and 200 CNN photos), this Photo Synth truly captures the moment on January 20, 2009, when Barack Obama became President.

“CNN's 'The Moment' Obama Photosynthis super nifty”http://latimesblogs.latimes.com/technology/2009/01/cnns-the-moment.html

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

Beyond the Web

a plethora of different devicesthat we interact with on a daily basis

new user interaction models such as multi-touch and optical tagging

data synchronized across all your devices

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

Data Synchronized across all your devices

virtual techdaysINDIA │ 18-20 august 2010

How useful is Silverlight?

Data Synchronized across all your devices

Ultimately, It’s Still the User Experience…that’s what really matters, right?

virtual techdaysINDIA │ 18-20 august 2010

Rich Internet Applications on the Cloud

Azure and SilverlightRich Internet Applications on the Cloud

virtual techdaysINDIA │ 18-20 august 2010

Web Roles Cloud-hosted ASP.NET web applications Can also use AJAX, Silverlight Accessed over HTTP “Web Role” in Visual Studio “Hosted Service” Windows Azure Project Automatic Load-Balanced Multiple instances

Storage ServicesStorage Services

Public InternetPublic Internet

Web RoleWeb Role

Load Balancer

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Web Service Roles Cloud-hosted WCF web service Can use SOAP, REST, JSON Accessed over HTTP “Web Role” in Visual Studio “Hosted Service” Windows Azure Project Automatic Load-Balanced Multiple instances

Storage ServicesStorage Services

Public InternetPublic Internet

Web RoleWeb Role

Load Balancer

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Worker Roles Cloud-hosted background process .NET Background Worker Thread(s) No Externally Accessible Endpoint “Worker Role” in Visual Studio “Hosted Service” Windows Azure Project Workers read from Cloud Storage (Queues)

for work items Automatic Load-Balanced Multiple instances

Storage ServicesStorage Services

Public InternetPublic Internet

Worker Role

Worker Role

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Blob Storage Named Byte Storage Container/Blob Item – similar to Folder/File

Upload/Download in chunks (Blocks)

“Storage Service” Windows Azure Project Accessible via REST or .NET code (EF) Available to on-premise applications and cloud applications

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Queue Storage Storage for Messages in Queue Enqueue, Dequeue, Delete Messages “Storage Service” Windows Azure Project Accessible via REST or .NET code (EF) Available to on-premise applications and cloud applications

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Table Storage Storage for Unstructured Data

Entities (Rows) Collection of Entities (Tables) Partition Key / Row Key – clustered data model

“Storage Service” Windows Azure Project Accessible via REST or .NET code (EF) Available to on-premise applications and cloud applications

Azure Concepts

Application Development

virtual techdaysINDIA │ 18-20 august 2010

Database on the Cloud Cloud hosted SQL Server Database “SQL Azure Service” Accessible via REST, ADO.NET, .NET code (EF), ODBC, etc. – TDS Services Available to on-premise applications and cloud applications 1 GB, 10 GB, 50 GB database sizes

Azure Concepts

Application Development

Browser Web Application

virtual techdaysINDIA │ 18-20 august 2010

Application Patterns

Classic Web Application

HTMLHTML Presentation Logic

App Business Logic

Data Access Layer

ServicesServices

Other ApplicationsOther Applications

ServicesServices

DB

virtual techdaysINDIA │ 18-20 august 2010

Application Patterns

RIA Application

Presentation Logic

Rich Internet Application

App Business Logic

Data Access Layer

ServicesServices

Other ApplicationsOther Applications

ServicesServices

DB

NetworkNetworkDomain ContextDomain Context

Data ServiceData

Service

Under the covers infrastructure

virtual techdaysINDIA │ 18-20 august 2010

ASP.NET Web Application Load Balanced Web Roles

Cloud Application Patterns

Hosted Web Application

virtual techdaysINDIA │ 18-20 august 2010

ASP.NET Web Application with background Workers

Front-end – Load Balanced Web Roles Back-end – Load Balanced Worker Roles Front-end and back-end communicate

through Storage Front-end queues work items Back-end executes work items

Separately configurable instance counts of Front-end and Back-end instances

Cloud Application Patterns

Hosted Web Application with Workers

virtual techdaysINDIA │ 18-20 august 2010

WCF Web Service hosted in an IIS hosted ASP.NET Web application Load Balanced Web Roles

Cloud Application Patterns

Hosted Web Service

virtual techdaysINDIA │ 18-20 august 2010

WCF Web Service with background Workers Front-end – Load Balanced Web Roles Back-end – Load Balanced Worker Roles Front-end and back-end communicate

through Storage Front-end queues work items Back-end executes work items

Separately configurable instance counts of Front-end and Back-end instances

Cloud Application Patterns

Hosted Web Service with Workers

virtual techdaysINDIA │ 18-20 august 2010

Cloud Extended Enterprise Application Enterprise hosted on-premise application which makes use of cloud services for

storage, communication, synchronization, security, etc.

REST or .NET Code Windows Azure Storage SQL Azure Windows Azure AppFabric Services Windows Live Services

Cloud Application Patterns

Hybrid Enterprise Cloud Applications

virtual techdaysINDIA │ 18-20 august 2010

Cloud Application Patterns

Multi-Enterprise Business Application (MEBA) Cloud-hosted application used by

multiple organizations Front-end

– Load Balanced Web Roles for Web Application/Services

Back-end – Load Balanced Worker Roles

Can leverage any kind of Cloud Storage Security by Access Control Service

or Traditional Membership Providers Must have acute awareness of roles

and permissions of organizations and personnel

virtual techdaysINDIA │ 18-20 august 2010

Load Balanced Worker Roles Jobs to the Worker Roles can be assigned

by any application (cloud-hosted or on-premise)

Worker Roles execute the job items and provide results using Cloud Storage or direct communication

Cloud Application Patterns

Hosted Grid Computing Applications

virtual techdaysINDIA │ 18-20 august 2010

Silverlight and Azure

Application PatternsCloud Web Application

Table StorageService

Table StorageService

Blob StorageService

Blob StorageService

QueueServiceQueueService

CacheServiceCacheService

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Web Svc(Web Role)Web Svc

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Jobs(Worker

Role)

Jobs(Worker

Role)

SilverlightApplicationSilverlight

ApplicationWeb

BrowserWeb

BrowserMobile

BrowserMobile

Browser

User

WPFApplication

WPFApplication

Service BusService BusAccess Control Service

Access Control Service

WorkflowService

WorkflowService

Service Orch.

Service Orch.

Identities & Roles

Identities & Roles

Conn. Bindings

Conn. Bindings

Application Data

Application Data

SQL Data ServicesSQL Data Services

BIServices

BIServices

Application Data

Application Data

Reference Data

Reference Data

Enterprise Data

Enterprise Data

Private Cloud (On-Premise)

Services

Enterprise Web Svc

Enterprise Web Svc

Enterprise ApplicationEnterprise Application

Public CloudServices

DataService

DataService

StorageServiceStorageService

IdentityServiceIdentityService

ApplicationService

ApplicationService

Enterprise Identity

Enterprise Identity

virtual techdaysINDIA │ 18-20 august 2010

Silverlight and Azure

Application PatternsCloud Web Application

Table StorageService

Table StorageService

Blob StorageService

Blob StorageService

QueueServiceQueueService

CacheServiceCacheService

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Web Svc(Web Role)Web Svc

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Jobs(Worker

Role)

Jobs(Worker

Role)

SilverlightApplicationSilverlight

ApplicationWeb

BrowserWeb

BrowserMobile

BrowserMobile

Browser

User

WPFApplication

WPFApplication

Service BusService BusAccess Control Service

Access Control Service

WorkflowService

WorkflowService

Service Orch.

Service Orch.

Identities & Roles

Identities & Roles

Conn. Bindings

Conn. Bindings

Application Data

Application Data

SQL Data ServicesSQL Data Services

BIServices

BIServices

Application Data

Application Data

Reference Data

Reference Data

Enterprise Data

Enterprise Data

Private Cloud (On-Premise)

Services

Enterprise Web Svc

Enterprise Web Svc

Enterprise ApplicationEnterprise Application

Public CloudServices

DataService

DataService

StorageServiceStorageService

IdentityServiceIdentityService

ApplicationService

ApplicationService

Enterprise Identity

Enterprise Identity

virtual techdaysINDIA │ 18-20 august 2010

Silverlight and Azure

Application PatternsHybrid Enterprise Application

Table StorageService

Table StorageService

Blob StorageService

Blob StorageService

QueueServiceQueueService

CacheServiceCacheService

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Web Svc(Web Role)Web Svc

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

ASP.NET(Web Role)ASP.NET

(Web Role)

Jobs(Worker

Role)

Jobs(Worker

Role)

SilverlightApplicationSilverlight

ApplicationWeb

BrowserWeb

BrowserMobile

BrowserMobile

Browser

User

WPFApplication

WPFApplication

Service BusService BusAccess Control Service

Access Control Service

WorkflowService

WorkflowService

Service Orch.

Service Orch.

Identities & Roles

Identities & Roles

Conn. Bindings

Conn. Bindings

Application Data

Application Data

SQL Data ServicesSQL Data Services

BIServices

BIServices

Application Data

Application Data

Reference Data

Reference Data

Enterprise Data

Enterprise Data

Private Cloud (On-Premise)

Services

Enterprise Web Svc

Enterprise Web Svc

Enterprise ApplicationEnterprise Application

Public CloudServices

DataService

DataService

StorageServiceStorageService

IdentityServiceIdentityService

ApplicationService

ApplicationService

Enterprise Identity

Enterprise Identity

virtual techdaysINDIA │ 18-20 august 2010

RESOURCES

Silverlight http://www.silverlight.net

Azure Services Platform http://www.azure.com

Interoperability http://www.interopbridges.com http://microsoft.com/interop

Windows Presentation Foundation http://www.windowsclient.net

Photo Synth http://www.photosynth.net

Surface http://www.surface.com

virtual techdaysINDIA │ 18-20 august 2010

RELATED CONTENTDate Timings Topic

18-Aug

10:30 am 11:30 am

Building and Deploying Azure Applications using VS 2010By: : Saranya Sriram

11:45 am12:45 pm

Building & Migrating Web applications using Windows Azure StorageBy: Ramaprasanna Chellamuthu

3:00 pm4:00 pm

Windows Azure App Fabric - Connecting the CloudBy: Niraj Bhatt

4:15 pm5:15 pm

SQL Azure – Extend your SQL Server to the CloudBy: Ramaprasanna Chellamuthu

19-Aug

3:00 pm4:00 pm

Silverlight 4 Deep DiveBy: Vikram Pendse

10:30 am11:30 am

Entity Framework and enhancements in EF 4By: Vinayaka Shenoy

20-Aug 11:45 am12:45 pm

Cloud Computing: What and How? By: Sandeep J Alur

virtual techdaysTHANKS│18-20 august 2010

MANOJ KUMAR SHARMA Developer [email protected] http://www.linkedin.com/in/contact4manoj