Programovanie

5 hlúpych dôvodov, že Heroku nepoužívate

Russell Smith je spoluzakladateľom a technickým riaditeľom spoločnosti Rainforest QA.

Keď poviem ostatným technickým riaditeľom a technikom, že pri riadení nášho podnikania do veľkej miery spoliehame na Heroku, majú vždy rovnakú reakciu: Prečo? Prečo nie AWS? Žartuješ? Počuli ste už o službe Google Cloud? Ste idiot?

To sa deje bez problémov. S. Von. Zlyhanie. Argument zvyčajne znie asi takto: Prečo platiť viac za PaaS, keď si ho môžete vytvoriť sami na Google alebo AWS - a mať ho tak, ako chcete? Na čo hovorím: Poppycock. Týmto ľuďom chýbajú skutočné výhody PaaS a možno aj nejaký základný ekonomický zmysel.

Heroku vo firme Rainforest QA od začiatku roku 2012 intenzívne používame na spustenie našej automatizovanej služby testovania kvality. V Heroku nasadzujeme takmer všetko - na produkciu, spracovanie a zabezpečenie kvality pre väčšinu aplikácií. Je stabilný, dáva ekonomický zmysel a presne vyhovuje našim potrebám.

Tu sú hlavné argumenty, ktoré počúvam proti Heroku, a prečo si myslím, že sú (väčšinou) klamné.

# 1. Heroku je NIH (tu nie je vynájdený)

Ak to náš tím nestvorí s láskou, nemôže to byť pre nás ideálne, a preto to nie je dosť dobré. Predvolené je v dnešnej dobe použitie AWS (ktorý je, mimochodom, tiež NIH), a potom najímanie ľudí, aby vytvorili dohromady momentálne modernú infraštruktúru, môj startup je snehová vločka. Tento spôsob myslenia má niekoľko nedostatkov:

  • Váš tím inžinierov nemá čas na to, aby sa naučil zručnosti a zvládol svoju prácu správne, pokiaľ nenajmete ďalších ľudí, ktorí sú mimoriadne inteligentní.
  • Nemôžete si najať ďalších ľudí, ktorí sú mimoriadne inteligentní. Skvelí ľudia sú veľmi drahí, ťažko sa hľadajú a pravdepodobne už pracujú niekde inde.
  • Infraštruktúru musíte postaviť len zriedka. Keď sa vaše potreby zmenia, budete ich musieť budovať znova a znova.
  • Vaša vlastná infraštruktúra nebude testovaná bitkou, kým VY ju bitku nevyskúšate. Alebo skôr, kým to vaši zákazníci a inžinieri nebudú mať. Nedávajte im to. Len nie.

Ak si myslíte, že môžete najať tých najlepších ľudí na zostavenie svojej infraštruktúry, robíte si srandu. Ale aj keby ste mohli, čas, ktorý strávite budovaním tejto infraštruktúry, posúva váš produkt vpred iba zriedka, ak vôbec, (pokiaľ samotná infraštruktúra nie je základnou súčasťou vašej ponuky).

Z tohto dôvodu uprednostňujem svoju trasu:

  • Heroku nám umožňuje sústrediť sa na to, čo robíme najlepšie - budovanie automatizovanej platformy QA.
  • Mať na vás uvalené nejaké architektonické obmedzenia, môže byť v skutočnosti dobrá vec. Oslobodzujú vás od paralýzy výberu a analýzy.
  • Heroku neustále pridáva funkcie, ktoré skutočne sú robiť posunúť náš produkt vpred.

Tu uvádzame iba niektoré z funkcií Heroku, ktoré máme radi:

  • Vysoká dostupnosť Postgres
  • Šifrovanie pre Postgres je predvolene zapnuté
  • Odtoky denníkov (štandardný spôsob zhromažďovania a preposielania denníkov)
  • Skontrolujte aplikácie (ktoré spúšťajú kód v ľubovoľnej požiadavke na stiahnutie z GitHubu v kompletnej jednorazovej aplikácii na Heroku)
  • Trh s doplnkami Heroku

