Azure Services Platform Piotr Zierhoffer
Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment
What is a cloud? You already know that, next slide please.
What is a cloud?
Scenarios Rapid growth Unpredictable usage ▫tickets, emergency systems, marketing Predictable usage ▫e-commerce, test results Temporary usage ▫events
Where is Azure? „Host your webpages, deploy ready apps” – SaaS ▫manage nothing „Host your applications” – PaaS ▫manage app and data „Host your infrastructure” – IaaS (?) ▫manage app, data, middleware, OS… (!)
What is Azure? Everything you will ever need Windows Azure Windows Azure Fabric SQL Azure Live Services SharePoint Services Dynamics CRM Services
Environment Data Centers ▫More than 10 ▫Less than * 10 9 $ engineers $$$$$$$$$$$$
Basics The world is based on.NET ▫ or is it not? Java, Python, PHP, Ruby… You need more power You don’t need to know how does it work Connect via WCF, SOAP, REST, … Microsoft.WindowsAzure Use PowerShell Trust us!
Glossary Role ▫app logic Storage ▫queue, table, blob ▫Azure Drive NTFS mounted to a role up to 400 MB/s (+cache) SQL Azure ▫replicas + load balancing
Glossary Fabric ▫hardware abstraction ▫scaling, load balancing AppFabric ▫access control and more Management API Diagnostic API
Architecture
Web Role Hosts web application ▫ASP.NET, ASP.NET MVC, WCF, FastCGI, … ▫IIS – full configuration in XML ▫automatic load balancing ▫user front-end
Worker Role ~= console application ▫Run() ~= main() ▫may execute any code, host database, etc. ▫may work like a daemon process ▫usually contains process logic
AppFabric PaaS level integrates cloud apps with other apps as for now – only Service Bus and Access Control
AppFabric Access Control ▫Single Sign-On ▫Active Directory Federation Server ▫Windows Live ID, Google, Yahoo!, Facebook… Service Bus ▫secure communication ▫hybrid topologies ▫different protocols Cache ▫transparent for client, easy to manage, nonexistent
Storage Table ▫no constant schema ▫scales over thousands of servers (partitioning key) ▫no relations, foreign keys, joins, aggregates ▫LINQ, REST API ▫indices on PK and RK ▫timestamp – optimistic concurrency + ETAG ▫entities up to 1MB, but they can have different properties ▫transactions within a partition
Storage Blob ▫no structure, serialized data, video, pictures, … ▫Block Blob – streamed data Up to 200GB/blob, 4MB blocks ▫Page Blob – random access Up to 1TB/blob ▫Put, Get, Delete, Copy, Snapshot, Lease ▫properties Drive ▫shared files, simple structure management ▫possible mounting of VHD with work environment ▫based on Page Blob
Storage Queue ▫communication between roles, separation ▫almost FIFO, one way almost – messages may be processed many times so there is NO real order guarantee, possible starvation etc. ▫easy scaling ▫free data transfer from roles to queues! ▫up to 100TB, 8kB per message, saved for 7 days ▫timeouts
Deployment Windows Azure ▫IntelliTrace ▫no debugging Azure Development Storage/Fabric ▫95% compatibility with Azure (90% of AF code) ▫local development Separate configuration (no redeploying) Deploy via Web, VisualStudio, PowerShell Demo
Where to look? epapershttp:// epapers Programming Windows Azure: Programming the Microsoft Cloud ▫By Sriram Krishnan do-Zhttp://channel9.msdn.com/Series/Azure-od-A- do-Z
Thank you SQL Azure Pricing Advanced management