0
10 Ways to Guarantee Your
Microsoft Azure Project Will Fail!
15
Central Ohio Cloud Computing
User Group
What
When
Where
More Information
This is a talk on what NOT to do.
Inspired by real projects . . . . Real people did this stuff!
Names withheld to protect ...
http://3.bp.blogspot.com/-3d9Cp2RCaH8/TalXvZKqqDI/AAAAAAAAFUc/0j4E-2rJ6qw/s1600/angry-baby-6.jpg
More PowerPoint?!?
Manual deployments . . . #1 technique
Use PowerShell to script the process
New-AzureService -ServiceName $MyServiceName -Location $MyServiceLocation
New-AzureSt...
Single sub for Development, QA, and Production
Quotas
FALSE
Microsoft Azure provides anti-virus protection
Microsoft Azure automatically protects against DDOS
FALSE
Being successful looks a lot like a DDOS
SQL Database supports encryption (TDE)
FALSE
Web Role Worker RoleStorage Queue SQL Database
(Microsoft Azure)
Web Role Worker RoleStorage Queue SQL Database
(Microsoft Azure)
IIS limitations 20,000 tx per account*
2,000 msgs/sec
150...
Worker Role
OWIN/Katana
ASP.NET Web API
Worker Role
Storage Account
SQL Database
(Microsoft Azure)
Batch messages
Retry
Ta...
Managing infrastructure in cloud is like on-premises
Virtual Network
X
10.0.0.36
Managing infrastructure in cloud is like on-premises
Virtual Network
10.0.0.8
Managing infrastructure in cloud is like on-premises
Virtual Network
10.0.0.8
public class OrderRepository
{
public OrderRepository()
{
}
public void Add(Order order)
{
using (var ctx = new OrderDbCon...
public class OrderRepository
{
private readonly RetryPolicy policy =
new RetryPolicy<SqlDatabaseTransientErrorDetectionStr...
Services will fail
Scenario
What could possibly go wrong?
Constrain the Retry
http://mcollier.net/1eCyTDu
“Our site can’t go down. 100% uptime is the requirement.”
NO CLOUD
FOR YOU!
Cost Impact
What is wrong here?
web role web role
WASABi Auto-Scaler
worker role
crazy.cloudapp.net
Include scaler in a separate cloud service
web role web role
WASABi Auto-Scaler
worker role
crazy.cloudapp.net
crazy-scale...
Include scaler in a separate cloud service
“Azure will auto-scale when we’re busy”
FALSE
“Azure will auto-scale when we’re busy”
FALSE
X
X
Scenario
web role instances
load balancer
Scenario
web role instances
load balancer
The Test
The Cause
These are not “Azure” problems!
Scenario
Cloud? EW EW
Scenario
You’re kidding? Right?
Instrumentation
Instrumentation Telemetry
3 Truths of Cloud Computing
Microsoft blog post on RCA of leap day bug in 2012
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
Upcoming SlideShare
Loading in...5
×

10 Ways to Gaurantee Your Azure Project will Fail

475

Published on

Most conference presentations will share “best practices”. That’s not this presentation. In this session we'll discuss what NOT to do. These surefire fail activities are inspired from real customer engagements (names changed to protect the innocent). Looking at the unsuccessful architecture and development patterns of others can help us not repeat the same mistakes in future cloud projects.

-- This was originally presented at StirTrek 2014. --

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
475
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "10 Ways to Gaurantee Your Azure Project will Fail"

  1. 1. 10 Ways to Guarantee Your Microsoft Azure Project Will Fail!
  2. 2. 15
  3. 3. Central Ohio Cloud Computing User Group What When Where More Information
  4. 4. This is a talk on what NOT to do. Inspired by real projects . . . . Real people did this stuff! Names withheld to protect the “innocent”. Do and you will #FAIL and you’re paying me a lot of money to fix your $^!+ . . . .  Justice is Served http://cheezburger.com/8106642432
  5. 5. http://3.bp.blogspot.com/-3d9Cp2RCaH8/TalXvZKqqDI/AAAAAAAAFUc/0j4E-2rJ6qw/s1600/angry-baby-6.jpg More PowerPoint?!?
  6. 6. Manual deployments . . . #1 technique
  7. 7. Use PowerShell to script the process New-AzureService -ServiceName $MyServiceName -Location $MyServiceLocation New-AzureStorageAccount -StorageAccountName $MyStorageAccountName ` -Location $MyStorageLocation -Verbose New-AzureSqlDatabaseServer –AdministratorLogin $credential.UserName ` -AdministratorLoginPassword ` $credential.GetNetworkCredential().Password ` -Location $Location New-AzureDeployment -ServiceName $MyServiceName -Slot Production ` -Configuration $MyConfigurationFilePath -Package $MyPackageFilePath New-AzureQuickVM -Windows -ServiceName $svcName -Name $vmName ` -ImageName $image.ImageName -Location $location -AdminUsername $user - Password $pass
  8. 8. Single sub for Development, QA, and Production Quotas
  9. 9. FALSE Microsoft Azure provides anti-virus protection
  10. 10. Microsoft Azure automatically protects against DDOS FALSE Being successful looks a lot like a DDOS
  11. 11. SQL Database supports encryption (TDE) FALSE
  12. 12. Web Role Worker RoleStorage Queue SQL Database (Microsoft Azure)
  13. 13. Web Role Worker RoleStorage Queue SQL Database (Microsoft Azure) IIS limitations 20,000 tx per account* 2,000 msgs/sec 150 GB per DB Transient Faults / Throttling
  14. 14. Worker Role OWIN/Katana ASP.NET Web API Worker Role Storage Account SQL Database (Microsoft Azure) Batch messages Retry Table Storage
  15. 15. Managing infrastructure in cloud is like on-premises Virtual Network X 10.0.0.36
  16. 16. Managing infrastructure in cloud is like on-premises Virtual Network 10.0.0.8
  17. 17. Managing infrastructure in cloud is like on-premises Virtual Network 10.0.0.8
  18. 18. public class OrderRepository { public OrderRepository() { } public void Add(Order order) { using (var ctx = new OrderDbContext()) { ctx.Orders.Add(order); ctx.SaveChanges(); } } }
  19. 19. public class OrderRepository { private readonly RetryPolicy policy = new RetryPolicy<SqlDatabaseTransientErrorDetectionStrategy>(RetryStrategy.DefaultExponential); public OrderRepository() { policy.Retrying += (sender, args) => { // Write log statement }; } public void Add(Order order) { policy.ExecuteAction(() => { using (var ctx = new OrderDbContext()) { ctx.Orders.Add(order); ctx.SaveChanges(); } }); } } Retry Frameworks Transient Fault Handling Application Block / “TOPAZ” EF6 Windows Azure Storage Client Library
  20. 20. Services will fail Scenario What could possibly go wrong?
  21. 21. Constrain the Retry http://mcollier.net/1eCyTDu
  22. 22. “Our site can’t go down. 100% uptime is the requirement.” NO CLOUD FOR YOU! Cost Impact
  23. 23. What is wrong here? web role web role WASABi Auto-Scaler worker role crazy.cloudapp.net
  24. 24. Include scaler in a separate cloud service web role web role WASABi Auto-Scaler worker role crazy.cloudapp.net crazy-scale.cloudapp.net
  25. 25. Include scaler in a separate cloud service
  26. 26. “Azure will auto-scale when we’re busy” FALSE
  27. 27. “Azure will auto-scale when we’re busy” FALSE X X
  28. 28. Scenario web role instances load balancer
  29. 29. Scenario web role instances load balancer
  30. 30. The Test The Cause These are not “Azure” problems!
  31. 31. Scenario Cloud? EW EW
  32. 32. Scenario
  33. 33. You’re kidding? Right?
  34. 34. Instrumentation
  35. 35. Instrumentation Telemetry
  36. 36. 3 Truths of Cloud Computing Microsoft blog post on RCA of leap day bug in 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×