Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Windows Azure Architecture 
I think, therefore I am 
Fernando Machado Píriz 
Enterprise Architect, Microsoft 
@netconfuy 
...
>57% >250k 
Fortune 500 using Azure 
Active websites 
Greater than 
1,000,000 
SQL Databases in Azure 
>20TRILLION 
storag...
t 
Compute 
t 
Compute 
t 
Compute 
Inactivity period 
t 
Compute 
t 
Compute 
t 
Compute
Pooled and shared resources 
Metered 
Cheaper 
Elasticity 
Cloud attributes 
Pay as you go 
New scenarios
Traditional World New, Innovative World 
Cheaper Cheaper 
Elasticity 
Pay as you go 
Pooled and shared resources 
Metered ...
Traditional World New, Innovative World 
Many features 
Mean time to failure 
Slow update pace 
Development lifecycle 
Unk...
Agility over features 
Mean time to resolution 
Continuous updates 
Continuous development 
Up and running at appropriate ...
Reliability over features 
Mean time to resolution 
Detailed usage patterns 
Up and running at appropriate costs 
Run 
Bui...
Reliability over features 
Up and running at appropriate costs 
Health check 
200 (Ok) 
Port 80 (http) 
or 443 (https) 
en...
Web development 
Stateless web servers 
No session state; or distributed caching 
Reliability over features 
Mean time to ...
Reliability over features 
Continuous updates 
Up and running at appropriate costs 
Caching 
Memcached 
Cloud 
Managed 
Ca...
Reliability over features 
Up and running at appropriate costs 
Relational Key/Value Colum Family Document Graph 
Azure S...
Reliability over features 
Up and running at appropriate costs 
Retry 
Resiliency 
1 
Application Hosted service 
2 
3 
50...
Reliability over features 
Up and running at appropriate costs 
Resiliency 
Closed 
entry / reset failure 
do / if operati...
Reliability over features 
Up and running at appropriate costs 
Throttling 
Resiliency 
Resource 
utilization 
Feature C 
...
Resource 
utilization 
All applications 
Throttling is relaxed 
when autoscaling 
completes 
Autoscaling starts 
at this p...
Compensating transactions 
Book seat 
on flight 1 
Book seat 
on flight 2 
Book seat 
on flight 3 
Reserve room 
at hotel ...
private async Task MyTaskAsync(SomeType param) 
{ 
var result = await object.ProcessMessagesAsync(param); 
} 
Reliability ...
Asynchronous Messaging Primer 
Reliability over features 
Up and running at appropriate costs 
Default to async 
Sender Re...
Asynchronous Messaging Primer 
Reliability over features 
Up and running at appropriate costs 
Default to async 
Senders R...
Queue-Based Load Leveling 
Reliability over features 
Up and running at appropriate costs 
Default to async 
Tasks 
Servic...
Cart 
Event sourcing 
Reliability over features 
Up and running at appropriate costs 
Default to async 
Presentation 
Cart...
Questions? 
Thanks! 
Fernando Machado Píriz 
Enterprise Architect, Microsoft 
@netconfuy 
@fmachadopiriz
Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado
Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado
Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado
Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado
Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado
Upcoming SlideShare
Loading in …5
×

Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado

840 views

Published on

