SlideShare a Scribd company logo
1 of 20
Download to read offline
API LIFECYCLE
PRODUCT API
jan.blasko@mall.cz
@blasko_jan
Jan Blaško
ÚVOD
CO JE PRODUCT API V MALLGROUP?
“microservice” poskytující data o produktech
Produktové listy, facetová navigace, detail produktu, suggester, ….
REST API
Elasticsearch data storage
PRODUCT API V MALLGROUP
PRODUCT API V MALLGROUP
PRODUCT API V MALLGROUP
PRODUCT API V MALLGROUP
PRODUCT API
INFRASTRUKTURA
“Normální” provoz
12 instancí
Celkem 48CPUs, 48GB RAM
~ 400 req/s
Black Friday event (2017)
20 instancí
Celkem 80CPUs, 80GB RAM
~ 1500req/s
PERFORMANCE
BLACK FRIDAY 2016 NA MALL
INFRASTRUKTURA
ŠKÁLOVÁNÍ
Využíváme interní cloud OpenStack
Pro nový Product API node lze využít UI, kde naklikáme svoji instanci což je
neefektivní a pomalé
Snadnější a rychlejší cesta
OpenStack poskytuje Heat Orchestration Template (HOT)
Aktálně není řešeno automaticky (systém pozná zvýšenou zátež na CPU a sám
naškáluje), ale je nutný manuální zásah - command pro HOT
“DESIGN”, CODE-FIRST PŘÍSTUP V MONOLITHU HTTP://ARCHITECTUUL.COM/ARCHITECTURE/MONOLITH
VLASTNOSTI, VÝHODY, NEVÝHODY
PRODUCT API JAKO “MICROSERVICE”
▸ Rychlé doručení změn pro business
▸ Škálovatelnost
▸ Jakákoliv ”core” změna je na rozhodnutí týmu
▸ Změna myšlení vývojářů
▸ Vyšší nároky na některé vývojáře
TROCHA HISTORIE
PRODUCT API VERZE 0.1
Cca 3 roky zpět rozhodutí vytvořit tuto službu
První verze byla vytvořena v Monolithu přístupem code-first
Rychle dodané MVP ve 3 vývojářích bez dokumentace API
Následovalo plno problémů
nikdo nevěděl jak to správně pouzívat
Dotazy
Nechuť API používat dalšími vývojáři
Pokrytí testy bylo minimální
TROCHA HISTORIE
PRODUCT API VERZE 1
Separace z monolithu
Zrychlení dodání změn pro business
Rychlejší nasazování
Pokrýváme více a více unit testy
Snížili jsme chybovost
Přidali “smoke” testy v Postmanu
HTTPS://MEDIUM.COM/@NEONROCKET/DEVOPS-IS-A-
CULTURE-NOT-A-ROLE-BE1BED149B0DEVOPS IS A CULTURE, NOT A ROLE!
SOUČASTNOST
DEVOPS KULTURA
Produkt jako služba
Celý tým je odpovědný za službu od A-Z
Držíme pohotovosti mimo pracovní dobu
Monitoring zdrojů - memory, zatížení CPU, keepalive info atp. nám zajišťuje
Sensu
Každý kdo drží daný týden pohotovost, dostává v případě problému SMS
např. memory warning nad 80%, critical nad 90%
TOOLS
LIVE DEMO
API LIFECYCLE
LOGY A MONITORING
Logujeme téměř vše
Ukládáme logy na filesystém
Pomocí Filebeat posíláme do logstashe
v Kibaně zobrazujeme data
Monitoring pomocí Sensu a dashboard Uchiwa
Klasické sledování dashboardu v Kibaně
SUMMARY
PŘEDSTAVENÍ PRODUCT API
VYUŽITÍ CODE-FIRST A DESIGN-FIRST PŘÍSTUPU
TESTOVÁNÍ (UNIT, POSTMAN NEWMAN, DREDD)
DEVOPS KULTURA
LOGOVÁNÍ A MONITORING
OTÁZKY?
DÍKY ZA POZORNOST
jan.blasko@mall.cz
@blasko_jan
Jan Blaško

More Related Content

Similar to Product API in MallGroup

Úvod do analýzy - 2 část
Úvod do analýzy -  2 částÚvod do analýzy -  2 část
Úvod do analýzy - 2 částMartin Paták
 
Trendy a nové možnosti test automation
Trendy a nové možnosti test automationTrendy a nové možnosti test automation
Trendy a nové možnosti test automationOndřej Machulda
 
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)Ondřej Machulda
 
Rockaway AWS Hackaton – Kick-off Meeting Brno
Rockaway AWS Hackaton – Kick-off Meeting BrnoRockaway AWS Hackaton – Kick-off Meeting Brno
Rockaway AWS Hackaton – Kick-off Meeting BrnoRockawayCapital
 
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheels
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheelsDEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheels
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheelsCtvrtkoncz
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Pavel Růžička
 
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodáme
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodámeHonza Bartovský a Honza Řasa: Dnes podáte, dnes dodáme
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodámeMarkéta Vlková
 
node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)almadcz
 
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)Tomas Moser
 
Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Kuba Břečka
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí MarketingArrowECS_CZ
 
Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2MarketingArrowECS_CZ
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíRené Stein
 
Dynamicke scannery webovych aplikaci v cloudu
Dynamicke scannery webovych aplikaci v clouduDynamicke scannery webovych aplikaci v cloudu
Dynamicke scannery webovych aplikaci v clouduJan Horalík
 

Similar to Product API in MallGroup (20)

Úvod do analýzy - 2 část
Úvod do analýzy -  2 částÚvod do analýzy -  2 část
Úvod do analýzy - 2 část
 
Trendy a nové možnosti test automation
Trendy a nové možnosti test automationTrendy a nové možnosti test automation
Trendy a nové možnosti test automation
 
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
 
Rockaway AWS Hackaton – Kick-off Meeting Brno
Rockaway AWS Hackaton – Kick-off Meeting BrnoRockaway AWS Hackaton – Kick-off Meeting Brno
Rockaway AWS Hackaton – Kick-off Meeting Brno
 
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheels
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheelsDEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheels
DEV Čtvrtkon #76 - How to build an evil-free social network: Behind the wheels
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodáme
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodámeHonza Bartovský a Honza Řasa: Dnes podáte, dnes dodáme
Honza Bartovský a Honza Řasa: Dnes podáte, dnes dodáme
 
Apex day 1.0 speedy case study_kamil schvarcz
Apex day 1.0 speedy case study_kamil schvarczApex day 1.0 speedy case study_kamil schvarcz
Apex day 1.0 speedy case study_kamil schvarcz
 
node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)
 
Mojo SP Obhajoba
Mojo SP ObhajobaMojo SP Obhajoba
Mojo SP Obhajoba
 
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)
PSUG 2 - 2024-04-15: Proactive IT Monitoring & Dynamic Asset Management (Czech)
 
Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]
 
TNPW2-2011-06
TNPW2-2011-06TNPW2-2011-06
TNPW2-2011-06
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí
 
ASP.NET 3.5 / futures
ASP.NET 3.5 / futuresASP.NET 3.5 / futures
ASP.NET 3.5 / futures
 
Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikací
 
Dynamicke scannery webovych aplikaci v cloudu
Dynamicke scannery webovych aplikaci v clouduDynamicke scannery webovych aplikaci v cloudu
Dynamicke scannery webovych aplikaci v cloudu
 

Product API in MallGroup