1 / 37

Architecting Azure solutions

Architecting Azure solutions. Famous Last Words …. “It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable….” ( Fred Brooks - “Mythical Man-Month” p.47). So, What is Software Architecture exactly?.

rupali
Download Presentation

Architecting Azure solutions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecting Azure solutions

  2. Famous Last Words… “It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable….” (Fred Brooks - “Mythical Man-Month” p.47)

  3. So, What is Software Architecture exactly?

  4. Software architecture is the fundamentalorganization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution

  5. Architecture forces Stakeholders Quality Attributes Constraints Principles Community experience Architect Architecture Patterns & Anti-patterns Key people Technology A “deliverable” Produce Is an input

  6. The Network is reliable Deque/Delete pattern

  7. Idempotencyf(x) = f(f(x))

  8. Messages Process At Least Once Debit bank account $100 message Worker role reads message Balance debited $100 Worker role is torn before message can be deleted 3 minutes later, message re-appears on queue Worker role reads message Balance debited $100 Message deleted from queue Chaos ensues..... Customer calls bank..... Web Role Worker Role Balance = $1000 Balance = $900 Balance = $800 Web Role Worker Role Worker Role Worker Role Queue Storage LB LB

  9. Solving the Idempotency Problem Debit bank account $100 message with transaction ID Worker role reads message. Checks transaction ID not present. Writes transaction ID with state ‘Started’ to ‘Replay Log’ Balance debited $100 Worker role is torn before message can be deleted 3 minutes later, message re-appears on queue Worker role reads message. Checks transaction ID. It is present in state started. Compensating message written to another queue Message deleted from queue Compensatory message processed. Balance = $900 Balance = $1000 Web Role Worker Role Web Role Worker Role Storage Worker Role Worker Role Query Query Queue Queue Table LB LB

  10. Latency is zero

  11. It might be infinite for all purposes but it costs… Bandwidth is infinite

  12. Authentication with ACS The Network is Secure Slide by Alik Levin

  13. Service Bus • Provides secure messaging and connectivity across different network topologies • Enables hybrid applications that span on-premises and the cloud • Enables various communication protocols and patterns for developers to engage in reliable messaging Topology doesn’t change

  14. Enabling hybrid applications Datacenter Partner LOB app Mobile Device LOB web service

  15. Enabling hybrid applications Datacenter Partner ACS LOB app SB Mobile Device LOB web service

  16. Enabling hybrid applications Datacenter Partner ACS LOB app SB Mobile Device LOB web service

  17. Enabling hybrid applications Datacenter Partner ACS LOB app SB Mobile Device LOB web service

  18. Enabling hybrid applications Datacenter Partner ACS LOB app SB Mobile Device LOB web service

  19. Electricity Power Grid Demo

  20. Don’t assume specific instances Virtual IP : 1.1.1.3 Virtual IP : 1.1.1.2 Virtual IP : 1.1.1.4 Worker Role Worker Role Web Role Service Service IIS Instance Instance Windows Kernel Windows Kernel Windows Kernel TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP NLB Driver NIC Driver NIC Driver NIC Driver Virtual NIC Virtual NIC Virtual NIC Virtual IP : 1.1.1.1

  21. Inter-role communcations

  22. Reduced Headache on the one handNew challenges on the other There is one administrator

  23. Azure MMC Snap-in http://code.msdn.microsoft.com/windowsazuremmc

  24. Cerebrata – Azure Diagnostics Manager http://www.cerebrata.com/Products/AzureDiagnosticsManager/Default.aspx

  25. Distribution cost in serialization, time on the wire, security Transport cost is zero

  26. Bring Data close to computation

  27. It isn’t – but it’s abstractedunless of course you use Azure connect The Network is homogenous • Quickly connect on-premise computers with the cloud, no networking configuration required • Supports standard IP protocols; secured using end-to-end IPSec • Integrated with the Windows Azure Service Model; all role types supported

  28. Deployment view • Consider xsmall instances for development • Test if you can use less than medium for production

  29. Cost considerations • You pay when you’re deployed (there is no “shelving”) • Shutdown doesn’t help • (keep CPUs running..)

  30. 2 Small instances cost the same as 1 medium instance

  31. 2 instances can give you better availability • Need to be on different fault and upgrade domains

  32. I/O performance on smaller instances might be problematic

  33. You can control Azure from scripts and code (even dev fabric)

  34. Cloudoscope Acceptance Tests

  35. Illustrations • Slide 11 http://www.sxc.hu/photo/1201443 • Slide http://www.sxc.hu/photo/1160486

More Related