Posledným významným prírastkom, ktorý stojí za zmienku, je Heroku Shield, ktorý nám dáva BAA (dohoda o pridružení medzi podnikmi pre dodržiavanie súladu s HIPAA zo stránky Salesforce.com. Má nejaké počiatočné problémy, ale ak by sme si sami chceli vytvoriť súlad s HIPAA, trvalo by to niekoľkým technikom mesiac alebo viac práce. Namiesto toho títo inžinieri posúvajú náš produkt vpred a robia našich zákazníkov šťastnejšími.

# 2. PaaS je príliš drahý

Ale Heroku je strašne drahé! Toto je stádové myslenie a ignoruje náklady na hľadanie, nábor a výcvik skvelých ľudí, ktorí budujú a udržiavajú vašu infraštruktúru snehových vločiek. Nehovoriac o nákladoch na udržanie týchto ľudí, ich uvedenie do kancelárie a zabezpečenie stolov na ping pong alebo čohokoľvek iného, ​​čo je potrebné na ich spokojnosť.

Potom existujú náklady na príležitosť na nábor ľudí do úloh devops a sysadmin namiesto produktového inžinierstva. A tieto náklady sa lineárne zvyšujú podľa rozsahu vášho podnikania. S Heroku znižujete marginálne náklady v rozsahu.

Nezabudnite na ďalšie náklady spojené s nedostatočným zameraním. Ak sa zaoberáte záležitosťami periférnej infraštruktúry, nesústredíte sa na vylepšenie svojho produktu.

Platenie Heroku znamená, že sa nemusíte starať o to, aby ste svoju infraštruktúru budovali a neustále ju udržiavali dostupnú - a stále stojí rovnaké alebo nižšie náklady ako najímanie a udržanie týchto ďalších operátorov.

# 3. PaaS je príliš obmedzujúci

Ale ... ale ... moja snehová vločka! Mnoho ľudí si myslí, že ich aplikácia alebo architektúra má jedinečné potreby. Vo väčšine prípadov nie je - a ak áno, pravdepodobne by nemal. Som však pripravený prijať niekoľko legitímnych dôvodov, prečo nebudete môcť Heroku používať. Tu sú:

  • Potrebujete veľa CPU alebo RAM. Heroku nebude mať mierku tak ďaleko ako AWS a konfigurácie sú o niečo menej flexibilné. Ak skutočne potrebujete tisíce serverov, môže byť AWS (alebo dokonca holý kov) ekonomickejší. Ale Heroku podporuje niektoré dosť veľké prípady. Pre väčšinu ľudí by to malo byť viac než dosť.
  • Potrebujete bare-metal servery alebo špeciálne procesory. Ak sa venujete strojovému učeniu alebo inej práci náročnej na GPU, Heroku nemusí byť veľmi vhodný. Stále však môžete zvoliť hybridný prístup ako my. Používame Heroku, ale aj bare-metal servery, aby sme dosiahli najlepší výkon pre našu virtualizačnú platformu.
  • Potrebujete iné ako HTTP RPC, napríklad gRPC. Smerovač Heroku dnes nepodporuje žiadnu prichádzajúcu komunikáciu, ktorá nie je WebSocket, HTTP alebo HTTPS.
  • V rámci podporovaných modelov aplikácií nemôžete pracovať. Napríklad, ak potrebujete medzináboženskú komunikáciu, aby sa skupina serverov aplikácií mohla správať ako jeden server pre niečo ako Erlang alebo Elixir, alebo potrebujete jedinečné nastavenie smerovania, potom Heroku nie je pre vás.

Môže existovať niekoľko ďalších dôvodov, ktoré však často nie sú pre vaše podnikanie zásadné. Ak môžete navrhnúť svoju aplikáciu tak, aby sa zmestila do modelu Heroku, získate veľa výhod. Najdôležitejšou z nich je konzistencia medzi aplikáciami - od nasadenia cez monitorovanie, protokolovanie až po škálovanie.

# 4. Heroku nerobí Dockera

Ale musím mať Dockera! Už sa netrápte. Od začiatku septembra môžete do Heroku nasadiť obrázky Dockeru. Ešte predtým obsahovalo Heroku do istej miery podobné schopnosti ako Docker, čo vám umožnilo prepravovať kontajnerované verzie vašej aplikácie. Nezodpovedalo to funkcii Dockera pre túto funkciu, ale o Heroku si môžete myslieť, že je hostovanou spravovanou verziou Dockeru. V každom prípade je teraz táto obava preč.

# 5. Heroku nie je dostatočne bezpečný

Heroku však nie je bezpečný! LOL. Ak nie ste v silne regulovanom priemysle, napríklad financiách, alebo ak potrebujete konkrétnu certifikáciu, ktorú Heroku nepodporuje, nemal by to byť problém. Nie je dôvod domnievať sa, že Heroku je zmysluplne menej bezpečný ako AWS. Má celý tím venovaný správe bezpečnosti svojej platformy; či? Navyše budete robiť kopu jednorazových rozhodnutí pri zavádzaní vlastnej infraštruktúry, z ktorých žiadne nebudú testované. Heroku urobil tieto rozhodnutia dávno pred vami a boli testované v rozsahu, aký si väčšina spoločností dokáže len predstaviť.

Na rozdiel od vášho vlastného prostredia je navyše Heroku konzistentný a jednotný. Má hranice, ktoré sú jasne definované, čo znamená, že vaša útočná plocha bude menšia. To tiež znamená, že je ľahšie pochopiteľné, takže je menej pravdepodobné, že niečo urobíte náhodou, čo vytvorí zraniteľnosť.

A mimochodom, inžinieri milujú konzistentné prostredie nasadenia, okrem bezpečnosti aj z rôznych dôvodov.

Nakoniec musí každá spoločnosť urobiť to najlepšie rozhodnutie pre svoje podnikanie a svojich zákazníkov. Pamätajte však, že týmto zákazníkom je úplne jedno, či ste na špičkovom domácom umeleckom diele alebo na univerzálnom PaaS. Záleží im na tom, aby vaša služba fungovala, aby sa časom zlepšovala a aby ste sa nenechali hacknúť. Heroku pre nás fungoval veľmi dobre a pravdepodobne by to bolo aj pre vás.

Nové technologické fórum poskytuje miesto na preskúmanie a diskusiu o vznikajúcich podnikových technológiách v nebývalej hĺbke a šírke. Výber je subjektívny, založený na našom výbere technológií, ktoré považujeme za dôležité a pre čitateľov najväčší záujem. neprijíma marketingové záruky na zverejnenie a vyhradzuje si právo upravovať všetok prispievaný obsah. Všetky otázky posielajte na adresu[email protected].

$config[zx-auto] not found$config[zx-overlay] not found