410 likes | 526 Views
Feature Decision Making with Hybrid IT Solutions. Mick Badran MVP, VTSP b- mickba ninjamic. Scott Scovell VTSP b- scosco scothestig. What by saying its name destroys it?. The Cloud. "640K ought to be enough for anybody." - Bill Gates, 1981 . Session Topics. Overview of the Solution
E N D
Feature Decision Making with Hybrid IT Solutions Mick BadranMVP, VTSPb-mickba ninjamic Scott ScovellVTSPb-scosco scothestig
The Cloud "640K ought to be enough for anybody." - Bill Gates, 1981
Session Topics • Overview of the Solution • Hybrid Technology Points • Azure Storage – Discussion & Demo • Azure Service Bus – Discussion & Demo • SQL Azure & SQL Sync – Discussion & Demo • Azure Connect – Discussion & Demo • Various improvements • Summary & Wrap up
Overview of our Solution Cloud Compute ComponentsRoles Azure Storage Tables Blobs Queues …. SQL Azure Azure Storage Tables Blobs Queues …. Clients…Partner Systems.Data Feeds… ACS Service Bus On Premise
Overview of our Solution The Client – An Online Gaming Corp. The Facts Tasks Technologies Global Geo Distributed High Volume, low latency public interface(s) Mixture of on-Prem, BTS and lots of Cloud. High volume near real time Work with live on-premise high volume feeds Monitoring BTS/SQL On-Prem Handle money, prices and betting Connectivity between worlds – HOW?
Hybrid Technology ADFS2 AppFabricAccess Control Security AppFabricIntegration BizTalk AppFabric Service Bus Integration SQL Server SQL Azure Data Sync Data .NET WCF .NET WCF Compute Table Storage Blob Storage Queue Storage Storage Connect Networking
Azure Storage • Geographically distributed across 3 regions • Anywhere are Anytime access to data • >200 Petabytes of raw storage (Dec 2011)
Azure Storage • Abstractions • Blobs– File system in the cloud • Tables– Massively scalable structured storage • Queues– Reliable storage and delivery of messages • Drives– Durable NTFS volumes for Windows Azure applications • Easy client access • Easy to use REST APIs and Client Libraries • Existing NTFS APIs for Windows Azure Drives
Azure Storage Concepts Container Blobs Account • Table Entities https://<account>.blob.core.windows.net/<container> Queue Messages https://<account>.table.core.windows.net/<table> https://<account>.queue.core.windows.net/<queue>
Scalability & Performance Constraints • Single storage account: • Capacity – Up to 100 TBs • Transactions – Up to 5,000 per second • Bandwidth – Up to 3 gigabits per second • Single Queue: • Up to 500 messages per second – ‘theoretical’ • Single Table Partition: • Up to 500 entities per second • Note, this is for a single partition, and not a single table. See why good partitioning is a must! • Single Blob: • Up to 60 MB/sec
Our Design challenges • How do you expose dynamic, pre-processed data out to public consumers? • How do you balance work across scale-out workers? • How do you transfer messages reliably? • How do you queue messages that can be greater than 8 KB?
Feature Design Cloud Compute ComponentsRoles Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. SQL Azure Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. Clients…Partner Systems.Data Feeds… ACS Service Bus On Premise On Premise
DEMO Large Message Queue Support
Let’s open up the discussion • How many of you have faced similar challenges? • How did you approach the solution? • Any other compelling constraints you have hurdled over? • …real world goodness shared
Azure Service Bus • Interconnect services across networks • Naming and Discovery • Connectivity w/ NAT and Firewall Traversal • Access Control Integrated Authorization • Cloud-Based Message-Oriented Middleware • Next Generation Message Queue Technology • Rich Publish/Subscribe with Filtering • Transaction Integration
Relay Messaging Service Bus • Using Outbound Connections Only • No open inbound firewall/NAT ports • Outbound connections default to TCP • Fall back to HTTP when needed • Guarded by Datacenter Firewall • Secured with Access Control Frontend Nodes Receiver
Queues P Queue C • Reliable, durable storage – up to 1GB per Queue* • Queues stay in the system once created, no TTL limit • Max message size 256KB, Sessions allow grouping • Messaging API, WCF, and HTTP/REST Interfaces
Topics S C • All the Features of Queues + Publish/Subscribe • Up to 2000 Subscriptions on a Topic • Each Subscription is a virtual queue getting message copies • Subscriptions can have filters and actions P Topic S C S C
Our Design Challenges • How do you achieve load-decoupling between subsystems? • How do you balance work across scale-out workers? • How do you distribute events to dynamic subscribers? • How do you transfer messages reliably and transactionally? • How do you reach into on-premise systems across firewalls? • How do you organize and discover service endpoints?
Feature Design Cloud Compute ComponentsRoles Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. SQL Azure Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. • Exposing on-premise services via Azure Service Bus relay endpoints • Load balancing and high availability support • Low latency, high volume capability Clients…Partner Systems.Data Feeds… ACS Service Bus On Premise On Premise
demo Demo Load Balancing and High Availability
Let’s open up the discussion • How many of you have faced similar challenges? • How did you approach the solution? • Any other compelling constraints you have hurdled over? • …real world goodness shared
SQL Azure & SQL Sync – Discussion & Demo Reporting Database Data Sync
Feature Design Cloud Compute ComponentsRoles Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. SQL Azure Azure Storage Tables Blobs Queues …. Azure Storage Tables Blobs Queues …. Clients…Partner Systems.Data Feeds… ACS Service Bus On Premise On Premise
SQL Azure Database • Familiar 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 • Logical optimisations supported • Indexes, Query plans etc.. • Physical optimizations not supported • File Groups, Partitions etc… • Transparently manages physical storage
SQL Server Database Migration Considerations • Database size • I/O requirements • SQL Azure Compatibility • Security • Many databases (cross database joins) • OLE-DB – Not supported • Linked Servers • See MSDN SQL Azure Database • http://msdn.microsoft.com/en-us/library/ee336279.aspx
SQL Azure Constraints Currently Supported Not Supported Change Data Capture Cross Database Joins Data Auditing Data Compression Database file placement Database mirroring External Key Management / Extensible Key Management FILESTREAM Data Full-text Search / Indexes Global temporary tables Performance Data Collection (Data Collector) Policy-Based Management Resource Governor SQL-CLR SQL Server Replication Transparent Data Encryption Table Partitions • Tables, indexes and views • Stored Procedures • Functions • Cursors • Triggers • Constraints • Table variables, session temp tables (#t) • Spatial types • HierarchyId • Sparse Columns • Throw statement Tables require clustered indexes
SQL Azure Data Sync On-Premises Cloud Offline Clients • Geo-replication of SQL Azure data and spanning on-premises with cloud • geo-replication • adds sync between SQL Server and SQL Azure • Builds on Sync Framework • Sync data between SQL Azure, SQL Compact and SQL Server • Next version enables sync for offline clients
demo Demo SQL, SQL Azure + SQL Sync
Let’s open up the discussion • How many of you have faced similar challenges? • How did you approach the solution? • Any other compelling constraints you have hurdled over? • …real world goodness shared
Windows Azure Connect • Secure network connectivity between on-premises and cloud • Supports standard IP protocols • Enables hybrid apps access to on-premises servers • Allows remote administration of Windows Azure apps • Simple setup and management • Integrated with WA Service Model • Web, Worker and VM Roles supported Windows Azure Enterprise
Windows Azure Connect Windows Azure • Network policy managed through Windows Azure portal • Granular control of connectivity between WA roles and external machines • Automatic setup of IPsec • Tunnel firewalls/NAT’s through hosted SSL-based relay • Network policies enforced & traffic secured via end-to-end certificate-based IPSec • DNS name resolution based on endpoint machine names Role A Role B Role C (multiple VM’s) Relay Dev machines Databases Enterprise
demo Azure Connect - Today
Feature Decision Making with Hybrid IT SolutionsWrap up • We covered a range of technologies • Know what the hybrid components are • Know what the limitations are • Thank you!!!!
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.