Arquitectura para Windows Azure: Pienso, luego existo
Fernando Machado
.NET Conf UY 2014
http://netconf.uy

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Arquitectura para Windows Azure: Pienso, luego existo by Fernando Machado

  1. 1. Windows Azure Architecture I think, therefore I am Fernando Machado Píriz Enterprise Architect, Microsoft @netconfuy @fmachadopiriz
  2. 2. >57% >250k Fortune 500 using Azure Active websites Greater than 1,000,000 SQL Databases in Azure >20TRILLION storage objects >300MILLION AD users >1MILLION requests/sec >2 MILLION >13BILLION authentication/wk Developers registered with Visual Studio Online
  3. 3. t Compute t Compute t Compute Inactivity period t Compute t Compute t Compute
  4. 4. Pooled and shared resources Metered Cheaper Elasticity Cloud attributes Pay as you go New scenarios
  5. 5. Traditional World New, Innovative World Cheaper Cheaper Elasticity Pay as you go Pooled and shared resources Metered Pooled and shared resources Metered New scenarios
  6. 6. Traditional World New, Innovative World Many features Mean time to failure Slow update pace Development lifecycle Unknown consumption habits On time, on budget Reliability and agility over features Mean time to resolution Continuous updates Continuous development Detailed usage patterns Up and running at appropriate costs
  7. 7. Agility over features Mean time to resolution Continuous updates Continuous development Up and running at appropriate costs Run Build Test Deploy Continuous integration Continuous deployment Automation Source control PowerShell API Visual Studio Git support Team Foundation Server Visual Studio Online
  8. 8. Reliability over features Mean time to resolution Detailed usage patterns Up and running at appropriate costs Run Build Test Deploy Instrumentation Telemetry AppDynamics New Relic MetricsHub Dynatrace Microsoft System Center Microsoft Application Insights for Visual Studio Online
  9. 9. Reliability over features Up and running at appropriate costs Health check 200 (Ok) Port 80 (http) or 443 (https) endpoint Health Endpoint Monitoring Storage Database Storage Database Service A Service B …      Application CDN| CDN Application …    Agent On-premises, cloud-hosted, or third_party service Response time: 50ms Storage: 5ms Database: 20ms …
  10. 10. Web development Stateless web servers No session state; or distributed caching Reliability over features Mean time to resolution Continuous updates Up and running at appropriate costs Content distribution networks Default to async Websites Virtual Machines CDN
  11. 11. Reliability over features Continuous updates Up and running at appropriate costs Caching Memcached Cloud Managed Cache Service Redis Cache Web roles, worker roles, virtual machines 24 GB Distributed Cache 12 GB 12 GB In−Role Cache
  12. 12. Reliability over features Up and running at appropriate costs Relational Key/Value Colum Family Document Graph Azure SQL Database  SQL Server Oracle MySQL  SQL Compact  SQLite  Postgres Azure Blob Storage Azure Table Storage Azure Cache  Redis Memcached  Riak Cassandra HBase DocumentDB MongoDB  RavenDB CouchDB Neo4J  IaaS (virtual machines) Storage ACID vs BASE Azure Cache Azure Table Azure SQL Database Azure Blob Storage HDInsight (Hadoop)  PaaS (managed services) Document DB
  13. 13. Reliability over features Up and running at appropriate costs Retry Resiliency 1 Application Hosted service 2 3 500 500 200
  14. 14. Reliability over features Up and running at appropriate costs Resiliency Closed entry / reset failure do / if operation succeeds return result Circuit breaker else increment failure count return failure Half-open entry / reset success counter do / if operation succeeds increment success counter return result else return failure Failure threshold reached Open entry / start timeout timer do / return failure Success count threshold reached Timeout timer expired Operation failed
  15. 15. Reliability over features Up and running at appropriate costs Throttling Resiliency Resource utilization Feature C Feature B Feature A Maximum capacity Soft limit of resource utilization Time Feature B is suspended to allow sufficient resources for applications to use Feature A and C T1 T2
  16. 16. Resource utilization All applications Throttling is relaxed when autoscaling completes Autoscaling starts at this point Maximum capacity after autoscaling Maximum capacity before autoscaling Soft limit of resource utilization System is throttled while autoscaling occurs T1 T2 Time Reliability over features Up and running at appropriate costs Resiliency Throttling
  17. 17. Compensating transactions Book seat on flight 1 Book seat on flight 2 Book seat on flight 3 Reserve room at hotel 1 Reserve room at hotel 2 Compensating logic Compensating logic Compensating logic Compensating logic Compensating logic Cancel seat on flight 1 Cancel seat on flight 1 Cancel seat on flight 1 Cancel room on hotel 1 Reliability over features Up and running at appropriate costs Resiliency
  18. 18. private async Task MyTaskAsync(SomeType param) { var result = await object.ProcessMessagesAsync(param); } Reliability over features Up and running at appropriate costs Default to async
  19. 19. Asynchronous Messaging Primer Reliability over features Up and running at appropriate costs Default to async Sender Receiver Message queue Storage Queue Service Bus Relay Service Bus Queue Service Bus Topic BizTalk Services Service Bus
  20. 20. Asynchronous Messaging Primer Reliability over features Up and running at appropriate costs Default to async Senders Receivers Shared message queue
  21. 21. Queue-Based Load Leveling Reliability over features Up and running at appropriate costs Default to async Tasks Service Message queue Messages processed at a more constant rate Requests received at a variable rate
  22. 22. Cart Event sourcing Reliability over features Up and running at appropriate costs Default to async Presentation Cart created Item 1 added Item 2 added Item 1 added Shipping info added Event store ~ ~ Replayed events External systems and applications Cart ID Date Customer Address … Cart Item Cart ID Item Key Item Name Quantity … Materialized View Published events Query for current state of entities
  23. 23. Questions? Thanks! Fernando Machado Píriz Enterprise Architect, Microsoft @netconfuy @fmachadopiriz

×