Programavimas

5 kvailos priežastys, kodėl jūs nenaudojate Heroku

Russellas Smithas yra vienas iš Rainforest QA įkūrėjų ir CTO.

Kai kitiems CTO ir inžinieriams sakau, kad mes labai pasitikime Heroku valdydami savo verslą, jie visada reaguoja į tą pačią reakciją: Kodėl? Kodėl ne AWS? Ar tu juokauji? Ar girdėjote apie „Google Cloud“? Ar tu idiotas?

Tai atsitinka nesėkmingai. Su. Išeina. Nepavyko. Argumentas paprastai būna maždaug toks: kam mokėti daugiau už „PaaS“, kai jį galite sukurti patys „Google“ ar AWS ir turėti jį taip, kaip norite? Į ką sakau: Aguona. Šiems žmonėms trūksta realios „PaaS“ naudos ir galbūt kai kurių pagrindinių ekonominių prasmių.

Nuo 2012 m. Pradžios „Rainforest QA“ daug naudojome „Heroku“, kad galėtume vykdyti automatinio kokybės užtikrinimo testavimo paslaugą. Mes beveik viską pritaikome „Heroku“ - daugumos programų gamybai, parengimui ir kokybės užtikrinimui. Jis stabilus, ekonomiškai prasmingas ir tiksliai atitinka mūsų poreikius.

Čia yra pagrindiniai argumentai, kuriuos girdžiu prieš Heroku, ir kodėl aš manau, kad jie (dažniausiai) yra klaidingi.

1. Heroku yra NIH (čia neišgalvotas)

Jei tai nėra meiliai suburta mūsų komandos, ji negali būti tobula mums, todėl nėra pakankamai gera. Šiais laikais numatytasis nustatymas yra naudoti AWS (beje, taip pat NIH), tada samdyti žmones, kad jie sujungtų dabartinę klubo „Mano startuolis“ yra „snaigės“ infrastruktūrą. Ši mąstymo linija turi keletą trūkumų:

  • Jūsų inžinierių komandai trūksta laiko išmokti įgūdžių ir tinkamai atlikti darbą, nebent pasamdysite papildomų itin protingų žmonių.
  • Negalite samdyti papildomų žmonių, kurie yra labai protingi. Puikūs žmonės yra labai brangūs, jų sunku rasti ir tikriausiai jau dirba kažkur kitur.
  • Infrastruktūrą statyti retai reikia tik vieną kartą. Kai pasikeis jūsų poreikiai, turėsite viską kurti iš naujo.
  • Jūsų pasirinkta infrastruktūra nebus išbandyta mūšyje, kol jūs neišbandysite jos. Arba, kol jūsų klientai ir inžinieriai to nepadarys. Negalima jų per tai. Tik ne.

Jei manote, kad galite pasamdyti geriausius žmones, kurie sujungs jūsų infrastruktūrą, juokaujate patys. Bet net jei galėtumėte, laikas, kurį praleidžiate kurdami šią infrastruktūrą, retai, jei kada nors, perkelia jūsų produktą į priekį (nebent pati infrastruktūra yra pagrindinė jūsų pasiūlymo dalis).

Štai kodėl man labiau patinka mano maršrutas:

  • „Heroku“ leidžia mums sutelkti dėmesį į tai, ką mes darome geriausiai - sukurti automatizuotą kokybės užtikrinimo platformą.
  • Iš tikrųjų gali būti naudinga turėti tam tikrus architektūrinius apribojimus. Jie išlaisvina jus nuo pasirinkimo ir analizės paralyžiaus.
  • „Heroku“ nuolat papildo funkcijas, kurios iš tikrųjų yra padaryti judėti mūsų gaminį į priekį.

Čia yra tik keletas mums patinkančių „Heroku“ funkcijų:

  • Gerai prieinami „Postgres“
  • „Postgres“ šifravimas įjungtas pagal numatytuosius nustatymus
  • Rąstų nutekėjimai (standartinis žurnalų rinkimo ir persiuntimo būdas)
  • Peržiūrėkite programas (kurios paleidžia kodą bet kurioje „GitHub“ traukimo užklausoje visoje vienkartinėje „Heroku“ programoje)
  • „Heroku“ priedų turgavietė

