10 Ways to Gaurantee Your Azure Project will Fail
Upcoming SlideShare
Loading in...5
×
 

10 Ways to Gaurantee Your Azure Project will Fail

on

  • 254 views

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 ...

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. --

Statistics

Views

Total Views
254
Views on SlideShare
249
Embed Views
5

Actions

Likes
1
Downloads
3
Comments
0

1 Embed 5

http://www.slideee.com 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    10 Ways to Gaurantee Your Azure Project will Fail 10 Ways to Gaurantee Your Azure Project will Fail Presentation Transcript

    • 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 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
    • 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-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
    • 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 GB per DB Transient Faults / Throttling
    • Worker Role OWIN/Katana ASP.NET Web API Worker Role Storage Account SQL Database (Microsoft Azure) Batch messages Retry Table Storage
    • 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 OrderDbContext()) { ctx.Orders.Add(order); ctx.SaveChanges(); } } }
    • 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
    • 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.cloudapp.net
    • 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