SlideShare ist ein Scribd-Unternehmen logo
1 von 90
Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform Clint Edmonson Architect Evangelist Microsoft http://www.notsotrivial.net
Sessions Session 1 – Introduction to Windows Azure Session 2 – Azure Data Storage Options Session 3 – Construction to Deployment
Session 1:Introduction to Windows Azure
Agenda Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
Agenda Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
What is Cloud Computing? ,[object Object], Utility Model with Consumption Based Pricing ,[object Object]
 Software as a Service (SaaS)
 On-Demand Scale - Mammoth Capacity
 High Availability and Reliability
 Self-Service Management
 Real and Here to Stay Additive to the Enterprise, Not Replacing
Why Are We Here?Because Cloud Computing is Huge For Microsoft: ,[object Object]
3 to 4 billion: the # of emails filtered daily from >6 million mail boxes by Forefront
2 billion: the # of queries each month on Bing
450 million:Hotmail users (now 15 years old)
100 million:users that get Windows Update worldwide, (now 12 years old)
20 million:Xbox Live users (now 9 years old)
+400,000:  square footage of our new datacentersFor You: A new paradigm in computing
Platform Continuum On-Premises Servers Hosted Servers Cloud Platform ,[object Object]
Complete control
Complete responsibility
Static capabilities
Upfront capital costs for the infrastructure
Renting machines, connectivity, software
Less control
Fewer responsibilities
Lower capital costs
More flexible
Pay for fixed capacity, even if idle
Shared, multi-tenant infrastructure
Virtualized & dynamic
Scalable & available
Abstracted from the infrastructure
Higher-level services
Pay as you go,[object Object]
Enterprise to Cloud Corporate  &Departmental Applications Consumer to CloudPublicly Accessible Web Sites, e-Stores & ISV SaaS Applications Cloud Computing Examples Hub Between Multiple Companies Enterprise to Enterprise Company A Company B Company
Driving Forces ISVs & SaaS Applications Mid-Market Enterprise Enterprise Application Migration Start-ups & Experimental Initiatives Cloud Seen as a Fast Lane to Get to Market Faster Seasonal Businesses Under Pressure to Dramatically Reduce I.T. Costs Cloud Seen as a Competitive Edge
When is the Cloud Compelling?
Microsoft Data Centers Vision Go Inside Energy Efficient Containers Dublin Chicago Amsterdam San Antonio Hong Kong Singapore
Windows Azure Fabric – Service Management Infrastructure Hosting – Applications, Web Services, Workers Storage – Blobs, Queues, Tables, X Drives Frictionless Upgrades Compute Storage Management Compute Storage Management Management Relational data Connectivity Access control
SQL Azure Core Database Functionality, Subset of SQL Server 2008 Database available in limited sizes 1GB, 10GB Management SQL Data Sync Management Relational data Compute Storage Management Management Relational data Connectivity Access control
Windows Azure AppFabric Service Bus Access Control Service Management Compute Storage Management Management Relational data Connectivity Access control
Windows Azure Cloud Fabric Multiple virtual instances Easy provisioning of applications Detect failures Spin up new instances to replace the failed ones How many instances and what role they will play Load balances and DNS Elasticity of the service… scaling up/down number of instances
Windows Azure DevFabricLocal Developer Simulation of AppFabric Simulated “Cloud Experience” for Development Routes cloud requests to local machine Simulates data storage with local SQL server database Azure SQL simulated with local SQL Server database
Windows Azure Roles Web Role A web role is used for web application programming in ASP.NET or PHP Worker Role A worker role is used for performing work on behalf of the web role. Worker Roles are used to improve scalability by increasing parallelism and asynchronicity Often used for background work and batch processing
Demo Hello Azure
Windows Azure Role Details Web Roles Define a single HTTP endpoint and a single HTTPS endpoint for external clients Worker Roles Define internal endpoints for HTTP, TCP  May receive work from Windows Azure Storage Queues Web and Worker Roles Can make outbound HTTP/S or .NET Framework class library socket connections to Internet accessible resources Can access Windows Azure Storage services via REST APIs or the Windows Azure Storage Client Library.
Service Management Automated Service ManagementProvisioning, Patching, Upgrades Fabric Self ManagementDeploy, Promote, Scale, Upgrade Management Portal Programmatic ManagementProgrammatic deployments upgrades, etc. API for doing what the portal does Management API
Demo Live Windows Azure Application In The Cloud
Application Concerns—Hardware Server Instances Plan for peak usage scenarios Plan for redundancy to reduce down time Make up-front capital expenditures Servers Networking / Load Balancers Software Licensing Hardware Diagnostics & Failure Recovery Detection of failures Repair or replacement Backup parts on-hand
Azure Solution– Hardware Hardware Acquisition No up-front capital expenditures Windows Azure provides redundancy Windows Azure scales to meet peak usage Hardware Diagnostics & Failure Recovery Windows Azure detects hardware failures Windows Azure dynamically repairs itself
Azure Solution – Azure Network Security Network Security Network Topology & Connectivity  Created as needed from configuration Firewall Rules & Maintenance Provided and configurable De-Militarization Zone (DMZ) Provided Institutional Resistance to Change Moves many security concerns to the cloud
Developer Experience Developer Experience Use existing skills and tools Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports Java, PHP, Python Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage Extensive training kit with TONs of samples
Getting Started with Windows AzureThe Windows Azure Platform Portal Provision Deploy Promote Stop/Start Scale Upgrade Delete
Getting Started With Windows AzureThe Windows Azure SDK & Training Kit http://www.microsoft.com/windowsazure/developers/
Windows Azure SDK Features C# and VB Visual Studio project templates Windows Azure Cloud Service solution with multiple roles. Tools to manage and configure roles Local Development Fabric Local Development Storage services Local Cloud Service debugging support Cloud Service package and deployment builder No SDK Required for SQL Azure
Conclusion You are now Windows Azure savvy… You’ve seen Windows Azure in action… You’ve learned about the platform and its components and core services You understand instance roles You know the tools you will need to begin You’re excited to use this new technology And you can hardly wait for session 2 on data…
Q & A
Resources – Windows Azure Platform Windows Azure Developer Platformhttp://www.microsoft.com/windowsazure/developers/ Channel 9 videoshttp://channel9.msdn.com/azure Windows Azure Platform Training Kithttp://www.azure.com Microsoft PDC 2009http://microsoftpdc.com/ Windows Azure SDKhttp://www.microsoft.com/windowsazure/developers/
Session 2:Azure Data Storage Options
Agenda Windows Azure Platform Data Storage Options Getting Started with Azure Data Storage  Getting Started with SQL Azure Data Storage
Azure Platform Data Storage Options ,[object Object]
Blobs
Unstructured data storage
Tables
Semi-structured or tabular data storage
Queues
Buffered delivery data storage
Drives
Durable NTFS volumes that Windows Azure applications can use - beta launched week
SQL Azure
Relational data storage,[object Object]
Windows Azure Data Storage
Account Name / Key AccountName A unique name identifying the Azure Data Storage AccountKey A blob of encrypted data used for authentication
Windows Azure Data Storage - Blobs Unstructured data storage Partitioned by container Unlimited containers
Demo Windows Azure Data Storage - Blobs The GuestBook Application
Azure Storage Explorer “Azure Storage Explorer is a useful GUI tool for inspecting and altering the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.”  http://azurestorageexplorer.codeplex.com/
Examining Windows Azure Data Storage
Windows Azure Data Storage – Tables (Terms Part 1) Windows Azure Table provides scalable, available, and durable structured (or semi-structured) storage in the form of tables. Table – contains a set of entities.   Entity (Row) – Entities are the basic data items stored in a table.   Property (Column) – This represents a single value in an entity.    PartitionKey– The first key property of every table.  The system uses this key to automatically distribute the table’s entities over many storage nodes.
Windows Azure Data Storage – Tables (Terms Part 2) RowKey– A second key property for the table.   This is the unique ID of the entity within the partition it belongs to.   Timestamp – Every entity has a version maintained by the system. Partition – A set of entities in a table with the same partition key value. Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey
Windows Azure Data Storage - Tables The tables are scalable to billions of entities and terabytes of data, and may be partitioned across thousands of servers. The tables support ACID transactions over single entities and rich queries over the entire table. Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services.
Demo Windows Azure Data Storage - Tables The GuestBook Application
Windows Azure Data Storage - Queues Buffered delivery data storage Read at least once Delete to remove message, otherwise is returned to queue Partitioned by Queue Name
Demo Windows Azure Data Storage - Queues The GuestBook Application
Windows Azure Data Storage – Drives Beta just announced this week Implemented as a page blob containing an NTFS volume VHD Fixed size from 16 MB to 1 TB APIs Create Drive, Initialize, Get Mounted Drives Mount, Unmount, Snapshot Read, Write Your VMs can mount up to 16 drives
SQL Azure Features Supported Tables, Indexes, Views Stored Procedures Triggers Constraints Table Variables Temp Tables (#Name) Not Supported Physical Server Access  Catalog DDL Common Language Runtime Service Broker Reporting Services Analysis Services Distributed Transactions and Queries
SQL Azure Initial Services Database – Core SQL Server database capabilities  Future Services Data Sync – Enables the sync framework Additional SQL Server capabilities available as a service:  Business Intelligence and Reporting New services:  Reference Data and Secure Data Hub
SQL AzureDeployment Web Portal (API) DB Script SQL Azure TDS
SQL AzureAccessing databases Web Portal (API) Your App SQL Azure TDS Change Connection String
Database Replicas Single Database Multiple Replicas Replica 1 Single Primary Replica 2 DB Replica 3

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft Database Options
Microsoft Database OptionsMicrosoft Database Options
Microsoft Database OptionsDavid Chou
 
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureCloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureDavid Chou
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Architecting For The Windows Azure Platform
Architecting For The Windows Azure PlatformArchitecting For The Windows Azure Platform
Architecting For The Windows Azure PlatformDavid Chou
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppDynamics
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure
 
Introducing Azure Services Platform V1
Introducing Azure Services Platform V1Introducing Azure Services Platform V1
Introducing Azure Services Platform V1guest120d945
 
Migrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureMigrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureIlyas F ☁☁☁
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformDavid Chou
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureGlyn Darkin
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloudDelta-N
 
2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with AzureMarco Parenzan
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh ServicesGaryYoung
 
Azure integration in dynamic crm
Azure integration in dynamic crmAzure integration in dynamic crm
Azure integration in dynamic crmssuser93127c1
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformSpiffy
 
Azure architecture
Azure architectureAzure architecture
Azure architectureAmal Dev
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongSpiffy
 

Was ist angesagt? (20)

Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Microsoft Database Options
Microsoft Database OptionsMicrosoft Database Options
Microsoft Database Options
 
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureCloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Architecting For The Windows Azure Platform
Architecting For The Windows Azure PlatformArchitecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOps
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 
Introducing Azure Services Platform V1
Introducing Azure Services Platform V1Introducing Azure Services Platform V1
Introducing Azure Services Platform V1
 
Migrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureMigrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft Azure
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azure
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloud
 
2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services
 
Azure integration in dynamic crm
Azure integration in dynamic crmAzure integration in dynamic crm
Azure integration in dynamic crm
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
 
Azure architecture
Azure architectureAzure architecture
Azure architecture
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
 

Ähnlich wie Sky High With Azure

The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)Dave Bost
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Microsoft Partner Roadshow - To the Cloud
Microsoft Partner Roadshow  - To the CloudMicrosoft Partner Roadshow  - To the Cloud
Microsoft Partner Roadshow - To the CloudNigel Watson
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureEduardo Castro
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011Spiffy
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure PlatformSergejus Barinovas
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introductionbrunoterkaly
 
