Virtual techdays INDIA │ 18-20 august 2010 Azure and Silverlight Rich Internet Applications on the...
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