Data Patterns for the Cloud James Carpinter M313
NetworkFast & reliable network Switch for app + db? Same D/C; less reliable, more hops and load balancers = latency StorageBig, fast SANBig, cheap JBOD HardwareSpecific to roleGeneric (no custom SKUs) AvailabilityManaged servicing, low failuresUnexpected services & failures PurchasingUpfront capex: overprovisionOpex (add/remove on demand) LicensingPer processor, per yearPer minute/hour Result*Everything* goes in database*Everything* as-a-service
Data & Storage Compute Cloud Services Storage BlobsTablesQueues
Data & Storage Compute SQL Database Cloud Services Storage BlobsTablesQueues
Data & Storage Web & Mobile Compute SQL Database App Service Virtual Machines Media & CDN Media Services CDN Developer Services DocumentDBRedis Cache Cloud Services BatchService Fabric Networking Virtual NetworkExpressRoute Traffic Manager StorSimple Search Storage Identity & Access Azure Active Directory Multi-Factor Authent API Management Notification Hubs Mobile Engagement Visual Studio Online Application Insights Management SchedulerAutomation Operational InsightsKey Vault Analytics & IoT HDInsight Machine Learning Stream AnalyticsData FactoryEvent Hubs Hybrid Integration BizTalk ServicesService BusBackupSite Recovery Web AppMobile AppAPI AppLogic App BlobsTablesQueuesFiles Marketplace … Data Lake Data Warehouse RemoteAppDNS Application Gateway
AvailabilityConsistency Partition Tolerant Relational, Un-partitioned Dynamo-like: Cassandra, CouchDB Big Table-like: HBase, MongoDB
(1) Database (2) Sharding Key... (3) Shard Map Manager (4) Shard (5) Shard Set (6) Sharded Table (7) Reference Table (8) Shardlet Customer IDName 1Alice 2Bob Customer Table Data Center IDDC Name 1Boston 2Miami Data Center Table
Polyglot persistence Optimized for data Optimized for workload Not a new concept EAV XML Architecture paradigm: OLAP/DW and OLTP
transactional processing rich query managed as a service elastic scale internet accessible http/rest schema-free data model arbitrary data formats
Storage adapters Stream processin g Cloud gateways (web APIs) Field gateways Applications Search and query Data analytics (Excel) Web/thick client dashboards Devices to take action Web and Social Devices Sensors
Advanced Messaging Scenarios with Azure Service Bus Messaging ??? Fri 11:55am How to Build High Performance Apps Using Microsoft Azure Redis Cache ??? Thu 1:55pm Elastic for SQL – shards, pools, stretch ??? Fri 11:55am In-Memory OLTP: The Road Ahead ??? Wed 11:55am Azure Storage Architecture and getting the most out of IaaS Premium storage ??? Thu 10:40am Building highly available and recoverable solutions with Azure Event Hubs and Service Bus Messaging ??? Thu 3:10pm Find me later at… Hub Happy Hour Wed 5:30-6:30pm
Subscribe to our fortnightly newsletter Free Online Learning Sessions on Demand