Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Silo-Based Architectures for High Availability Applications @CodeCampCluj

Silo-Based Architectures for High Availability Applications @CodeCampCluj

High availability is becoming a de-facto requirement of today's applications. Customer-facing IT failures mean directly losing customer revenue and trust, as users have grown accustomed to easily switching service providers for more reliable ones. Lack of internal systems availability block employee productivity and add to the financial burden. Thus, it is critical to have a healthy, performant, resilient IT structure serving as a backbone of conducting your business. But there are no textbook solutions to achieving five 9s availability. Data redundancy, computing clusters, load balancing, fail-over mechanisms, each of these individually addresses one potential issue, but none treats systems in your organisation holistically for maximising business revenue. Silos are a clever method of grouping servers in such a way that they can be scaled both horizontally and vertically, depending on the actual application needs. Most importantly, it frees you from over-optimizing the architecture upfront, by allowing fine adjustments easy to integrate in your Agile workflow.

Georgiana Gligor

May 07, 2016
Tweet

More Decks by Georgiana Gligor

Other Decks in Technology

Transcript

  1. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Georgiana Gligor ✓ Geek. Mother. Do-er. ✓ Crafting enterprise-level apps on LAMP stack since 2003 ✓ Architecture and DevOps consultant ✓ PHP Cluj Meetup Organizer 3
  2. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Agenda ✓who needs to address high availability? ✓describe high availability ✓silos: a possible approach ✓advantages and disadvantages 4
  3. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Software industry is built around anticipating change. David Scott Bernstein, “Beyond Legacy Code” 5
  4. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Standard Application Components 7
  5. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 master Frontend Business Logic Frontend Frontend Browser internet Load balancer slave reads writes How Do You Adjust? 10
  6. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 master Frontend Business Logic Frontend Frontend Browser internet Load balancer slave reads writes How Do You Adjust? 11 redundancy
  7. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 master Frontend Business Logic Frontend Frontend Browser internet Load balancer slave reads writes How Do You Adjust? 12 resilience
  8. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 13 Typical Application Layering
  9. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Ability to access the system: ✓ retrieve information ✓ alter information ✓ send new data Availability 16
  10. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Downtime ▸ scheduled ▸ unscheduled 17
  11. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 The 9s Dance 18 Uptime Shortname Downtime (per year) 90.000 % one nine 36.5 days 99.000 % two nines 3.65 days 99.900 % three nines 8.76 hrs 99.990 % four nines 52.56 mins 99.999 % five nines 5.26 mins
  12. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 A man's got to know his limitations. Dirty Harry 19
  13. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 HA System Design Principles 1. eliminate single points of failure 2. reliable crossover 3. detect failures as they occur 20
  14. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Departments inside a company do not work together. Silo Mentality 22
  15. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 User Behaviour 23 booking .com expedia .com imobiliare .ro Alexa Rank 111 429 22879 daily time on site 10:00 mins 7:20 mins 10:30 mins daily pageviews per visitor 7.51 5.12 9.60 bounce rate 21.20 % 22.10 % 22.80 %
  16. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 24 Application Components (again)
  17. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 26 Silo-Based Architecture
  18. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Advantages ✓ real A/B testing ✓ no BHUF requirements ✓ no disruption => brand loyalty ✓ lower TCO ✓ simplify scalability ✓ avoid unneeded complexity by reusing familiar technologies 30
  19. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Disadvantages ✓ needs razor-sharp DevOps team ✓ small increase in hardware costs on kick-off ✓ adds complexity to the monitoring layer ✓ reconsider traceability ✓ reproducing and hunting bugs is going to change forever 31
  20. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Takeaways ✓ build situational awareness with clever monitoring ✓ automate outage detection ✓ powerful A/B testing ✓ think long-term 34
  21. Silo-Based Architectures For High Availability Applications - Georgiana Gligor -

    CodeCamp Cluj - May 2016 Further Reading ✓ Wikipedia HA page ✓ OpenStack’s HA concepts ✓ Merge Hemo report from FDA ✓ USA Presidential Policy Directive 21 ✓ “Beyond Legacy Code” book ✓ Varnish Plus 35