Ohjelmointi

5 typerää syytä, miksi et käytä Herokua

Russell Smith on Rainforest QA: n perustaja ja teknologiajohtaja.

Kun sanon muille teknologiajohtajaille ja insinööreille, että luotamme suuresti Herokuun liiketoimintamme hoidossa, heillä on aina sama reaktio: Miksi? Miksi ei AWS? Vitsailetko? Oletko kuullut Google Cloudista? Oletko idiootti?

Tämä tapahtuu epäonnistumatta. Kanssa. Ulos. Epäonnistui. Väite menee yleensä tältä: Miksi maksaa enemmän PaaS: sta, kun voit rakentaa sen itse Googleen tai AWS: ään - ja pitää se juuri haluamallasi tavalla? Minulle sanon: Poppycock. Näiltä ihmisiltä puuttuu PaaS: n todelliset edut ja ehkä myös jotkut taloudelliset perustavat.

Olemme käyttäneet Herokua laajasti Rainforest QA: ssa vuoden 2012 alusta lähtien automatisoidun laadunvalvontatestauspalvelumme suorittamiseen. Otamme käyttöön melkein kaiken Herokussa - tuotannon, lavastuksen ja laadunvalvonnan useimmille sovelluksille. Se on vakaa, sillä on taloudellista merkitystä ja se sopii juuri tarpeisiimme.

Tässä ovat tärkeimmät perustelut, joita kuulen Herokua vastaan, ja miksi mielestäni ne ovat (enimmäkseen) harhaanjohtavia.

# 1. Heroku on NIH (ei keksitty täällä)

Jos tiimimme ei rakasta sitä rakkaudella, se ei voi olla täydellinen meille, joten se ei ole tarpeeksi hyvä. Oletuksena on nykyään käyttää AWS: ää (joka muuten on myös NIH), ja palkata sitten ihmiset kokoamaan yhteen tällä hetkellä lonkka, minun-startup-on-lumihiutale-infrastruktuuri. Tällä ajattelutavalla on useita puutteita:

  • Suunnittelutiimilläsi ei ole aikaa oppia taitoja ja tehdä työtä kunnolla - ellet palkkaa ylimääräisiä älykkäitä ihmisiä.
  • Et voi palkata ylimääräisiä älykkäitä ihmisiä. Suuret ihmiset ovat erittäin kalliita, vaikea löytää ja todennäköisesti työskentelevät jo muualla.
  • Infrastruktuuria täytyy harvoin rakentaa vain kerran. Kun tarpeesi muuttuvat, sinun on rakennettava se uudestaan.
  • Mukautettua infrastruktuuriasi ei testata taistelussa ennen kuin olet testannut sitä. Tai pikemminkin, kunnes asiakkaasi ja insinöörit ovat. Älä laita niitä läpi. Älä vain.

Jos luulet voivasi palkata parhaat ihmiset rakentamaan infrastruktuurisi, pilailet itseäsi. Mutta vaikka voisitkin, tämän infrastruktuurin rakentamiseen käytetty aika vie tuotteesi harvoin, jos koskaan, eteenpäin (ellei infrastruktuuri itse ole tarjouksesi ydin).

Tästä syystä suosin reittiäni:

  • Herokun avulla voimme keskittyä siihen, mitä teemme parhaiten - rakentamaan automatisoidun laadunvalvonta-alustan.
  • Joidenkin arkkitehtonisten rajoitusten asettaminen sinulle voi olla todella hyvä asia. Ne vapauttavat sinut valinnan ja analyysin halvauksesta.
  • Heroku lisää jatkuvasti ominaisuuksia, jotka todella ovat tehdä siirtää tuotteitamme eteenpäin.

