Presentation is loading. Please wait.

Presentation is loading. Please wait.

What I Learned Making a Global Web App

Similar presentations


Presentation on theme: "What I Learned Making a Global Web App"— Presentation transcript:

1 What I Learned Making a Global Web App
Igor Fesenko Application Architect, SoftServe Inc. @ky7m

2 Who Am I? Engineer<T> where T : C# | Azure | JavaScript
Microsoft® Most Valuable Professional (MVP) Passionate about continuous improvements  Working on the integration of two big ecosystems More… go to ifesenko.com

3 Global Web App What does it mean to you?
What are the business requirements? Different requirements mean a different architecture

4 Architecture

5 Resiliency Resiliency Backup Disaster recovery High availability
Cost / Complexity RPO/RTO Backup Disaster recovery High availability RTO >> 0 RTO > 0 RTO = 0 Best For: Data deletion Data corruption Legal, governance & compliance Protection for unplanned failures Don’t want to re-architect for HA Don’t want the cost of HA Large scale failures Mission critical apps New apps Localized failures

6 What can go wrong? Compute Networking Storage All of them

7 Common single-region deployment- RDBMS
Storage (LRS) App Availability Set Front End Database Queue Distributed Cache Blobs

8 Multi-region deployment
Active/Passive Only one region online with DR failover Active/Active Round robin (all regions accept traffic) Active performance Many regions, user is routed to nearest

9 Multi-region deployment (active/passive)
Storage (RA-GRS) App Availability Set Front End Database Queue Distributed Cache Blobs Storage (RA-GRS) App Availability Set Front End Database Queue Blobs Distributed Cache Async West Europe (Primary) North Europe (Secondary)

10 Multi-region deployment (active/active)
Storage (RA-GRS) App Availability Set Front End Database Queue Distributed Cache Blobs Storage (RA-GRS) App Availability Set Front End Database Queue Distributed Cache Blobs Session Consistency West Europe (Primary) Central US (Secondary)

11 Using a CDN for availability
Protection from DDoS Greater availability and scale for your origin Other benefits: Lower latency content delivery Faster data delivery Lower data usage

12 Fault Injection Chaos Monkey Tests for single point of failure
Simulates failure

13 Our “marketecture” diagram

14 Compute

15 Azure App Service Deployed with configuration management techniques
Can be auto-scaled Portal / ARM template Configuration management A/B testing

16 When to use Azure App Service?
11/13/ :01 PM When to use Azure App Service? Server-side applications in .NET Framework Use just .NET Framework on pure PaaS Azure App Service Cloud-Optimized for web apps NO dependencies A ASP.NET MVC app Web Forms app App has server/custom dependencies? Web API service Use .NET Framework on Windows Containers Windows Containers Azure or On-Premises B Cloud DevOps-Ready for web apps YES, dependencies SignalR service Web Pages app WCF service Server/custom dependencies: i.e. MSI to install on server, COM/COM+ components, ISAPI, etc. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 Network

18 What do you do if a region fails?
a) Use a Load Balancer to shift to additional resources b) Use Azure DNS to point to a paired region c) Use Traffic Manager to change regions d) Initiate your failover runbook in Azure Site Recovery e) Complain on Twitter

19 How Traffic Manager handles endpoint loss
Update DNS Zzzzzzz You there? Yup, all good. GET X No Response 200 OK 10s 20s 10s 20s 10s 20s 10s 20s 10s 20s 10s Time

20 Traffic Manager DNS-based load balancing and failover
Health probe of endpoints to determine availability Impact of Time To Live (TTL) Multiple performance policies Performance Priority Weighted Geographic

21 Traffic View

22 Storage

23 Storage Types of storage
Locally redundant (LRS) - 3 local copies strongly consistent Zone redundant (ZRS) – 3 copies across 2 or 3 facilities Geo-redundant (GRS) – 3 local copies strongly consistent, 3 remote copies eventually consistent Read access geo-redundant (RA-GRS) – Same as GRS but with read-only access of eventually consistent data

24 Monitor and Learn

25 Alerts

26 Monitor and Learn - 1/6

27 Monitor and Learn - 2/6

28 Monitor and Learn - 3/6

29 Monitor and Learn - 4/6

30 Monitor and Learn - 5/6

31 Monitor and Learn - 6/6

32 Questions @ky7m | ifesenko.com |


Download ppt "What I Learned Making a Global Web App"

Similar presentations


Ads by Google