Upload
rizaon
View
123
Download
0
Embed Size (px)
DESCRIPTION
My slide deck used in Cloud Computing Seminar, 4 December 2010, Universitas Atmajaya, Yogyakarta
Citation preview
Developing Azure Solution
In Developer Prespectives
Riza Oktavian
Client Development Specialist | Microsoft Innovation Center
Yogyakarta, Indonesia
Azure for Developer AudiencesWeb Corporate ISV
Develop applications at
Internet scale
Focus on business logic and
not operational constraints
Use one platform for
expansive user experience
and device support
Get started quickly using
your existing skills
Reach broad market with
Microsoft Live properties
Extend existing and build
new applications
Accelerate Innovation with
new IT flexibility
Use consistent, familiar
programming models &
tools
Maintain enterprise
architecture & process
governance
Integrate applications with
partners across networks
Accelerate SaaS solutions
development
Deepen customer
relationships and
continuously provide new
value
Capture built-in multi-
tenancy
Inherent extensibility &
integration features
Flexibility Reliability Scalability Security Interoperability
Cloud Service Anatomy
Windows Azure Storage (Table, Blob, Queue)
Web Role
LB
SQL Azure Internet Services
Web Role 2 (IIS)Port 8080
Worker Role 2
Worker Role 1Web RoleWeb Role 1 (IIS)Port 80
Worker Role 2
Developing in Azure Differences
Azure Solutions have a Cloud Project – Describes the platform
Additional Entry Points in the Execution Pipeline
Use RoleEnvironment Class for Infrastructure knowledge
Always Copy referenced Assemblies
WorkerRole Call Order
WaWorkerHost process is started.
Worker Role assembly is loaded and surfed for a class that derives from RoleEntryPoint. This class is instantiated.
RoleEntryPoint.OnStart() is called.
RoleEntryPoint.Run() is called.
If the RoleEntryPoint.Run() method exits, the RoleEntryPoint.OnStop() method is called .
WebRole Call Order
WaWebHost process is started.
Hostable Web Core is activated.
Web role assembly is loaded and
RoleEntryPoint.OnStart() is called.
Global.Application_Start() is called.
The web application runs…
Global.Application_End() is called.
RoleEntryPoint.OnStop() is called.
Hostable Web Core is deactivated.
WaWebHost process is stopped.
MIC
Web Application
SQL Databases
• aspnetdb
• MIC
WCF Service
Intranet Offices Location
MIC
Azure Application
SQL Databases
• aspnetdb
• MIC
ServiceBus Service
Intranet Offices Location
Porting the Web into Azure Application
Demo
PAGE 9
Use the Azure Portal for initial creation
Use SQL Server Management Studio 2008 R2 for managing SQL Azure databases
Use SQL Azure Migration Wizard v3.2 for analyzing and generating migration db scripts http://sqlazuremw.codeplex.com/
Migrating SQL Server Data to SQL Azure
Change Service and Client implementation
Add a ServiceBus Reference
Create a Service Bus namepsace
Generate a new Endpoint Address
Use a RelayBinding from Azure AppFabric SDK
Add a TransportClientEndpointBehavior for registering the Service to the Service Bus
Migrating Intranet Service to App Fabric
SB
Developer Prespectives
Windows Azure Diagnostics
SDK component providing distributed monitoring & data collection for cloud apps
Support Standard Diagnostics APIs
Cloud-Friendly – Manage multiple role instances centrally
Scalable – Built on Windows Azure Storage & used by scale-out Windows Azure platform components
Developer In Control – What to collect & when to collect it
Development Best Practices
Remove the use of Development Storage (in case some code uses it)
Check application using Cloud Resources (Storage, Service and SQL Azure)
Make sure you copy local assemblies not in the Framework
Use the _CSPACK_FORCE_NOENCRYPT_ to check if your package is valid
Always develop in the Azure DevFabric first
PHP, Java, others
Azure Supporting Technology
PAGE 14
Azure gives us fexibility in development
• Specific Development API in Azure
• Casual Development Scenario
• Development Best Practices
• Technology Supports in Azure
Conclusion
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Internet Explorer and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Thank you.