Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Testing Network Conditions with ToxiProxy
Search
Celso Crivelaro
March 18, 2017
Technology
1
390
Testing Network Conditions with ToxiProxy
Talk in Agile Testers Conference 2017 - SP
Celso Crivelaro
March 18, 2017
Tweet
Share
More Decks by Celso Crivelaro
See All by Celso Crivelaro
Sistemas de Recomendação
celsocrivelaro
2
230
Big Data para Gerentes de Projetos
celsocrivelaro
0
67
FileSystems em Ruby com FUSE
celsocrivelaro
2
72
Padrões e Boas Práticas de Teste de Tela
celsocrivelaro
0
430
Projeto de APIs
celsocrivelaro
0
160
Testing Network Conditions with ToxiProxy
celsocrivelaro
0
83
Actor Model in Ruby
celsocrivelaro
0
260
Separando as regras de negócios do Rails
celsocrivelaro
0
180
InfluxDB + Grafana
celsocrivelaro
0
260
Other Decks in Technology
See All in Technology
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
180
MCPで決済に楽にする
mu7889yoon
0
160
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
440
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
150
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
380
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
ハーネスエンジニアリング×AI適応開発
aictokamiya
1
670
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
150
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
170
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Amusing Abliteration
ianozsvald
0
140
Facilitating Awesome Meetings
lara
57
6.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Deep Space Network (abreviated)
tonyrice
0
97
Building AI with AI
inesmontani
PRO
1
830
Transcript
Testing network conditions with ToxiProxy Celso Crivelaro @celsocrivelaro
Tech Lead @
Professor @
Past: Monolithic Applications
Today: Distributed Systems
External API Service Server App DB API Mobile Mobile App
Web App
Share Resources Communication over TCP/IP
Network- dependent Apps
None
https://engineering.riotgames.com/news/fixing-internet-real-time-applications-part-i
None
None
None
None
Network fails
“A Distributed System is one in which the failure of
a computer you didn’t even know existed can render your own computer unusable” Leslie Lamport
None
Network Model
"Ozzy" Model?
None
200.124.124.1 200.0.124.5 200.5.34.12 200.3.5.51 200.3.5.52
200.124.124.1 200.0.124.5 200.5.34.12 200.3.5.51 200.3.5.52 200.124.124.1:80 -> 200.3.5.52:80
Networking Problems
No connection No connection between parts Latency Timeout Bandwidth Slow
Close Time to packages go and return Stop responding Bandwidth size in Mb/s Slow close connection
What are we testing?
How your app responds to network errors
User perception to network problem Business rule to the problem
Technical action to the problem
Resiliency
How to simulate?
Hard modify a staging env Hard to automate Low level
tools -> For sysadmins No APIs for Devs or QA
http://toxiproxy.io
TCP TCP APP SERVICE
TCP TCP APP SERVICE Toxies Latency Bandwidth ...
TCP TCP TCP TCP APP SERVICE 2 SERVICE 1 HTTP
API
None
How to automate
Some Solutions
Low timeout Retries Patterns - Circuit Break Fallbacks Caching strategies
Resiliency Matrix
App 1 Database API App 2 ZIP Checker External API
App 3 Unavailable Unavailable Unavailable Unavailable Degraded Available Available Not Aplic. Not Aplic. Unavailable Degraded Degraded If integration fails...
References
None
http://toxiproxy.io
https://engineering.shopify.com/17489072-building-and-testing-resilient-ruby-on-rails-applications
Thank you! @celsocrivelaro Slides in: http://crivelaro.me