980 likes | 1.31k Views
Developing Windows Azure applications. Alexandru Bogdan ȘTEFAN Microsoft Certified Trainer. Agenda. What is Windows Azure? Introduction in Windows Azure Windows Azure Services Windows Azure Free Trial Developing Azure Applications Hello World
E N D
Developing Windows Azureapplications Alexandru Bogdan ȘTEFAN Microsoft Certified Trainer
Agenda What is Windows Azure? • Introduction in Windows Azure • Windows Azure Services • Windows Azure Free Trial Developing Azure Applications • Hello World • Application Deployment, Updates and Scaling Windows Azure Services • Compute • Storage • SQL Azure • Service Bus
Windows Azure Core Services Database Compute Storage
Windows Azure Compute Virtual Machines in the CloudThree Flavors: Web Role Worker Role VM Role
Windows Azure Storage Scalable storage in the cloud 100tb per storage account Auto-scale to meet massive volume and throughput Accessible via REST services Access from Windows Azure Compute Access from anywhere via internet Supporting .NET Client Library Various storage types Table - group of entities (name/value pairs) Queue - Simple non-transactional message queue Blob - Large binary storage Drives - NTFS VHD mounted into Compute instance
SQL Azure Database SQL Server relational database model delivered as a service Support for existing APIs & tools Built for the cloud with high availability & fault tolerance Easily provision and manage databases across multiple datacenters SQL Azure provides logical server Gateway server that understands TDS protocol Looks like SQL Server to TDS Client Actual data stored on multiple backend data nodes
Building BlockServices Distributed, in-memory cache for Windows Azure apps Session state provider for Windows Azure applications .NET client library for caching data Caching Authn support using multiple identity providers Easily integrate Live ID, Facebook, Yahoo, Google, & AD Support for industry standards and existing .NET APIs Access Control Messaging & connectivity for building distributed and loosely-coupled apps in the cloud Enables hybrid apps across both on-premises & the cloud Queues & Topics for persistence & pub/sub messaging Service Bus
Data Services SQL Server Reporting provided as a service Reports authored using existing tools (BIDS) Reports can include rich Data Visualizations (Maps, Charts, Tablix) and exported to variety of formats Directly viewed in the browser or rendered as part of an app using the Reporting Viewer control Web Service interface to render & manage reports Reporting Synchronize data from on-premises SQL Server to/from SQL Azure in the cloud Synchronize data between SQL Azure databases potentially in different data centers Data Sync
Windows Azure Traffic Manager Designed to provide higher performance or availability of web applications and services Load balancing across multiple Hosted Services Available in CTP today Select from three modes: Directs the user to the best / closest deployment Redirect Traffic to another deployment based on availability Traffic is distributed equally to all hosted services Performance Fault Tolerance ROUND ROBIN
Windows Azure CDN • Windows Azure • Customer Enables a better user experience & global reach Broad reach with 24+ locations globally 99.95% availability ECN NODE… ECN NODE 2 - TOKYO Container Windows Azure Storage Browse tocdn.customer.comGETfoo.jpg ECN NODE 1 - LONDON EDGE CACHING SERVERS
Windows Azure Data Centers North America Region Europe Region Asia Pacific Region North Central US South Central US Northern Europe Western Europe East Asia South East Asia • 6 datacenters across 3 continents Simply select your data center of choice when deploying an application
Windows Azure 3 MonthsFree Trial Windows Azure SQL Azure • Elastic, scalable, secure, and highly available automated service platform • Highly available, scalable, and self managed distributed database service • Storage • Business Edition • Web Edition • Compute Per GB stored and transactions Per database/month Per service hour Per database/month NOT INCLUDED 20 GB storage 50k Storage transactions 750 hours Small Compute Instance 1GB Database Windows Azure Additional Services • Access Control • Caching • Service Bus Free through March 31, 2012 128MB cache Per Message Operation Per Message Operation Per Message Operation 100.000 transactions
To enable the No ObligationFree Trial All new customers have a Spending Limit of $0 (USD) Spending Limit can be disabled, but cannot be re-enabled ! When the limits are reached, your subscription will be disabled until next billing month to avoid unnecesary charges. A Credit / Debit Card Mobile Phone for SMS Validation Windows Live ID
Get started. http://WindowsAzure.com
Hello Windows Azure demo
What you saw… Simple ASP.NET MVC app Visual Studio 2010 Roles & instances are models in XML config Local F5 debugging Deployed to the cloud Simple portal experience Staging to production
servicepackage servicepackage
Provision Virtual Servers Deploy App Code Configure Network servicepackage new virtual server new virtual server Server Rack 1 Server Rack 2
Provision Virtual Servers Deploy App Code Configure Network servicepackage Windows Azure Datacenter
Provision Virtual Servers Deploy App Code Configure Network servicepackage Windows Azure Datacenter
Provision Virtual Servers Deploy App Code Configure Network Network Load Balancer Network load-balancer configured for traffic Windows Azure Datacenter
Windows Azure provided… Environments for your apps Machines, rack space, switches, connectivity Automated deployment & configuration Isolation, redundancy, load balancing Abstraction & Flexibility
Windows Azure Deployment Each hosted service can have two deployments: Production & Staging Deployments performed through: Windows Azure Platform Portal Visual Studio REST Service Management APIs PowerShell cmdlets/scripts Deployment outside of the portal requires management cert to be associated with the Windows Azure subscription
Scale-up And Scale-out Volume Volume $10,000 machine $1000 machine $500 machine $500 machine $500 machine $500 machine $500 machine Scale Out Scale Up # Machines
2 6 92 Scale
92 Scale
10 Scale
Network Load Balancer Windows Azure Datacenter
Developer Network Load Balancer Windows Azure Datacenter
Developer Network Load Balancer Windows Azure Datacenter
Developer Network Load Balancer Windows Azure Datacenter Staging Production
What is Windows Azure Compute? Virtual Machines in the CloudThree Flavors: Web Role Worker Role VM Role
Role Types Worker Role Designed for web sites/services accessible using HTTP Provides all features of a worker role and IIS 7 or 7.5 Execute ASP.NET, WCF, PHP, etc. Can include multiple web sites in the same role Optionally implement RoleEntryPoint Web Role General purpose host for executing code or an executable Implement code in a Run method Similar to a Windows Service Host your own web server, encoder, etc. Typically used for background processing
What Can It Run? • General Rule • If it runs in Windows it runs in Windows Azure • Choice of Language • C#, VB, C++, Java, PHP, Ruby, Node.js, Phython, etc. • Choice of Frameworks • .NET, ExpressJS, Rails, Zend, etc.
Roles and Instances • Roles are defined in a Hosted Service • A role definition specifies: • VM size • Communication Endpoints • Local storage resources • etc. • At runtime each Role will execute on one or more instances • A role instance is a set of code, configuration, and local data, deployed in a dedicated VM
Roles and InstancesExample Hosted Service configuration with a single web role and a single worker role Hosted Service Web Role Worker Role VM1 • VM2 • VM3 • VM4 VM1 • VM2 • VM3 • VM4 • VM5 • VM6 • VM7 • VM8 • VM5 • VMn • … • VM9 • VMn • …
The High Scale Application Archetype Intelligent Network Load Balancer Network Activation Stateless Web and/or Application Servers Stateless ‘Worker’ Machines Async Activation State Tier Queues Key/ValueDatastores Partitioned RDBMS Shared Filesystem
Windows Azure Storage Storage in the Cloud Scalable, durable, and available Anywhere at anytime access Only pay for what the service uses Exposed via RESTful Web Services Use from Windows Azure Compute Use from anywhere on the internet
Windows Azure Storage AccountUser specified globally unique account name Can choose geo-location to host storage account: US Europe Asia North Central US South Central US Northern Europe Western Europe East Asia South East Asia
Windows Azure Storage Account Can CDN Enable Account Blobs delivered via 24 global CDN nodes Can co-locate storage account with compute account Explicitly or using affinity groups Accounts have two independent 512 bit shared secret keys 100 TBs per account
Storage in the Development Fabric There are some differences between Cloud and DevStorage: http://msdn.microsoft.com/en-us/gg433135 A good approach for developers: To test pre-deployment, push storage to the cloud first Use Dev Fabric for compute connect to cloud hosted storageFinally, move compute to the cloud Provides a local “Mock” storage Emulates storage in cloud Allows offline development Requires SQL Express 2005/2008 or above
Windows Azure Storage Abstractions Tables Structured storage. A table is a set of entities; an entity is a set of properties. Blobs Simple named files along with metadata for the file. Queues Reliable storage and delivery of messages for an application. Drives Durable NTFS volumes for Windows Azure applications to use. Based on Blobs.
Blob Storage Concepts http://<account>.blob.core.windows.net/<container>/<blobname> Blob Pages/ Blocks • Account Container PIC01.JPG images Block/Page PIC02.JPG contoso Block/Page videos VID1.AVI