Make - Integrujte sami, ale s rozvahou
Pokud denně ztrácíte čas tím, že děláte rutinní práci kterou by šlo automatizovat, a současně nemáte vývojáře který by vám naprogramoval propojku na externí systém, existuje cesta jak si pomoct. Přesně k tomu slouží služba s českými kořeny Make, dříve známá jako Integromat
. Těm z vás, kteří o jejím využití přemýšlíte, vám o ní rád něco povím.
Představa snadné klikací integrace s jinými systémy je vždycky lákavá. A tím je tenhle nástroj poněkud nebezpečný, protože bez zamyšlení se nad vaší konkrétní situací se můžete celkem snadno spálit.
Kdy tedy dává smysl Make použít? Mrkněme se na jednotlivé aspekty.
V Make se vizuálně tvoří lineární scénáře, kdy se pomocí jednotlivých bublin (modulů) sestavuje algoritmus toho co se má stát, co se má kam poslat / uložit / vyplnit / cokoli dalšího.
Jednotlivé bubliny mají své fieldy, se kterými se pak dá pracovat v dalších bublinách, podobně jako s proměnnými.
Přes každou bublinu tečou tzv. bundles
(balíčky dat), s nimiž každá bublina něco udělá (provede operaci).
Co si budeme povídat, vůbec nejlepší by byl hobby programátor, pro kterého nejsou novinkou API, práce s JSONy, apod. Ale leccos zvládne i člověk s obecnými předpoklady:
- baví ho techie stuff
- umí anglicky
- má na to čas (hlavně do začátku)
- nebojí se logiky
- dokáže si najít jak funguje API, jak se s ním pracuje
- dokáže se poptat na fórech / helpdesku když je nejhůř
- má trpělivost na dohledání si věcí, kterým zatím nerozumí
- má vůli scénáře dlouhodobě udržovat
Zřejmou výhodou je, že časem se v tom dotyčný dost zlepší, a budou se mu postupně otvírat nové výzvy.
Těch zmiňovaných bublin které něco dělají, je předpřipravených opravdu hodně, což je velká výhoda, protože pak v klasických případech odpadá pročítání dokumentace dané služby, a pouze naklikáte co potřebujete.
A pokud ani to nestačí, lze posílat libovolný HTTPS request na API - stejným způsobem jako by to dělal vývojář. Tady už se nevyhnete API dokumentaci dané služby a zkoušení toho co nakonec bude fungovat.
V Make prostředí lze krom samotných modulů využít několika dalších nástrojů:
- databáze
- scénáře si tedy mohou věci “pamatovat”
- jednu databázi může využívat více scénářů
- lze jich mít více, minimální velikost 1MB
- limit na max velikost součtu všech databází
- data struktury
- typicky JSON struktury
- opakovaně využitelné pro payloady, itemy, atd.
- webhooky
- získají se od daných externích služeb
- díky nim lze okamžitě reagovat na vzdálenou událost
- více scénářů nemůže sdílet 1 webhook
- cyklické spouštění
- lze celkem dobře specifikovat kdy se má scénář spouštět
- funkce
- dokumentace za více než tisíc slov
Tohle nepodcenit! Obvykle hodně času padne na:
- naučení se s tím jak to v Make funguje
- vyřešení různých Make specialit
- ladění scénářů a řešení případných problémů
- v případě custom napojení
- seznámení se s REST API (je-li to pro vás)
- pročítání dokumentace dané služby
Krom časových nákladů na nastavení a údržbu, se samozřejmě platí měsíční paušál s maximem:
- počtu operací
- objemu přenesených dat
Pokud nepracujete s opravdu velkým objemem dat, pak vás typicky budou limitovat právě operace. Je dobré vědět, že:
- operace lze jednorázově přikoupit
- často je možné optimalizovat spotřebu
- redukce počtu bublin
- změna typu triggeru (cyklicky vs webhook)
- redukce četnosti běhu
Kdybych si měl slepě tipnout, tak 9-16 USD měsíčně vám pro vaši menší firmu může dát solidní prostor do začátku. Mrkněte na pricing pro 10-20k operací, případně více.
S přibývajícím objemem, počtem a četností operací, se pak cena může šplhat nahoru, což taky může být trochu past v delším období.
Krom inherentního limitu počtu operací a velikosti dat, je tu i kostrbatá dev experience. Zkušenějšího hobby programátora musí vytáčet neflexibita oproti progamovacím jazykům. Typicky jde o věci jako:
- nemožnost sloučit tok
- absence pokročilejších funkcí
- absence nástrojů z vývojového prostředí
Z toho vyplývá, že Make scénáře jsou praktické jen do určité míry komplexnosti , a potom už je praktičtější je nahradit za robustnější implementaci v programovacím jazyce.
Kdy to dává největší smysl
- jde pouze o doplňkovou vrstvu
- jde o rychlé / dočasné demo
- firma vývojářem vůbec nedisponuje
- vývojáři ve firmě nemají volnou kapacitu
- jste si jistí, že z jednoduchých potřeb se nestanou komplexní
- máte vícero procesů, jejichž automatizací v delším období dost ušetříte
Potřebujete pomoct začít?
Budu-li umět, rád vám pomůžu! Mrkněte do patičky webu zda nyní přijímám nabídky, a kdyžtak mi napište a něco třeba vymyslíme :)