Tässä on vain muutama rakastamamme Heroku-ominaisuus:

  • Korkea saatavuus Postgres
  • Postgres-salaus on oletusarvoisesti käytössä
  • Lokien viemärit (tavallinen tapa lokien keräämiseen ja edelleenlähetykseen)
  • Tarkista sovellukset (jotka suorittavat koodin missä tahansa GitHub-vetopyynnössä täydellisessä kertakäyttöisessä sovelluksessa Herokussa)
  • Heroku-lisäosakauppa

Viimeaikainen merkittävä mainitsemisen arvoinen lisäys on Heroku Shield, joka antaa meille BAA: n (liikekumppanisopimus HIPAA-vaatimustenmukaisuudesta Salesforce.com-sivustolta. Siinä on joitain hampaiden syntymiseen liittyviä ongelmia, mutta jos itse rakennamme HIPAA-yhteensopivuuden, se vie pari insinööriä Sen sijaan nämä insinöörit siirtävät tuotteitamme eteenpäin ja tekevät asiakkaistamme onnellisempia.

# 2. PaaS on liian kallista

Mutta Heroku on niin kallis! Tämä on lauma-ajattelua ja jätetään huomiotta kustannukset, jotka aiheutuvat suurten harrastajien löytämisestä, rekrytoinnista ja kouluttamisesta lumihiutaleinfrastruktuurin rakentamiseen ja ylläpitoon. Puhumattakaan kustannuksista, jotka aiheutuvat näiden ihmisten säilyttämisestä, heidän asettamisesta toimistoon ja pingispöytien tarjoamisesta tai mistä tahansa muusta, mitä he tarvitsevat pitääkseen heidät onnellisina.

Sitten on vaihtoehtoisten kustannusten palkkaaminen ihmisille devops- ja sysadmin-rooleissa tuotesuunnittelun sijaan. Ja nämä kustannukset kasvavat lineaarisesti yrityksesi mittakaavassa. Herokun avulla pienentyvät marginaalikustannukset mittakaavassa.

Älä unohda keskittymättömyydestäsi aiheutuvia lisäkustannuksia. Jos käsittelet oheislaitteiden infrastruktuuria koskevia asioita, et ole keskittynyt tuotteesi parantamiseen.

Herokulle maksaminen tarkoittaa, että sinun ei tarvitse huolehtia infrastruktuurin rakentamisesta ja sen pitämisestä aina käytettävissä - ja se maksaa silti yhtä paljon tai vähemmän kuin näiden lisäoperaattoreiden palkkaaminen ja säilyttäminen.

# 3. PaaS on liian rajoittava

Mutta… mutta… lumihiutaleeni! Monet ihmiset ajattelevat, että heidän sovelluksellaan tai arkkitehtuurillaan on ainutlaatuisia tarpeita. Useimmissa tapauksissa se ei - ja jos niin, niin ei todennäköisesti. Olen kuitenkin valmis hyväksymään muutaman laillisen syyn, ettet ehkä pysty käyttämään Herokua. Täällä he ovat:

  • Tarvitset tonnia suoritinta tai RAM-muistia. Heroku ei skaalaa AWS: iin saakka, ja kokoonpanot ovat hieman vähemmän joustavia. Jos tarvitset todella tuhansia palvelimia, AWS (tai jopa paljas metalli) voi olla taloudellisempi. Mutta Heroku tukee joitain melko mittavia tapauksia. Useimmille ihmisille sen pitäisi olla enemmän kuin tarpeeksi.
  • Tarvitset paljaat metallipalvelimet tai erikoisprosessorit. Jos teet koneoppimista tai muuta grafiikkasuoritinta intensiivistä työtä, Heroku ei välttämättä sovi parhaiten. Voit kuitenkin silti noudattaa hybridi-lähestymistapaa kuten me. Käytämme Herokua, mutta myös paljasmetallipalvelimia saadaksemme parhaan mahdollisen suorituskyvyn virtualisointialustallemme.
  • Tarvitset muun kuin HTTP-RPC: n, kuten gRPC. Heroku-reititin ei tue tänään saapuvaa liikennettä, joka ei ole WebSocket, HTTP tai HTTPS.
  • Et voi työskennellä tuetuissa sovellusmalleissa. Esimerkiksi, jos tarvitset internode-viestintää, jotta sovelluspalvelimien ryhmä voi käyttäytyä yhtenä Erlangin tai Elixirin tapaan, tai tarvitset ainutlaatuisen reititysasetuksen, Heroku ei ole sinua varten.

Syitä voi olla muutama, mutta usein ne eivät ole välttämättömiä yrityksellesi. Jos voit suunnitella sovelluksesi sopimaan Heroku-malliin, saat monia etuja. Suurin niistä on sovellusten yhdenmukaisuus - käyttöönotosta seurantaan, kirjaamiseen ja skaalaamiseen.

# 4. Heroku ei tee Dockeria

Mutta minulla on oltava Docker! Älä tuskaile enää. Syyskuun alusta lähtien voit ottaa Docker-kuvat käyttöön Herokussa. Jo ennen sitä Heroku sisälsi jonkin verran samanlaisia ​​ominaisuuksia kuin Docker, jolloin voit toimittaa sovelluksesi konttirakenteita. Se ei vastannut Docker-ominaisuutta ominaisuudelle, mutta voit ajatella Herokua olevan Dockerin isännöity, hallittu versio. Joka tapauksessa tämä huolenaihe on nyt poissa.

# 5. Heroku ei ole tarpeeksi turvallinen

Mutta Heroku ei ole turvallinen! LOL. Ellet kuulu tiukasti säänneltyyn alaan, kuten rahoitukseen, tai jos tarvitset tiettyä sertifikaattia, jota Heroku ei tue, tämän ei pitäisi olla ongelma. Ei ole mitään syytä uskoa, että Heroku on merkityksellisesti vähemmän turvallinen kuin AWS. Sillä on koko tiimi, joka on omistautunut alustansa turvallisuuden hallintaan. sinä? Lisäksi aiot tehdä paljon kertaluonteisia päätöksiä samalla, kun pyörit omaa infrastruktuuriasi, joista mitään ei ole testattu. Heroku teki nämä päätökset kauan ennen sinua, ja ne on testattu mittakaavassa, jonka useimmat yritykset voivat vain kuvitella.

Lisäksi, toisin kuin mukautetussa ympäristössäsi, Heroku on johdonmukainen ja yhtenäinen. Siinä on rajat, jotka on määritelty selkeästi, mikä tarkoittaa, että hyökkäyspinta tulee olemaan pienempi. Tämä tarkoittaa myös, että sitä on helpompi ymmärtää, joten olet vähemmän todennäköisesti tekemässä jotain vahingossa, mikä luo haavoittuvuuden.

Ja muuten, insinöörit rakastavat yhtenäistä käyttöönottoympäristöä kaikenlaisista syistä turvallisuuden lisäksi.

Viime kädessä jokaisen yrityksen on tehtävä paras päätös liiketoiminnalleen ja asiakkailleen. Muista kuitenkin, että nämä asiakkaat eivät välitä, oletko huipputeknologian, kotimainen taideteos vai yleiskäyttöinen PaaS. He välittävät siitä, että palvelusi toimii, että se paranee ajan myötä ja ettet hakkeroitu. Heroku on toiminut erittäin hyvin meille, ja se todennäköisesti tekisi sinulle.

New Tech Forum tarjoaa mahdollisuuden tutkia ja keskustella kehittyvistä yritysteknologioista ennennäkemättömällä syvyydellä ja laajuudella. Valinta on subjektiivinen, perustuu valitsemiemme tekniikoihin, joiden uskomme olevan tärkeitä ja kiinnostavia lukijoille. ei hyväksy markkinointivakuuksia julkaisua varten ja pidättää oikeuden muokata kaikkea lähetettyä sisältöä. Lähetä kaikki tiedustelut osoitteeseen[email protected].