Arc Ready Cloud Computing
Arc Ready Cloud ComputingArc Ready Cloud Computing
Arc Ready Cloud ComputingPhilip Wheat
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud StorageGanga R Jaiswal
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developersllangit
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Maarten Balliauw
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Cscorajramab
 
Ukfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StUkfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StAllyWick
 

Ähnlich wie Sky High With Azure (20)

The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Microsoft Partner Roadshow - To the Cloud
Microsoft Partner Roadshow  - To the CloudMicrosoft Partner Roadshow  - To the Cloud
Microsoft Partner Roadshow - To the Cloud
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azure
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure Platform
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introduction
 
Arc Ready Cloud Computing
Arc Ready Cloud ComputingArc Ready Cloud Computing
Arc Ready Cloud Computing
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud Storage
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developers
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Windows Azure Platform Overview
Windows Azure Platform OverviewWindows Azure Platform Overview
Windows Azure Platform Overview
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
 
Ukfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StUkfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 St
 

Mehr von Clint Edmonson

New Product Concept Design.pptx
New Product Concept Design.pptxNew Product Concept Design.pptx
New Product Concept Design.pptxClint Edmonson
 
Lean & Agile Essentials
Lean & Agile EssentialsLean & Agile Essentials
Lean & Agile EssentialsClint Edmonson
 
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?Clint Edmonson
 
Flow, the Universe and Everything
Flow, the Universe and EverythingFlow, the Universe and Everything
Flow, the Universe and EverythingClint Edmonson
 
Application architecture jumpstart
Application architecture jumpstartApplication architecture jumpstart
Application architecture jumpstartClint Edmonson
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsClint Edmonson
 
Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Clint Edmonson
 
Application Architecture Jumpstart
Application Architecture JumpstartApplication Architecture Jumpstart
Application Architecture JumpstartClint Edmonson
 
Agile Metrics That Matter
Agile Metrics That MatterAgile Metrics That Matter
Agile Metrics That MatterClint Edmonson
 
Advanced oop laws, principles, idioms
Advanced oop laws, principles, idiomsAdvanced oop laws, principles, idioms
Advanced oop laws, principles, idiomsClint Edmonson
 
Application architecture jumpstart
Application architecture jumpstartApplication architecture jumpstart
Application architecture jumpstartClint Edmonson
 
ADO.NET Entity Framework
ADO.NET Entity FrameworkADO.NET Entity Framework
ADO.NET Entity FrameworkClint Edmonson
 
Windows 8 - The JavaScript Story
Windows 8 - The JavaScript StoryWindows 8 - The JavaScript Story
Windows 8 - The JavaScript StoryClint Edmonson
 
Windows Azure Jumpstart
Windows Azure JumpstartWindows Azure Jumpstart
Windows Azure JumpstartClint Edmonson
 
Introduction to Windows Azure Virtual Machines
Introduction to Windows Azure Virtual MachinesIntroduction to Windows Azure Virtual Machines
Introduction to Windows Azure Virtual MachinesClint Edmonson
 
Peering through the Clouds - Cloud Architectures You Need to Master
Peering through the Clouds - Cloud Architectures You Need to MasterPeering through the Clouds - Cloud Architectures You Need to Master
Peering through the Clouds - Cloud Architectures You Need to MasterClint Edmonson
 
Architecting Scalable Applications in the Cloud
Architecting Scalable Applications in the CloudArchitecting Scalable Applications in the Cloud
Architecting Scalable Applications in the CloudClint Edmonson
 
Windows Azure jumpstart
Windows Azure jumpstartWindows Azure jumpstart
Windows Azure jumpstartClint Edmonson
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesClint Edmonson
 

Mehr von Clint Edmonson (20)

New Product Concept Design.pptx
New Product Concept Design.pptxNew Product Concept Design.pptx
New Product Concept Design.pptx
 
Lean & Agile Essentials
Lean & Agile EssentialsLean & Agile Essentials
Lean & Agile Essentials
 
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
 
Flow, the Universe and Everything
Flow, the Universe and EverythingFlow, the Universe and Everything
Flow, the Universe and Everything
 
Application architecture jumpstart
Application architecture jumpstartApplication architecture jumpstart
Application architecture jumpstart
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
 
State of agile 2016
State of agile 2016State of agile 2016
State of agile 2016
 
Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015Lean & Agile DevOps with VSTS and TFS 2015
Lean & Agile DevOps with VSTS and TFS 2015
 
Application Architecture Jumpstart
Application Architecture JumpstartApplication Architecture Jumpstart
Application Architecture Jumpstart
 
Agile Metrics That Matter
Agile Metrics That MatterAgile Metrics That Matter
Agile Metrics That Matter
 
Advanced oop laws, principles, idioms
Advanced oop laws, principles, idiomsAdvanced oop laws, principles, idioms
Advanced oop laws, principles, idioms
 
Application architecture jumpstart
Application architecture jumpstartApplication architecture jumpstart
Application architecture jumpstart
 
