The document discusses silo-based architectures for high availability applications. It describes how applications can be divided into isolated "silos" to improve redundancy, resilience and the ability to perform live upgrades. Key advantages of silo architectures include enabling A/B testing without disruptions and simplifying scalability. Challenges include increased complexity for monitoring and debugging failures across silos. The presentation provides an overview of high availability concepts and argues that silo-based designs can help meet availability needs for mission critical systems.
3. 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
4. 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
5. 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
6. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 6
YOUR
APPLICATION
7. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
Standard Application Components
7
10. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
master
FrontendBusiness
Logic
FrontendFrontend
Browser
internet
Load
balancer
slave
reads writes
How Do You Adjust?
10
11. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
master
FrontendBusiness
Logic
FrontendFrontend
Browser
internet
Load
balancer
slave
reads writes
How Do You Adjust?
11
redundancy
12. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
master
FrontendBusiness
Logic
FrontendFrontend
Browser
internet
Load
balancer
slave
reads writes
How Do You Adjust?
12
resilience
13. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 13
Typical Application Layering
14. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 14
Application Components
15. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 15
HIGH AVAILABILITY
16. 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
17. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
Downtime
▸ scheduled
▸ unscheduled
17
18. 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
19. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
A man's got to know
his limitations.
Dirty Harry
19
20. 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
21. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 21
SILOS
22. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016
Departments inside
a company do not
work together.
Silo Mentality
22
23. 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 %
24. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 24
Application Components (again)
25. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 25
Happens to the Best
26. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 26
Silo-Based Architecture
27. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 27
Silos: Multiple Caches
28. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 28
Silos: A/B Testing
29. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 29
Silos: Live Upgrades
30. 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
31. 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
32. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 32
TAKEAWAYS
34. 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
35. 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
36. Silo-Based Architectures For High Availability Applications - Georgiana Gligor - CodeCamp Cluj - May 2016 36
Q & A