Neseniai paminėtas svarbus papildymas yra „Heroku Shield“, suteikiantis mums BAA (verslo partnerių susitarimą dėl HIPAA laikymosi iš „Salesforce.com“. Jame yra tam tikrų problemų, tačiau jei patys norėtume sukurti HIPAA atitiktį, porai inžinierių prireiktų mėnesį ar daugiau darbo. Vietoj to, tie inžinieriai juda mūsų produktu į priekį ir džiugina klientus.

# 2. PaaS yra per brangus

Bet Heroku yra labai brangus! Tai yra bandos mąstymas ir neatsižvelgiama į didelių žmonių paiešką, įdarbinimą ir mokymą kurti ir prižiūrėti jūsų snaigių infrastruktūrą. Jau nekalbant apie šių žmonių išlaikymo, apgyvendinimo biure ir stalo teniso stalų tiekimo išlaidas ar dar daugiau, kad jie būtų patenkinti.

Tuomet tenka alternatyvios išlaidos samdant žmones, dirbantiems „devops“ ir „sysadmin“ vaidmenyse, o ne produkto inžineriją. Tos išlaidos linijiškai didėja, kai jūsų verslas mažėja. Naudodamiesi „Heroku“, jūs menkai mažinate ribines išlaidas.

Nepamirškite papildomų dėmesio trūkumo išlaidų. Jei sprendžiate periferinės infrastruktūros reikalus, nesate susitelkę į savo produkto tobulinimą.

Mokėjimas „Heroku“ reiškia, kad jūs neturite jaudintis kurdami savo infrastruktūrą ir nuolat ją pasiekdami - ir tai vis tiek kainuoja tiek pat ar mažiau, kaip samdyti ir išlaikyti tuos papildomus žmones.

# 3. PaaS yra per daug varžantis

Bet ... bet ... mano snaigė! Daugelis žmonių mano, kad jų taikymas ar architektūra turi unikalių poreikių. Daugeliu atvejų taip nėra, o jei taip, tikriausiai neturėtų. Tačiau esu pasirengęs sutikti su keliomis teisėtomis priežastimis, dėl kurių galbūt negalėsite naudotis „Heroku“. Jie yra čia:

  • Jums reikia daugybės procesoriaus ar RAM. „Heroku“ nebus keičiamas iki AWS, o konfigūracijos yra šiek tiek ne tokios lanksčios. Jei jums tikrai reikia tūkstančių serverių, AWS (ar net plikas metalas) gali būti ekonomiškesnis. Tačiau Heroku palaiko gana nemažus atvejus. Daugumai žmonių tai turėtų būti daugiau nei pakankamai.
  • Jums reikia pliko metalo serverių ar specialių procesorių. Jei atliekate mašininį mokymąsi ar kitą intensyvų GPU darbą, „Heroku“ gali būti nelabai tinkamas. Tačiau vis tiek galite laikytis hibridinio požiūrio, kaip mes. Mes naudojame „Heroku“, bet taip pat ir „bare-metal“ serverius, kad pasiektume geriausią savo virtualinimo platformos našumą.
  • Jums reikia ne HTTP RPC, pvz., GRPC. Bet koks gaunamas srautas, kuris nėra „WebSocket“, HTTP ar HTTPS, šiandien „Heroku“ maršrutizatorius nepalaiko.
  • Negalite dirbti palaikomuose programų modeliuose. Pvz., Jei jums reikia tarpinio ryšio, kad programų serverių grupė galėtų elgtis kaip „Erlang“ ar „Elixir“, arba jums reikia unikalios maršruto nustatymo, tada „Heroku“ netinka jums.

Gali būti keletas kitų priežasčių, tačiau dažnai jos nėra būtinos jūsų verslui. Jei galite sukurti savo programą taip, kad ji atitiktų „Heroku“ modelį, gausite daug privalumų. Svarbiausia yra suderinamumas tarp programų - nuo diegimo, stebėjimo, registravimo iki mastelio keitimo.

# 4. Herokas nedaro Dockerio

Bet aš turiu turėti Docker! Daugiau nesijaudinkite. Nuo rugsėjo pradžios galite naudoti „Docker“ vaizdus „Heroku“. Dar prieš tai „Heroku“ apėmė šiek tiek panašias galimybes kaip ir „Docker“, leidžiantis jums pristatyti savo programos paketus su konteineriais. Tai neatitiko „Docker“ funkcijos funkcijos, tačiau jūs galite galvoti apie „Heroku“ kaip apie prieglobos valdomą „Docker“ versiją. Bet kokiu atveju to rūpesčio dabar nebėra.

# 5. Heroku nėra pakankamai saugus

Bet Heroku nėra saugus! DAUG JUOKO. Tai neturėtų būti problema, nebent esate griežtai reguliuojamoje pramonėje, pvz., Finansų srityje, arba jums nereikia specialaus sertifikato, kurio nepalaiko „Heroku“. Nėra jokios priežasties manyti, kad Heroku yra prasmingai mažiau saugus nei AWS. Ji turi visą komandą, skirtą valdyti savo platformos saugumą; ar tu? Be to, jūs priimsite daugybę vienkartinių sprendimų, kol sukursite savo infrastruktūrą, kurios nė viena nebus išbandyta. Šiuos sprendimus „Heroku“ priėmė ilgai prieš jus, ir jie buvo išbandyti tokiu mastu, kokį dauguma įmonės gali tik įsivaizduoti.

Be to, skirtingai nei jūsų įprasta aplinka, „Heroku“ yra nuoseklus ir vienodas. Jis turi aiškiai apibrėžtas ribas, o tai reiškia, kad jūsų atakos paviršius bus mažesnis. Tai taip pat reiškia, kad jį lengviau suprasti, todėl jūs mažiau tikėtina, kad atsitiktinai padarysite ką nors, kas sukuria pažeidžiamumą.

Beje, inžinieriai mėgsta nuoseklią diegimo aplinką dėl įvairių priežasčių, išskyrus saugumą.

Galiausiai kiekviena įmonė turi priimti geriausią sprendimą savo verslui ir klientams. Tačiau nepamirškite, kad tiems klientams nerūpi, ar esate pažangiausias, namų meno kūrinys, ar bendros paskirties „PaaS“. Jiems rūpi, kad jūsų paslauga veiktų, kad ji laikui bėgant tobulėtų ir kad jūsų neįsilaužtų. Heroku pasisekė labai gerai, ir tikriausiai tai būtų jums.

Naujųjų technologijų forumas suteikia galimybę tyrinėti ir aptarti besiformuojančios įmonės technologijas beprecedentiame gylyje. Atranka yra subjektyvi, atsižvelgiant į mūsų pasirinktas technologijas, kurios, mūsų manymu, yra svarbios ir labiausiai domina skaitytojus. nepriima rinkodaros užtikrinimo priemonės paskelbimui ir pasilieka teisę redaguoti visą pateiktą turinį. Visus klausimus siųskite adresu[email protected].