ADO.NET Entity Framework
ADO.NET Entity FrameworkADO.NET Entity Framework
ADO.NET Entity Framework
 
Windows 8 - The JavaScript Story
Windows 8 - The JavaScript StoryWindows 8 - The JavaScript Story
Windows 8 - The JavaScript Story
 
Windows Azure Jumpstart
Windows Azure JumpstartWindows Azure Jumpstart
Windows Azure Jumpstart
 
Introduction to Windows Azure Virtual Machines
Introduction to Windows Azure Virtual MachinesIntroduction to Windows Azure Virtual Machines
Introduction to Windows Azure Virtual Machines
 
Peering through the Clouds - Cloud Architectures You Need to Master
Peering through the Clouds - Cloud Architectures You Need to MasterPeering through the Clouds - Cloud Architectures You Need to Master
Peering through the Clouds - Cloud Architectures You Need to Master
 
Architecting Scalable Applications in the Cloud
Architecting Scalable Applications in the CloudArchitecting Scalable Applications in the Cloud
Architecting Scalable Applications in the Cloud
 
Windows Azure jumpstart
Windows Azure jumpstartWindows Azure jumpstart
Windows Azure jumpstart
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 

Kürzlich hochgeladen

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Kürzlich hochgeladen (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Sky High With Azure

  • 1. Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform Clint Edmonson Architect Evangelist Microsoft http://www.notsotrivial.net
  • 2. Sessions Session 1 – Introduction to Windows Azure Session 2 – Azure Data Storage Options Session 3 – Construction to Deployment
  • 4. Agenda Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
  • 5. Agenda Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
  • 6.
  • 7. Software as a Service (SaaS)
  • 8. On-Demand Scale - Mammoth Capacity
  • 9. High Availability and Reliability
  • 11. Real and Here to Stay Additive to the Enterprise, Not Replacing
  • 12.
  • 13. 3 to 4 billion: the # of emails filtered daily from >6 million mail boxes by Forefront
  • 14. 2 billion: the # of queries each month on Bing
  • 15. 450 million:Hotmail users (now 15 years old)
  • 16. 100 million:users that get Windows Update worldwide, (now 12 years old)
  • 17. 20 million:Xbox Live users (now 9 years old)
  • 18. +400,000: square footage of our new datacentersFor You: A new paradigm in computing
  • 19.
  • 23. Upfront capital costs for the infrastructure
  • 29. Pay for fixed capacity, even if idle
  • 33. Abstracted from the infrastructure
  • 35.
  • 36. Enterprise to Cloud Corporate &Departmental Applications Consumer to CloudPublicly Accessible Web Sites, e-Stores & ISV SaaS Applications Cloud Computing Examples Hub Between Multiple Companies Enterprise to Enterprise Company A Company B Company
  • 37. Driving Forces ISVs & SaaS Applications Mid-Market Enterprise Enterprise Application Migration Start-ups & Experimental Initiatives Cloud Seen as a Fast Lane to Get to Market Faster Seasonal Businesses Under Pressure to Dramatically Reduce I.T. Costs Cloud Seen as a Competitive Edge
  • 38. When is the Cloud Compelling?
  • 39. Microsoft Data Centers Vision Go Inside Energy Efficient Containers Dublin Chicago Amsterdam San Antonio Hong Kong Singapore
  • 40. Windows Azure Fabric – Service Management Infrastructure Hosting – Applications, Web Services, Workers Storage – Blobs, Queues, Tables, X Drives Frictionless Upgrades Compute Storage Management Compute Storage Management Management Relational data Connectivity Access control
  • 41. SQL Azure Core Database Functionality, Subset of SQL Server 2008 Database available in limited sizes 1GB, 10GB Management SQL Data Sync Management Relational data Compute Storage Management Management Relational data Connectivity Access control
  • 42. Windows Azure AppFabric Service Bus Access Control Service Management Compute Storage Management Management Relational data Connectivity Access control
  • 43. Windows Azure Cloud Fabric Multiple virtual instances Easy provisioning of applications Detect failures Spin up new instances to replace the failed ones How many instances and what role they will play Load balances and DNS Elasticity of the service… scaling up/down number of instances
  • 44. Windows Azure DevFabricLocal Developer Simulation of AppFabric Simulated “Cloud Experience” for Development Routes cloud requests to local machine Simulates data storage with local SQL server database Azure SQL simulated with local SQL Server database
  • 45. Windows Azure Roles Web Role A web role is used for web application programming in ASP.NET or PHP Worker Role A worker role is used for performing work on behalf of the web role. Worker Roles are used to improve scalability by increasing parallelism and asynchronicity Often used for background work and batch processing
  • 47. Windows Azure Role Details Web Roles Define a single HTTP endpoint and a single HTTPS endpoint for external clients Worker Roles Define internal endpoints for HTTP, TCP May receive work from Windows Azure Storage Queues Web and Worker Roles Can make outbound HTTP/S or .NET Framework class library socket connections to Internet accessible resources Can access Windows Azure Storage services via REST APIs or the Windows Azure Storage Client Library.
  • 48. Service Management Automated Service ManagementProvisioning, Patching, Upgrades Fabric Self ManagementDeploy, Promote, Scale, Upgrade Management Portal Programmatic ManagementProgrammatic deployments upgrades, etc. API for doing what the portal does Management API
  • 49. Demo Live Windows Azure Application In The Cloud
  • 50. Application Concerns—Hardware Server Instances Plan for peak usage scenarios Plan for redundancy to reduce down time Make up-front capital expenditures Servers Networking / Load Balancers Software Licensing Hardware Diagnostics & Failure Recovery Detection of failures Repair or replacement Backup parts on-hand
  • 51. Azure Solution– Hardware Hardware Acquisition No up-front capital expenditures Windows Azure provides redundancy Windows Azure scales to meet peak usage Hardware Diagnostics & Failure Recovery Windows Azure detects hardware failures Windows Azure dynamically repairs itself
  • 52. Azure Solution – Azure Network Security Network Security Network Topology & Connectivity Created as needed from configuration Firewall Rules & Maintenance Provided and configurable De-Militarization Zone (DMZ) Provided Institutional Resistance to Change Moves many security concerns to the cloud
  • 53. Developer Experience Developer Experience Use existing skills and tools Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports Java, PHP, Python Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage Extensive training kit with TONs of samples
  • 54. Getting Started with Windows AzureThe Windows Azure Platform Portal Provision Deploy Promote Stop/Start Scale Upgrade Delete
  • 55. Getting Started With Windows AzureThe Windows Azure SDK & Training Kit http://www.microsoft.com/windowsazure/developers/
  • 56. Windows Azure SDK Features C# and VB Visual Studio project templates Windows Azure Cloud Service solution with multiple roles. Tools to manage and configure roles Local Development Fabric Local Development Storage services Local Cloud Service debugging support Cloud Service package and deployment builder No SDK Required for SQL Azure
  • 57. Conclusion You are now Windows Azure savvy… You’ve seen Windows Azure in action… You’ve learned about the platform and its components and core services You understand instance roles You know the tools you will need to begin You’re excited to use this new technology And you can hardly wait for session 2 on data…
  • 58. Q & A
  • 59. Resources – Windows Azure Platform Windows Azure Developer Platformhttp://www.microsoft.com/windowsazure/developers/ Channel 9 videoshttp://channel9.msdn.com/azure Windows Azure Platform Training Kithttp://www.azure.com Microsoft PDC 2009http://microsoftpdc.com/ Windows Azure SDKhttp://www.microsoft.com/windowsazure/developers/
  • 60. Session 2:Azure Data Storage Options
  • 61. Agenda Windows Azure Platform Data Storage Options Getting Started with Azure Data Storage Getting Started with SQL Azure Data Storage
  • 62.
  • 63. Blobs
  • 70. Durable NTFS volumes that Windows Azure applications can use - beta launched week
  • 72.
  • 74. Account Name / Key AccountName A unique name identifying the Azure Data Storage AccountKey A blob of encrypted data used for authentication
  • 75. Windows Azure Data Storage - Blobs Unstructured data storage Partitioned by container Unlimited containers
  • 76. Demo Windows Azure Data Storage - Blobs The GuestBook Application
  • 77. Azure Storage Explorer “Azure Storage Explorer is a useful GUI tool for inspecting and altering the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.” http://azurestorageexplorer.codeplex.com/
  • 78. Examining Windows Azure Data Storage
  • 79. Windows Azure Data Storage – Tables (Terms Part 1) Windows Azure Table provides scalable, available, and durable structured (or semi-structured) storage in the form of tables. Table – contains a set of entities. Entity (Row) – Entities are the basic data items stored in a table. Property (Column) – This represents a single value in an entity. PartitionKey– The first key property of every table. The system uses this key to automatically distribute the table’s entities over many storage nodes.
  • 80. Windows Azure Data Storage – Tables (Terms Part 2) RowKey– A second key property for the table. This is the unique ID of the entity within the partition it belongs to. Timestamp – Every entity has a version maintained by the system. Partition – A set of entities in a table with the same partition key value. Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey
  • 81. Windows Azure Data Storage - Tables The tables are scalable to billions of entities and terabytes of data, and may be partitioned across thousands of servers. The tables support ACID transactions over single entities and rich queries over the entire table. Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services.
  • 82. Demo Windows Azure Data Storage - Tables The GuestBook Application
  • 83. Windows Azure Data Storage - Queues Buffered delivery data storage Read at least once Delete to remove message, otherwise is returned to queue Partitioned by Queue Name
  • 84. Demo Windows Azure Data Storage - Queues The GuestBook Application
  • 85. Windows Azure Data Storage – Drives Beta just announced this week Implemented as a page blob containing an NTFS volume VHD Fixed size from 16 MB to 1 TB APIs Create Drive, Initialize, Get Mounted Drives Mount, Unmount, Snapshot Read, Write Your VMs can mount up to 16 drives
  • 86. SQL Azure Features Supported Tables, Indexes, Views Stored Procedures Triggers Constraints Table Variables Temp Tables (#Name) Not Supported Physical Server Access Catalog DDL Common Language Runtime Service Broker Reporting Services Analysis Services Distributed Transactions and Queries
  • 87. SQL Azure Initial Services Database – Core SQL Server database capabilities Future Services Data Sync – Enables the sync framework Additional SQL Server capabilities available as a service: Business Intelligence and Reporting New services: Reference Data and Secure Data Hub
  • 88. SQL AzureDeployment Web Portal (API) DB Script SQL Azure TDS
  • 89. SQL AzureAccessing databases Web Portal (API) Your App SQL Azure TDS Change Connection String
  • 90. Database Replicas Single Database Multiple Replicas Replica 1 Single Primary Replica 2 DB Replica 3
  • 91. SQL AzureDatabase Monitoring & Recovery Web Portal (API) ! Your App SQL Azure TDS
  • 92. SQL Azure Server Creation
  • 93.
  • 94.
  • 95. Demo SQL Azure Database Management
  • 96. Database Management using SQL Management Studio
  • 97. Database Migrations Scripts Transfer Schema Bulk Copy Program (BCP) Transfer Data SSIS (SQL Server Integration Service) Transfer Schema and Data
  • 98. Database Migrations (Cont.) The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to migrate your data.” http://sqlazuremw.codeplex.com/
  • 99. SQL Azure and Windows Azure Table Comparison SQL Azure Tables Windows Azure Tables Fully structured Strongly typed Relational (RDMS) Highly scalable Semi-structured Loosely typed Non-Relational (Not RDMS) Massively scalable
  • 100. Q & A
  • 101. Resources Azure Portal http://windows.azure.com Tools SQL Azure Migration Wizard http://sqlazuremw.codeplex.com/ Azure Storage Explorer http://azurestorageexplorer.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35189 Windows Azure Management Tool (MMC) http://cloudfex.com/cs/blogs/cloud/archive/2009/05/17/windows-azure-management-tool-mmc.aspx Windows Azure Forums http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/threads
  • 102.
  • 103.
  • 104. Session 3:From Construction through Deployment
  • 105. Agenda Build Web Application Migrate Web Application to Windows Azure Deploy to the Cloud Migrate Data to SQL Server Migrate SQL Database to SQL Azure Deploy SQL Azure Database Migrate Web Application to the Cloud
  • 106. Objective Understand the process of building and deploying web applications and databases to Windows Azure and SQL Azure.
  • 107. Part 1 - Developing and Running Application From the Local Dev Fabric Development Workstation The Cloud Dev Fabric Web App
  • 108. Demo Part 1 - Developing and Running Application From the Local Dev Fabric
  • 109. Part 2 - Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging Development Workstation Cloud Fabric Production Dev Fabric Web App Web App Staging
  • 110. Demo Part 2 – Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging Area
  • 111. Maintenance OS 1 Guest Partition Host Partition Guest Partition Guest Partition Service 1 Bits Service 2 Bits Service 3 Bits 6 Web VHD Worker VHD Worker VHD 5 Host Differencing VHD Guest Differencing VHD Guest Differencing VHD Guest Differencing VHD 4 Enterprise base VHD Server Core VHD Server Core base VHD 2 7 3 Hypervisor Physical Server Hardware CPU, memory, disk, and network
  • 112. Part 3 - Deploy A Web ApplicationFrom Windows Azure Staging to Production Cloud Fabric Production Staging Web App Web App
  • 113. Demo Part 3 – Deploy Our Windows Azure Application From The Windows Azure Staging Area into Production
  • 114. Part 4 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric Development Workstation The Cloud Dev Fabric Web App SQL Database
  • 115. Demo Part 4 – Developing and Running Application With SQL Server From the Local Dev Fabric
  • 116. Part 5 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric Cloud Fabric Development Workstation Production Dev Fabric Web App Staging SQL Database SQL Database SQL Azure
  • 117. Demo Part 5 - Developing and Running ApplicationWith SQL Azure From the Local Dev Fabric
  • 118. Part 5 - Developing and Running ApplicationWith Windows Azure and SQL Azure Cloud Fabric Development Workstation Production Web App Dev Fabric Web App Web App Staging SQL Database Web App SQL Database SQL Azure
  • 119. Part 7 - Revising Application Configuration Cloud Fabric Development Workstation Production Config Web App Dev Fabric Web App Web App Staging Web App SQL Database SQL Azure SQL Database
  • 120. Pricing The moment you’ve all been waiting for!
  • 121. Pay for computing and storage Elastic, scalable, secure, & highly available automated service platform Highly available, scalable, and self managed distributed database service $9.99/month(up to 1 GB DB/month) Compute Web Edition Per service hour Per database/month $0.12/hour + Variable Instance Sizes Windows Azure platform AppFabric Service Bus & Access Control Scalable, automated, highly available services for secure connectivity Business Edition Storage Access Control Service Bus $99.99/month(up to 10 GB DB/month) $0.015/10k Message Operations Per GB stored & transactions Per database/month $0.015/10k Message Operations Per Message Operation Per Message Operation $0.15 GB/month $0.01/10K transactions
  • 122. Pay per “processor” Windows Azure Instance Sizes Variable instance sizes to handle complex workloads of any size X Large Large Medium Small $0.96 $0.48 $0.24 $0.12 Per service hour Per service hour Per service hour Per service hour Unit of Compute Defined Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) X-Large Large Medium Small 8 x 1.6Ghz 4 x 1.6Ghz 2 x 1.6Ghz 1 x 1.6Ghz (high IO) (high IO) (high IO) (moderate IO) 14 GB memory 7.0 GB memory 3.5 GB memory 1.75 GB memory 2000 GB (instance storage) 1000 GB storage (instance storage) 500 GB storage (instance storage) 250 GB storage (instance storage)
  • 123. Windows Azure Platform Data Transfer Pay for data transfer in & out Priced per GB transferred/month (prices shown in USD) North America Region Asia Pacific Region Europe Region $0.10 GB Ingress $0.15 GB Egress $0.10 GB Ingress $0.15 GB Egress $0.30 GB Ingress $0.45 GB Egress N. Europe Sub-region N. Central – US Sub-region E. Asia Sub-region W. Europe Sub-region S. Central - US Sub-region S.E. Asia Sub-region No Charge For Off Peak Ingress Promotion (ends 6/30/10) On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones below Europe WET = UTC North America PST = UTC-8 Asia Pacific SST = UTC+8
  • 124. Q & A
  • 125. Resources - Deployments Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15
  • 126. More Information On Stuff We Wanted To Talk About But Didn’t Have Time For… AppFabric Smith, Justin. “REST Services Security Using the Access Control Service”. Microsoft PDC. 2009 http://microsoftpdc.com/Sessions/SVC19 Diagnostics Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15

Hinweis der Redaktion

  1. Welcome everyone my name is Clint Edmonson and I’m here today to introduce you to one of the most important new developer technologies starting off our new decade… Microsoft Windows Azure
  2. Our agenda for this session will be to show you Windows Azure in action using Visual Studio.Next, we’ll explore the Windows Azure Services PlatformWe’ll become familiar with the core services of Windows AzureWe’ll learn about Windows Azure RolesAnd we’ll use Visual Studio to develop our first Azure application
  3. Welcome everyone my name is <name> and I’m here today to introduce you to one of the most important new developer technologies starting off our new decade… Microsoft Windows Azure
  4. Our agenda for this session will be to show you Windows Azure in action using Visual Studio.Next, we’ll explore the Windows Azure Services PlatformWe’ll become familiar with the core services of Windows AzureWe’ll learn about Windows Azure RolesAnd we’ll use Visual Studio to develop our first Azure application
  5. Our agenda for this session will be to show you Windows Azure in action using Visual Studio.Next, we’ll explore the Windows Azure Services PlatformWe’ll become familiar with the core services of Windows AzureWe’ll learn about Windows Azure RolesAnd we’ll use Visual Studio to develop our first Azure application
  6. Cloud computing is a confusing term to many people, and even many of us in the industry wonder if it is real. So what is it?Cloud computing is a new consumption based style of computing, where you pay according to the quantity of resources that you consume.What services does cloud computing provide? Hosting applications, database storage, and non-database storage are the services used the most. Depending on which platform you look at, you may also have communication, security, and content services available to you.A related term you’ll hear a lot is “Software as a Service”, or SaaS. This simply means applications can be offered as a service, where consumers pay based on usage rather than buying a license. Microsoft’s CRM Online is an example of a SaaS application: you pay each month based on the number of users.You might be wondering how cloud computing differs from traditional hosting. Hosting is one of the primary uses of cloud computing, but is not the only service available. In traditional hosting, you have a contract reserving a certain number of machines for a certain amount of time. In cloud computing, you are free to change the number of virtual machines reserved for you whenever you wish—we call that On-Demand Scale. In a month-to-month arrangement you’re also free to walk away without residual financial or contractual obligations. Cloud computing also gives you reliability and high availability. Cloud data centers have smart infrastructures that monitor your applications and safeguard your data. Redundancy is a key part of this: redundant VMs to run applications and redundant copies of the data you store.A big part of the appeal of cloud computing is that it is a self-service platform. You can make things happen all on your own, which is tremendously empowering.Cloud computing is real, and it’s here to stay. I’ll give you some concrete examples in my next slide.Cloud computing is not going to replace enterprise I.T.—it is additive to the enterprise, not a substitute for it. Bringing cloud computing alongside enterprise I.T. gives us new options without giving up anything.
  7. To give you an idea of the magnitude of cloud computing, here are just a few numbers from Microsoft’s own cloud computing service offerings.Over a billion Windows Live authentications occur every single day!… 3 to 4 billion emails are filtered by forefront from 6 million mail boxes… 2 billion Bing queries happen every single month, 450 million Hotmail users, 20 million XBOX Live users, and 100 million Windows Update users!For you, the software developer: this represents a whole new paradigm in computing!
  8. Slide objectives: Explain what the cloud is in relationship to on-premises servers and hosted severs. Speaking Points: To put the cloud in perspective, let’s first think about the available options for deploying and running your application today. Today, there are a few established approaches for deploying and running applications.ServerOn one side you have on-premises servers or a self-hosted model. With on-premises servers, you bring your own machines, connectivity, software, and in some cases software licenses.You have complete control of the environment, the software stack, the hardware, etc.However, you also have complete responsibility. Your organization must have the skills and expertise to operate and manage the environment and software. You must take on the responsibility of patching the environment, replacing hardware, etc.These days, very few people want to be in this business. However, on-premises servers are not going away anytime soon. In some cases organizations have to maintain solutions running in an on-premises environment due to regulatory, data, or privacy requirements.Hosted ServersAn established alternative to the on-premises model is with a hosted environment.With hosted servers, you are effectively renting capacity – including machines, connectivity, and in some cases software.With this model, you have less control then when you’re managing your own servers. For instance, you can’t walk up to a machine, and plug in an external drive to load data. Or easily make hardware or software adjustments to optimize for performance. However, you also have fewer responsibilities when it comes to operating, updating, patching, and managing the environment. What is generally much more attractive about a hosted model is the cost model.The upfront capital costs can be much lower then building out your own infrastructure. However, one of the downsides is that you generally pay for the fixed capacity on a monthly basis – even if your application is idle. CloudWhat we are starting to see in the industry is the emergency of the cloud as a platform for building and running applications. So what is the cloud and how does it relate to these established options for running your apps?A cloud platform is designed as a shared, multi-tenant infrastructure.Cloud platforms utilize virtualization to: share hardware resources, provide isolation of applications or tenants, and also to provide a more dynamic infrastructure.Ability to scale out your application over multiple server instances.Because it is a shared infrastructure, there is even less control compared to a hosted environment. As this is an emerging space, there is a wide range of different types of cloud solutions. Some of the solutions focus purely on providing virtualized infrastructure. Servers you can remote into. However, many cloud platforms are starting to focus on raising the level of abstraction – so you can focus on building and deploying applications rather than remoting into machines and maintaining or patching servers. Old:Level of abstraction varies greatly today with the solutions in the marketWithin the cloud, there are things that are delivered as an infrastructureServices – services provided by the infrastructure and services you would consume programmaticallyFinally, one of the primary reasons why organizations ranging from startups, independent software vendors, and large enterprises are starting to investigate the cloud is the pricing model. With a cloud platform, you can expect a pay as you go pricing model – where you pay for what you use. [build arrow] I believe it’s important to understand that the cloud is part of a continuum. It is one ofpotential approaches that you can begin to use to deploy and run your applications. However, it’s important to understand that the cloud is not the silver bullet. It is not the perfect solution for every application. Notes:We view cloud as scale out, automated service management, high availability and multi-tenantBut cloud has other considerations: location, infrastructure, business model, ownership and management
  9. You may have heard the term “Software as a Service” or SaaS. There are several “as a service” terms associated with cloud computing: Infrastructure as a Service, or IaaS, is where you pay for infrastructure resources such as servers, storage devices, and network equipment. Platform as a Service, or PaaS, is where you pay for a platform that includes an operating system and application stack. PaaS is inclusive of IaaS. Software as a Service, or SaaS, is where you pay to use an application. SaaS is inclusive of both PaaS and IaaS.An example of PaaS is Windows Azure.An example of SaaS is Microsoft Exchange Online.
  10. Let’s look at a few examples of cloud computing to get the idea. If you have an online application meant for consumers—such as a web site or an e-store—you could host that in the cloud. If you have a corporate application meant for your employees—such as an HR benefits management portal—you could host that in cloud and secure it to your enterprise. If you need to electronically integrate with customers or vendors—such as a shipping partner—you can use the cloud for shared applications, data, or messaging between organizations.There are lots of other ways to use the cloud. We’ll look at more scenarios later on.
  11. To give you sense for how this impacts us as developers, here are just a few of the business opportunities driving our development efforts towards cloud applications… ISVs & SaaS Applications. For independent software vendors, cloud computing makes lots of sense as products transition into Software-as-a-Service offerings where quick scale is needed. Multi-tenancy makes cloud computing particularly cost effective. Mid-Market Enterprise. Analysts have identified mid-market enterprise as most likely to use cloud computing early on. Often this may be a single department taking the initiative. Enterprise application migration. Many enterprises will first put cloud computing to use by migrating existing applications in order to reduce operating costs or avoid the need to make further data center investment. Start-ups & Experimental Initiatives. The cloud is ideal for experimenting with projects that may succeed rapidly or may need to be shut down rapidly (“scale fast or fail fast”). This applies not only to start-ups but also to experimental initiatives within established companies. Fast Lane. Some companies will see the cloud as a “fast lane” to get around the lead time, obstacles, and project competition they face internally. Seasonal Businesses. Companies whose computing needs vary based on season are ideal candidates for the cloud. For example, a tax preparation service needs a lot of capacity in the Spring but not so much other times of year. Cloud Seen As A Competitive Edge. Azure is a playground for innovation, both technically and financially. Companies who seek a competitive edge will find the cloud a rich environment for innovation.
  12. This reference chart may help us to recognize opportunities for using cloud computing within our own organizations or our vendors or customers.A new social networking sight may need a massive amount of scalability…A 911 call center may require that last “9” of reliability…A tax preparation package may require varying amounts of computational power, storage, and bandwidth…A hurricane relief site may need to launch on a moment’s notice and be available for a duration that is hard to predict at the onset of the disaster.A genome sequencing project or perhaps a search for extraterrestrial planets to live on in our future might require massive amounts of parallel processing power.A new online startup may need to begin business with little or no capital investment and fail fast with little or no financial lossSo with the terrific list of “great fits” … are there any “bad fits”? Well… yes… there are a few… at the present time…Frequently updated applications are not very good candidates. Primarily I say this because as a developer … the time that it takes to deploy is longer than if you had your own local on premise or hosted servers; however, you must take this with a grain of salt as you’ll have to compare it against the level of effort the you presently invest to make deployments in order to gauge the applicability of this advice.Applications needing external data storage are also not very good candidates at the present time.Of course, this is a moving target… and as cloud computing evolves further… even these bullets (and others like them) may move from the not-so-good list to the good-list. We are entering a new era of software development where we will once again be inspired and excited about our profession as software developers!
  13. Many of us have been working with software for years, and some of us even decades. As such, we have an implicit understanding of our environment… we know what kind of architectural patterns to apply and what kind of code to write for our environments that will work. We are delighted that we don’t have to involve ourselves in the nitty-gritty details of how a network load balancer is configured or what kind of firewall is required. We are happy that there are other non-application developers taking care of these details for us so that we can focus on the architectural design of our software and writing code to implement those designs.All this having been said… we certainly would all agree that our software environment has an influence on the style of code that we write… without understanding our environment (at least at the macroscopic level)… we would likely make many missteps in the design and coding of our software. It is for this reason that I am spending a brief amount of time telling you a little more about your environment… to help us design and write applications better for the cloud.Microsoft Data Centers are a big part of the Azure story. Microsoft is building large, sophisticated cloud data centers around the world to complement its existing data centers. Two cloud data centers are in operation in the U.S. in Chicago and San Antonio. In 2010 we’ll see European data centers in Dublin and Amsterdam and Asian data centers in Hong Kong and Singapore.
  14. Windows Azure provides hosting and storage and management.The Windows Azure data center infrastructure is called the Fabric and manages instances of your applications. The Fabric detects if something goes wrong and allocates replacement resources if necessary.You can host HTTP-accessed software such as web applications and web services in Windows Azure. You can also host background worker software.Windows Azure also provides non-database storage. This comes in 3 forms: blobs, queues, and data tables. Blobs are similar to files, queues are similar to enterprise queues, and data tables are record-based storage.The Windows Azure management portal allows you to create projects, deploy software, change number of instances, upgrade software, and promote between Staging and Production environments.
  15. SQL Azure provides a database in the cloud. In fact it is based on SQL Server 2008. You can think of SQL Azure as a large subset of SQL Server 2008.Just to be clear though, SQL Azure only includes core database functionality, not Reporting Services, Analysis Services, or Service Broker. A lot of .NET software written for SQL Server will also work with SQL Azure. There are some features of SQL Server not available in SQL Azure such as user defined types. SQL Azure does supports stored procedures, which is another opportunity to leverage existing code. Later on I will show you some tools and techniques for migrating your existing Microsoft SQL Server databases to SQL Azure.The SQL Azure management portal allows you to create or drop databases and to configure a firewall to restrict database access. I will also demonstrate this later.Another SQL Azure feature is SQL Data Sync, which is a service that allows you to set up synchronization between cloud and on-premise databases or mobile devices.
  16. AppFabric is what makes theAzure platform enterprise-ready.Windows Server AppFabric and Windows Azure platform AppFabric enable users to build and manage applications more easily both on-premises and in the cloud.Windows Azure platform AppFabric, formerly called “.NET Services”, helps developers connect applications and services in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server and a number of other platforms including Java, Ruby, PHP and others. It provides a Service Bus for connectivity across network and organizational boundaries, and Access Control for federated authorization as a service. Windows Azure platform AppFabric is in CTP now.Service Bus helps to provide secure connectivity between loosely-coupled services and applications, enabling them to navigate firewalls or network boundaries and to use a variety of communication patterns. Services that register on Service Bus can easily be discovered and accessed, across any network topology.The Microsoft® Access Control helps you build federated authorization into your applications and services, without the complicated programming that is normally required to secure applications that extend beyond organizational boundaries. With its support for a simple declarative model of rules and claims, Access Control rules can easily and flexibly be configured to cover a variety of security needs and different identity-management infrastructures.Management of the Service Bus and the Access Control Service is done through the web portal. The Windows Azure Platform AppFabric is still in CTP, and at the time of this video some of the specifics were in transition.
  17. The Windows Azure Cloud Fabric is what provides all of this…We get multiple virtual server instances provisioning on-the-fly.We get failure detection when one or more of these virtual server instances fails. Failures are rare, but when they happen, the Windows Azure Cloud Fabric will automatically spin up new server instances to replace failing ones.It’s the Windows Azure Cloud Fabric that controls how many instances are created and what role each instance plays. Of course it takes its queues from the configuration data that we supply.The Windows Azure Cloud Fabric also automatically configures load balancing for multiple service instances… and it does so in a very dynamic and flexible manner… allowing quick increases and decreases in available service capacity.
  18. So that’s what the Windows Azure Cloud Fabric is all about… We’re developers… and we want to write software that targets the Windows Azure Platform… but we don’t have all of this incredible infrastructure on our development machines. It’s unclear for example, just exactly how we might go about building an application that required Blob Storage without actually having Blob Storage.Microsoft create a Windows Azure Cloud Fabric simulation environment just for that purpose… to give the .NET developer a familiar environment to work in that simulates all of the environmental characteristics of the actual Windows Azure Cloud Fabric.The “DevFabric” as it is called, runs locally on our boxes and interfaces with Visual Studio to give us an interactive debugger, simulated data storage, and other cloud services.
  19. There are two core roles that server instances play in Windows Azure.The first role is the Web Role. A web role is used for web application programming in ASP.NET or PHPThe second role is the Worker Role. A worker role is used for performing work on behalf of the web role.In addition to the .NET languages, Worker Roles may be written in Ruby or Java.Worker Roles are used to improve scalability by increasing parallelism and asynchronicity.They are often used for background work.
  20. Let’s take a closer look at the details of service instance roles…Web Roles define a single HTTP and single HTTPS endpoint for external clients to use. These endpoints are exposed to the public Internet.Worker Roles are not exposed to the public Internet. They can define any number of internal endpoints for communication transmission via TCP or HTTP.Worker Roles may also receive communications from Windows Azure Storage Queues; likewise, Web Roles can communicate with Worker roles using the same.Both Web and Worker Roles can make outbound communication calls to publically accessible resources on the Internet using the HTTP or HTTPS protocols or by making .NET Framework Class Library socket connections.Both Web and Worker Roles can access Windows Azure Storage using RESTful API’s or the Windows Azure Storage Client Library which is part of the Windows Azure SDK.
  21. The Windows Azure platform is strong on application and service management.First off, the infrastructure of the cloud—called the Fabric—provides important management services for you, many of them automatic. This includes provisioning of machines, patching of operating systems, and deployment of applications and upgrades.Next, we have the management portal which allows self-management of your application in the cloud. From the portal, you can deploy your applications, promote between Staging and Production, scale your application up or down, and upload software updates.Finally, there are the diagnostic and management APIs which allow program code to see execution traces, monitor performance counters, and initiate actions in the cloud such as starting a deployment or increasing the number of instances for an application.
  22. When we own and manage our own servers, we have a lot of concerns…We have upfront planning to do for our peak usage. In other words, we have to anticipate how much hardware demand there will be on our application, and we have to make our hardware purchases based on our peak demand. If we don’t purchase enough servers, we may lose business because our servers will be too busy. If we purchase too much capacity, we will have wasted a lot of money buying hardware that we didn’t need.We have to plan for hardware redundancy to reduce our down time. Not only for servers, but also for critical components of our network infrastructure. Of course, whatever we plan for, we will need to purchase.We have to make all of our server and software purchases up-front as a capital expenditure.We have to be concerned with how hardware failures will be detected in our infrastructure, and what automated or possibly manual procedures will have to be in place to recover when a CPU smokes or a hard drive head crashes into a platter. Do we need backup parts on hand? Are we going to attempt repairs, or do we want to just swap out failing equipment?It is difficult in a complex environment to estimate these things in a reliable manner.
  23. The Microsoft Windows Azure Platform takes us down an easier path with respect to hardware concerns.We make no up-front capital expenditures. Everything is pay-as-you-go for what you need, when you need it.We don’t have to determine what level of redundancy we may require as Windows Azure has built in redundancy.We don’t have to closely estimate what our peak usage might be, as we can add additional server instances any time we demand for our application requires them.We don’t have to worry about what happens when a server or network component fails, as the Microsoft Windows Azure platform provides built-in diagnostics and failure recovery. Windows Azure will dynamically repair itself.We developers can stay focused on applications and not the infrastructure.
  24. Here again, the Microsoft Windows Azure Platform takes us down a more comfortable pathNetwork topology and connectivity are created on the fly from configuration dataFirewall rules are easy to maintain and configureThe DMZ is build into the cloud. Many security concerns are no longer a problem for the application developer or the network administrator as they now belong to the Microsoft data center.Innovative ideas can be explored outside of entrenched and sometimes legacy I/T policies.
  25. As was hopefully evident, the Azure developer experience leverages what you’re already familiar with.If you’re a .NET developer and your favorite technologies are ASP.NET, Silverlight, Windows Communication Foundation, or SQL Server you’re going to be able to use those same technologies in the cloud.You also continue to use familiar tools including Visual Studio and SQL Server Management Studio.Azure isn’t just for .NET developers, however. Most of the services in the cloud are accessible as RESTful HTTP calls. That means Java developers, PHP developers, Python developers can also use Azure.For .NET developers, the Windows Azure SDK and tools for Visual Studio gives you a cloud simulator. The Development Fabric simulates the hosting environment and Developer Storage along with SQL Express simulate cloud data storage. This means you can develop cloud applications locally, even when offline.
  26. TODO: (insert this audio): “Once your Windows Azure Platform Services account has been setup, you’ll be able to manage your services through the portal.”The Azure management experience is one of its hallmarks. It’s very easy to set up new cloud projects for hosting, storage, database, communication, or security.The Windows Azure management portal shown here allows you to upload applications and deploy them to a Staging or Production environment. You can change the number of instances from here should you want to scale up or scale down. Promoting an application from Staging to Production is a 1-click affair. You’ll see much more about this in the Visual Studio demos and promotions that we’ll do.
  27. To start building applications for the Microsoft Windows Azure cloud, you will need to download and install the Windows Azure SDK.You’ll find the link for downloading this in the Windows Azure Platform developers area located at the URL on this slide.You’ll also need to setup your Windows Azure Platform account, which you can do from the same page.The process is simple and not very interesting to developers, so I’m not going to walk through it. The only information that you will need is that when you create your Windows Azure account you will associate a Windows Live ID with it for authentication purposes. You must also provide credit card information for billing purposes.NOTE to presenters: you will need to setup your Windows Live and Windows Azure accounts ahead of time.
  28. The Windows Azure SDK will install several things that we need to create, test, and deploy new Windows Azure Cloud Services.First, we get a new project template for Visual Studio to create Web and Worker Role projects with. We will demonstrate these shortly…Second, we get the Local Developer Fabric to simulate our applications running in the cloud without ever having the bits leave our desktop. We can think of the Local DevFabric as “Cassini for the Cloud”…Third, we get the Local Development Storage Services to simulate the highly scalable data storage options in the cloud… Blobs, Tables, and Queues. Just to be clear… it does not install SQL Azure.. We’ll talk more on that in a bit.Fourth, support for debugging our cloud services. We can attach our Visual Studio debugger to our applications through the Local Developer Fabric, and then debug them just as we do any other kind of .NET application.Finally, we get a packaging tool, which is integrated into Visual Studio to pull all of our content and binaries together and prepare a Cloud Service package ready to be deployed to Windows Azure. In Visual Studio, this tool also prepares the Windows Azure configuration file.For now, we can think of SQL Azure as Microsoft SQL Server 2008 in the cloud. No SDK is required because SQL Express 2008 or SQL Server 2008 can be used for this purpose. Of course we may have existing database tools that we use for database design and development and all of those tools are still very usable here. We design and build our databases locally, and then we deploy those databases to the SQL Azure database server in the sky.
  29. Questions?
  30. Here is a list of resources that will allow you to follow up on many of the features you’ve seen today, as well as become part of our development community!
  31. Welcome back to session 2 of our 3 part presentation! In case you are just joining us, my name is <name> and we’re going to be talking about data storage options on the Windows Azure platform.
  32. We’ll take a tour of SQL Azure as a data storage option and then we’ll look at the various types of data storage offered with Windows Azure… in particular, Blobs, Tables, and Queues. I will also make reference to additional materials regarding a new type of data storage that was recently added called Drives.We’ll also learn how to inspect the contents of Windows Azure Data Storage.
  33. We’ll start with SQL Azure... This will give most of developers a common frame of reference as most developers are comfortable with relational databases.In a short while, I will introduce Blobs, Tables, Queues, and DrivesSQL Azure can be thought of as your SQL Server in the cloud. It is based on a subset of SQL Server 2008.Blobs are a means of storing unstructured data, such as pictures, movies, PDF’s, Word documents, and the like.Tables are a means of storing semi-structured or tabular data. Tables are similar to an Excel spreadsheet in the sense that data is tabular and there is no strict type cohesion as there would be in a SQL Server table column. Data stored in tables is partitioned and keyed for retrievalQueues are a means of buffered message delivery. There are very useful for communicating data between our Windows Azure service instances. As our service instances do not have to wait around for the I/O of delivering the message or the result of the message processing, they can dramatically improve the scalability of our software system.Drives are a recently added feature announced at the Los Angeles PDC in November 2009. Drives provide durable storage that appears to our application as an NTFS volume. The drive itself is an abstraction over the same Windows Azure Data Storage used for Blobs. You can get more information on Drives by visiting the PDC site on my slide.Applications may use multiple types of data storage at the same time. In fact, this is quite common. When we do our first Windows Azure Data Storage demo together, I will be showing you an application that uses Blobs, Tables, and Queues in concert.
  34. Okay… That’s all about SQL Azure for now… we’ll come back to this topic in Session 3…Keep in mind that SQL Azure is a separate product from Windows Azure…. And that Windows Azure includes Windows Azure Data Storage, which we are going to talk about now. We will be using the Windows Azure Data Storage directly in demos, so these slides will provide more of a brief and high level overview.To get Windows Azure Data Storage setup, we simply create a new Storage Account from the Windows Azure Portal.
  35. Our Windows Azure Data Storage will be accessible via RESTful queries at the endpoints you see on this slide, or via the API in the Windows Azure SDK library.We’ll be using the Windows Azure library in our demo.
  36. Also provided on our data storage setup screen is the Account Name and a Primary and Secondary Access Key.Our Account name uniquely identifies our Data Storage locationThe Access Keys are a small chunk of encrypted data that prove our identity to Windows Azure Data Storage. We’ll use the Primary Access Key to access and update data stored in Data Storage.
  37. It’s time now to introduce Windows Azure Data Storage Blobs.Blobs are for storage of unstructured data.We partition our data by creating Blob containers which we give names to.We can create an unlimited number of Blob Containers.We then simply place our blob data into the blob containers, supplying a unique identifier.When we want to retrieve our data, we simply provide the container and the unique identifier.
  38. Another very effective tool for your Windows Azure toolbox is the Azure Storage Explorer.You can download this tool from the CodePlex site. I will also show you this tool as well.
  39. The PartitionKey combined with the RowKey uniquely identifies an entity in a table.
  40. Windows Azure Data Storage Tables are how we get massively scalable and highly available databases.Although there are some similarities, these tables are very different from relational database tables.Data in Windows Azure Data Storage Tables is semi-structured; The concept of a Windows Azure Data Storage Table is similar to how a spreadsheet is used to provide tabularized organization to data without strongly enforcing data cohesion.… Data is indexed in Tables for high performance retrieval, but there are no relationships between Tables.The tables support ACID transactions over single entities and rich queries over the entire table.
  41. Queues are a means of buffered message delivery. There are very useful for communicating data between our Windows Azure service instances.
  42. Queues are a means of buffered message delivery. There are very useful for communicating data between our Windows Azure service instances.
  43. As I stated earlier, SQL Azure is based on SQL Server 2008. At this time it is only a subset of the features of the server product.My intention here is to convey the high level features that are supported and the ones that are not.SQL Azure will support most of the things we need… Tables, Index, Views, Stored Procedures, Triggers, and Constraints… in my book… that’s all the functionality that I need for most of my applications.There are some other adjunct technologies that ship as part of SQL Server 2008 such as SQL Reporting Services and Analysis Services which are not supported. The Service Broker is also not supported.
  44. The current offering of SQL Azure provides just core relational database services.In the future, Microsoft will be offering Data synchronization based on the Sync framework so that on premise and mobile databases can be synchronized with databases in the cloud.Business Intelligence and SQL Reporting will be available as an SaaS (Software as a Service)And some new services will be unveiled such as Reference Data and Secure Data Hub. These our outside the scope of this presentation though, so feel free to point your favorite search engine at these terms for more information.
  45. So let’s assume that we have designed our relational database with local developer and data modeling tools.We can begin our story then by assuming that we want to get our database deployed to the cloud.There are some tools that will expedite this process which I will show you later, but for now lets assume that we have scripted our database schema. We apply this script to SQL Azure which speaks native TDS.If you created your database through the SQL Azure Portal, then SQL Azure will have created one master database and three replicas of that database. If you create your database with the script the same will be true.These replicas are stored in different database centers from the master to provide redundancy and protection against geographical catastrophe.
  46. Configuring our application to use SQL Azure storage instead of SQL Server is simply a matter of modifying the connection string in our application’s configuration file.When our application requests data, ADO.NET speaks to the TDS which directs our queries to the master database server. The master database server performs our query and returns the results to our application.
  47. From our application’s point of view, there is only one SQL Azure database.As we make updates to our database, those updates are replicated to other copies stored in other data centers so that in the event that our database fails for any reason, the other databases will be standing by ready to take its place.
  48. But what if that master database server fails for some reason?TDS is receives notification of the database failure and automatically redirects the call to the replica!The Azure Cloud Fabric is self-healing… and the details are outside the scope of this presentation; however, the fabric will get busy repairing itself like drones on a Borg mother ship… essentially with the objective of keeping three replicas online at a time.
  49. I will demonstrate creating a SQL Azure account in session 3 where I will walk you through the entire process.For now I simply want to give you some background information to prepare you for our first demonstration.When we create our SQL Azure database server, we’ll be prompted for an Administrator’s name and a password.This username and password will be the granted a system administrator role that is similar to the “sa” account on a local SQL Server 2008 box. The account has permission to create and drop databases and database ownership authority in any databases that you create with this account.
  50. After creating your SQL Azure database server, you will want to grant appropriate access through the SQL Azure firewall.SQL Azure provides a very simple and easy to maintain firewall. The firewall is so easy to use that it’s only going to get one slide in my deck!The firewall allows us to expose our database to Windows Azure services via a checkbox and to add ranges of IP addresses such as your home office and your business… or possibly the address of a 3rd party server hosting some application that needs data access.I’ll do a thorough demo of this feature in session 3…
  51. When you created your SQL Azure database server, you supplied an administrator’s user name and password. I have named my user accordingly… to remind me of its power.The SQL Portal will offer you the ability to copy these credentials in connection string format to your clip board… tempting you into believing that you should just paste this into your configuration file.This is terrific for demos like mine… BUT you should NEVER, EVER do this…A database server system administrator password placed in a configuration file in clear text format… there has got to be something naive in the extreme going on here… and worse… no way to create non-sa-like users through the UI… you must script your database users and then apply the script to the database. And to anticipate your question… no… you can’t use SQL Server Management Studio to do this either.I will demo this as well in session 3… so hang tight…
  52. Although some things can be done with SQL Server 2008 Management Studio, I highly recommend that you use the 2008 R2 Nov CTP as it is SQL Azure aware.After you have created your system administrator account for SQL Azure, you can use SQL Server Management Studio R2 CTP to make connections to the database and execute scripts such as the one that I am showing in this slide.
  53. There are a number of techniques for getting data migrated from an existing database into a SQL Azure database.One very effective technique is to script the database schema and any stored procedures or views and then apply these scripts to the SQL Azure database. Once the schema has been deployed to the cloud, BCP can be used to copy the data in.Another effective technique is to utilize SQL Server Integration Service which will transfer the Schema and the Data.
  54. I think that I saved the best for last here… The SQL Server Migration Wizard is available for download from the CodePlex website at the URL on this slide.To quote the website, “The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to migrate your data.”I will demonstrate this tool in session 3 when I use it to migrate an application and associated database from the local desktop to the cloud.
  55. We have included this feature comparison table in anticipation of your likely questions about differences between using a relational database table as you may be currently doing with your SQL Server databases and the new Windows Azure Tables included in Windows Azure.
  56. Questions?
  57. Here is a list of resources that will allow you to follow up with us on any of the features you’ve seen today as well as become part of our development community!
  58. Windows Azure DiagnosticsLogging and Monitoring in the Cloud
  59. Welcome back to session 3 of our 3 part presentation! In case you are just joining us, my name is <name> and we’re going to be doing nothing but a non-stop demonstration of how to build and deploy web applications and databases to the cloud.
  60. Build Web ApplicationMigrate Web Application to Windows AzureDeploy to the CloudMigrate Data to SQL ServerMigrate SQL Database to SQL AzureDeploy SQL Azure DatabaseMigrate Web Application to the Cloud
  61. Understand the process of building and deployment web applications and databases to Windows Azure and SQL Azure.
  62. First… lets start with a clean slate and build a web application from the ground up. We’ll get that application running on our desktop in the local Windows Azure Dev Fabric. The Cloud will not be a part of this step... But well get there very soon.
  63. In this step of our demonstration, we are going to take the web application that is presently running in the local Dev Fabric and we’re going to deploy it to what’s called the Staging area in the Windows Azure Cloud. Once we have completed this step, we’ll launch our web browser against the Staging area to see our application run in the Cloud for the very first time.
  64. In this step of our demonstration, we are going to take the web application that is presently running in the Windows Azure Staging area, and we’re going to promote it to the Production environment.Once we have completed this step, we’ll launch our web browser against the Production environment to see our application run as our production users would see it.
  65. In this step of our demonstration, we’re going back to our local Dev Fabric and making some changes to our application to migrate it from using XML data files to a SQL Server database. We’ll execute our application from the local Dev Fabric to get things running. Since this step is all development work, nothing will happen in the cloud… that will come later when we deploy.
  66. In this step of our demonstration, we’re going to deploy only our SQL Database into the SQL Azure cloud. We’ll continue to execute our application from the local Dev Fabric to ensure that everything went smoothly with our database promotion.Unlike Windows Azure, SQL Azure does not have a Staging area, so this represents a direct promotion of our database into the production environment.
  67. In this step of our demonstration, we’re going to complete our full deployment of database and application to the cloud!As you may recall, we already have a version of your application sitting in the production environment. This is the version that runs off of an XML data store.We’ve already deployed our SQL Database into the SQL Azure cloud… but I’m showing it here just to give us context. We’ll proceed now with deploying our web application to Windows Azure. We’ll deploy to staging and test there. Then when we are satisfied that everything is working properly, we’ll swap Production and Staging.Once this has been done, we’ll point our web browser at the Production environment to see our finished product!
  68. In this step of our demonstration, we’re going to show how configuration changes can be made to our Windows Azure environment, such as the number of web and worker instances to create to service our application’s users.It is important to understand the differences between our application’s configuration and the services configuration. Our application keeps its configuration data in its web.config file, while the service keeps its environmental configuration in the ServiceConfiguration.cscfg. If you consider the procedures that we have been through, it will be apparent that changes made to the web.config file will require a service redeployment as that is the only way to get a service package propagated to service instances.Keep in mind that it’s possible to add custom configuration to the ServiceConfiguration as we did for the demos in the Data segment of this presentation thereby avoiding the need to redeploy when making configuration changes.Let’s proceed with a configuration change to the ServiceConfiguration.cscfg file.
  69. Questions?
  70. Here is a list of resources that will allow you to follow up on many of the features you’ve seen today, as well as become part of our development community!
  71. Here is a list of resources that will allow you to follow up on many of the features you’ve seen today, as well as become part of our development community!