Blog

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).

Mrkněte na přehled use-casů, ze kterých si lze udělat představu, na co se tak nejčastěji používá. V zásadě jakékoli jednodušší napojení systémů třetích služeb, ať už navzájem, anebo s vaším interním systémem.

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

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:

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 :)