SlideShare a Scribd company logo
1 of 34
Download to read offline
High Availability (HA)
Coffee
Gil Zellner @Heathenaspargus
High Availability (HA) Coffee
High Availability (HA)
is Super Important to Wix.
Gil Zellner @Heathenaspargus
High Availability (HA) Coffee
About Me
High Availability (HA) Coffee
Now:
Then:
AppsFlyer | Gett | Technion |Trackwise | Arkelis | Oracle | Cloudify
@Heathenaspargus
High Availability (HA) Coffee
Wix Engineering Locations
Ukraine Israel Lithuania
Kiev Tel-Aviv Vilnius
Dnipro Be’er Sheva
Haifa
@Heathenaspargus
High Availability (HA) Coffee
Working From
Home
High Availability (HA) Coffee
@Heathenaspargus
High Availability (HA) Coffee
@Heathenaspargus
Be Own
Facilities
Manager
No Order
in lunch
High Availability (HA) Coffee
Provide
own lunch
@Heathenaspargus
Be Your Own IT
High Availability (HA) Coffee
@Heathenaspargus
High Availability (HA) Coffee
Critical Infrastructure
@Heathenaspargus
Pro’-gram-mer
An organism that converts
caffeine into code.
High Availability (HA) Coffee
@Heathenaspargus
High Availability (HA) Coffee
@Heathenaspargus
Critical Infrastructure
Current Coffee Architecture
High Availability (HA) Coffee
@Heathenaspargus
Backend
Backend
Backend
Frontend Client
Current Coffee Architecture
High Availability (HA) Coffee
@Heathenaspargus
Backend
Backend
Backend
Frontend Client
Cache
Cache
Cache
Current Coffee Architecture
High Availability (HA) Coffee
@Heathenaspargus
Current Coffee Architecture
High Availability (HA) Coffee
Backend
Backend
Backend
Frontend Client
Cache
Cache
Cache
Can’t Handle the load
@Heathenaspargus
High maintenance,
very expensive
Illegal in Israel,
very expensive
High Availability (HA) Coffee
@Heathenaspargus
Stronger Cache
Re-architect
our Coffee
High Availability (HA) Coffee
@Heathenaspargus
Define
our SLA
High Availability (HA) Coffee
@Heathenaspargus
Backend
Backend
Backend
Frontend Client
Cache
Cache
Cache
Can’t Handle the load
High Availability (HA) Coffee
@Heathenaspargus
Backend
Backend
Backend
Frontend Client
Cache
Cache
Cache
Can’t Handle the load
High Availability (HA) Coffee
@Heathenaspargus
High Availability (HA) Coffee
Backend+
Cache
Backend
Backend
Frontend Client
Cache
Cache @Heathenaspargus
./coffee.go:15:42: cannot use e (type *energy.Gas) as type coffeemachine.Electricity
in argument to coffeemachine.NewDelonghiMagnificaS:
*energy.Gas does not implement coffeemachine.Electricity (missing GetElectricity
method)
High Availability (HA) Coffee
@Heathenaspargus
Compile error
Replace frontend
High Availability (HA) Coffee
Backend+
Cache
Backend
Backend
Frontend Client
Cache
Cache @Heathenaspargus
./coffee.go:15:32: cannot use e (type *energy.Gas) as type coffeemachine.Heat in
argument to coffeemachine.NewBialetti:
*energy.Gas does not implement coffeemachine.Heat (missing GetHeat method)
High Availability (HA) Coffee
@Heathenaspargus
Current Coffee Architecture
High Availability (HA) Coffee
Backend +
Cache
Backend
Backend
Frontend Client
Cache
Cache
Translation
layer
@Heathenaspargus
type Stove struct {
g gas
}
type gas interface {
GetGas()
}
func (s *Stove) GetHeat() {
fmt.Printf("Heating up...n")
time.Sleep(1 * time.Second)
}
func NewStove(g gas) *Stove {
return &Stove{g: g}
}
High Availability (HA) Coffee
@Heathenaspargus
Load Balancer
High Availability (HA) Coffee
CLB =
Coffee
Load
Balancer
Active
Passive
Client
@Heathenaspargus
High Availability (HA) Coffee
The Code
@Heathenaspargus
Takeaways
— If you don’t plan for HA, you will have to refactor later
High Availability (HA) Coffee
@Heathenaspargus
Takeaways
— If you don’t plan for HA, you will have to refactor later
— Refactoring can add functionality
High Availability (HA) Coffee
@Heathenaspargus
Takeaways
— If you don’t plan for HA, you will have to refactor later
— Refactoring can add functionality
— Invest in good coffee
High Availability (HA) Coffee
@Heathenaspargus
Q&A
Any questions?
High Availability (HA) Coffee
Thank You!
High Availability (HA) Coffee
Links:
https://github.com/gilzellner/HA-Coffee
@Heathenaspargus Gil.Zellner@gmail.com

More Related Content

More from Gil Zellner

More from Gil Zellner (8)

Lessons in video games that have prepared me for a life in engineering
Lessons in video games that have prepared me for a life in engineeringLessons in video games that have prepared me for a life in engineering
Lessons in video games that have prepared me for a life in engineering
 
5m the unsung glory of internal tools (1)
5m   the unsung glory of internal tools (1)5m   the unsung glory of internal tools (1)
5m the unsung glory of internal tools (1)
 
Full talk from ops to dev and back again
Full talk   from ops to dev and back againFull talk   from ops to dev and back again
Full talk from ops to dev and back again
 
How to get your engineers to care about the AWS Bill
How to get your engineers to care about the AWS BillHow to get your engineers to care about the AWS Bill
How to get your engineers to care about the AWS Bill
 
Rinse and repeat
Rinse and repeatRinse and repeat
Rinse and repeat
 
A newborn as a production system
A newborn as a production systemA newborn as a production system
A newborn as a production system
 
Ignite (10m) how to not burn out your monitoring team
Ignite (10m)   how to not burn out your monitoring teamIgnite (10m)   how to not burn out your monitoring team
Ignite (10m) how to not burn out your monitoring team
 
How to do monitoring that won't make your engineers quit
How to do monitoring that won't make your engineers quitHow to do monitoring that won't make your engineers quit
How to do monitoring that won't make your engineers quit
 

Recently uploaded

Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systems
meharikiros2
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Recently uploaded (20)

Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using PipesLinux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
 
Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
 
Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systems
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 

HA coffee