Programmēšana

5 neprātīgi iemesli, kāpēc jūs neizmantojat Heroku

Rasels Smits ir Rainforest QA līdzdibinātājs un CTO.

Kad es saku citiem CTO un inženieriem, ka mēs ļoti paļaujamies uz Heroku, lai vadītu savu biznesu, viņiem vienmēr ir tāda pati reakcija: Kāpēc? Kāpēc ne AWS? Vai jūs jokojat? Vai esat dzirdējuši par Google Cloud? Vai tu esi idiots?

Tas notiek bez izgāšanās. Ar. Ārā. Neveiksme. Arguments parasti izsakās šādi: Kāpēc maksāt vairāk par PaaS, kad pats to varat izveidot Google vai AWS - un lai tas būtu tieši tā, kā vēlaties? Uz ko es saku: Magone. Šiem cilvēkiem trūkst patieso PaaS priekšrocību un, iespējams, arī kāda pamata ekonomiskā jēga.

Kopš 2012. gada sākuma mēs daudz lietojam Heroku Rainforest QA, lai palaistu mūsu automatizēto QA testēšanas pakalpojumu. Heroku mēs izvietojam gandrīz visu - ražošanai, iestudēšanai un kvalitātes nodrošināšanai lielākajai daļai lietotņu. Tas ir stabils, tam ir ekonomiska jēga un tas precīzi atbilst mūsu vajadzībām.

Šeit ir galvenie argumenti, ko dzirdu pret Heroku, un kāpēc es domāju, ka viņi (galvenokārt) ir maldīgi.

# 1. Heroku ir NIH (šeit nav izgudrots)

Ja mūsu komanda to nesadala ar mīlestību, tā nevar būt ideāla mums, tāpēc tā nav pietiekami laba. Mūsdienās pēc noklusējuma ir jāizmanto AWS (kas, starp citu, ir arī NIH), pēc tam nolīgt cilvēkus, lai uz augšu saliktu šobrīd gūžas, mans-start-up-a-snowflake infrastruktūru. Šai domāšanas līnijai ir vairāki trūkumi:

  • Jūsu inženieru komandai trūkst laika, lai apgūtu prasmes un pienācīgi veiktu darbu, ja vien jūs nepieņemat darbā citus cilvēkus, kuri ir ārkārtīgi gudri.
  • Jūs nevarat algot papildu cilvēkus, kuri ir ārkārtīgi gudri. Lieliski cilvēki ir ļoti dārgi, grūti atrodami un, iespējams, jau strādā kaut kur citur.
  • Infrastruktūru reti jāveido tikai vienu reizi. Kad mainīsies jūsu vajadzības, jums tas būs jāveido no jauna.
  • Jūsu pielāgotā infrastruktūra netiks pārbaudīta kaujā, kamēr YOU’VE battle to nepārbaudīs. Pareizāk sakot, kamēr jūsu klienti un inženieri to nav izdarījuši. Nelieciet tos cauri. Tikai nevajag.

Ja jūs domājat, ka varat nolīgt labākos cilvēkus, lai savāktu savu infrastruktūru, jūs jokojat sevi. Bet pat ja jūs varētu, laiks, ko pavadāt šīs infrastruktūras izveidošanai, reti, ja vispār, virzās uz priekšu (ja vien pati infrastruktūra nav jūsu piedāvājuma galvenā sastāvdaļa).

Lūk, kāpēc es dodu priekšroku savam maršrutam:

  • Heroku ļauj mums koncentrēties uz to, ko mēs darām vislabāk - izveidot automatizētu kvalitātes nodrošināšanas platformu.
  • Dažu arhitektūras ierobežojumu noteikšana jums faktiski var būt laba lieta. Viņi atbrīvo jūs no izvēles un analīzes paralīzes.
  • Heroku pastāvīgi pievieno funkcijas, kas faktiski darīt virzīt mūsu produktu uz priekšu.

Šeit ir tikai dažas no mūsu iecienītākajām Heroku funkcijām:

  • Augstas pieejamības Postgres
  • Postgres šifrēšana ir ieslēgta pēc noklusējuma
  • Žurnālu notekas (standarta veids, kā veikt žurnālu savākšanu un pārsūtīšanu)
  • Pārskatiet lietotnes (kuras palaiž kodu jebkurā GitHub ievilkšanas pieprasījumā pilnīgā, vienreiz lietojamā lietotnē Heroku)
  • Heroku pievienojumprogrammu tirgus

Nesenais nozīmīgais pieminēšanas vērts papildinājums ir Heroku Shield, kas dod mums BAA (biznesa partneru līgums par HIPAA atbilstību no Salesforce.com. Tam ir dažas problēmas ar zobiem, bet, ja mēs paši izveidotu HIPAA atbilstību, tas prasītu pāris inženieru mēnesi vai vairāk darba. Tā vietā šie inženieri virzās uz priekšu mūsu produktu un priecē klientus.

# 2. PaaS ir par dārgu

Bet Heroku ir tik ļoti dārgs! Tā ir ganāmpulka domāšana, un tiek ignorētas izmaksas, kā atrast, pieņemt darbā un apmācīt lieliskus cilvēkus, lai izveidotu un uzturētu jūsu sniegpārslu infrastruktūru. Nemaz nerunājot par izmaksām, kas saistītas ar šo cilvēku paturēšanu, ievietošanu birojā un galda tenisa galdu nodrošināšanu vai visu citu, kas vajadzīgs, lai viņi būtu laimīgi.

Tad ir alternatīvās izmaksas par cilvēku pieņemšanu darbā devops un sysadmin lomās, nevis produktu inženierijas jomā. Un šīs izmaksas lineāri pieaug, kad jūsu bizness palielinās. Izmantojot Heroku, jums ievērojami samazinās robežizmaksas.

Neaizmirstiet arī par uzmanības trūkuma papildu izmaksām. Ja jums ir jautājumi par perifēro infrastruktūru, jūs neesat koncentrējies uz sava produkta uzlabošanu.

Samaksājot Heroku, jums nav jāuztraucas par savas infrastruktūras izveidi un tās pastāvīgu pieejamību - un tas joprojām maksā tikpat vai mazāk nekā šo papildu cilvēku pieņemšana darbā un saglabāšana.

# 3. PaaS ir pārāk ierobežojošs

Bet ... bet ... mana sniegpārsla! Daudzi cilvēki domā, ka viņu lietojumam vai arhitektūrai ir unikālas vajadzības. Vairumā gadījumu tā nav - un, ja tā notiek, tad droši vien nevajadzētu. Tomēr esmu gatavs pieņemt dažus likumīgus iemeslus, kāpēc jūs, iespējams, nevarat izmantot Heroku. Šeit tie ir:

  • Jums ir nepieciešams daudz CPU vai RAM. Heroku netiks mērogots līdz AWS, un konfigurācijas ir nedaudz mazāk elastīgas. Ja jums patiešām ir nepieciešami tūkstošiem serveru, AWS (vai pat kails metāls) var būt ekonomiskāks. Bet Heroku atbalsta dažas diezgan ievērojamas lietas. Lielākajai daļai cilvēku tam vajadzētu būt vairāk nekā pietiekamam.
  • Jums ir nepieciešami tukša metāla serveri vai īpaši procesori. Ja jūs veicat mašīnmācīšanos vai veicat citu GPU intensīvu darbu, Heroku, iespējams, nederēs. Tomēr jūs joprojām varat izmantot hibrīdu pieeju, piemēram, mēs. Lai iegūtu vislabāko veiktspēju mūsu virtualizācijas platformai, mēs izmantojam Heroku, bet arī tukša metāla serverus.
  • Jums ir nepieciešams RPC, kas nav HTTP, piemēram, gRPC. Heroku maršrutētājs šodien neatbalsta ienākošo trafiku, kas nav WebSocket, HTTP vai HTTPS.
  • Atbalstīto lietojumprogrammu modeļos nevar strādāt. Piemēram, ja jums ir nepieciešami starpkodu sakari, lai lietotņu serveru grupa varētu rīkoties kā viena tādam kā Erlang vai Elixir, vai arī jums ir nepieciešama unikāla maršrutēšanas iestatīšana, tad Heroku nav paredzēts jums.

Var būt daži citi iemesli, taču bieži vien tie nav svarīgi jūsu biznesam. Ja jūs varat noformēt savu lietojumprogrammu, lai tā atbilstu Heroku modelim, jūs saņemsiet daudz priekšrocību. Galvenais no tiem ir konsekvence visās lietojumprogrammās - no izvietošanas līdz uzraudzībai, reģistrēšanai un mērogošanai.

# 4. Heroku nedara Dokeru

Bet man noteikti jābūt Dokeram! Neuztraucieties vairs. Kopš septembra sākuma jūs varat izvietot Docker attēlus Heroku. Pat pirms tam Heroku ietvēra nedaudz līdzīgas iespējas kā Docker, ļaujot jums nosūtīt ap jūsu lietotnes būvējumiem konteineros. Tā neatbilda Docker funkcijai, taču jūs domājat, ka Heroku ir mitināta, pārvaldīta Docker versija. Jebkurā gadījumā šīs bažas vairs nav.

# 5. Heroku nav pietiekami drošs

Bet Heroku nav drošs! LOL. Ja vien jūs neatrodaties stingri regulētā nozarē, piemēram, finansēs, vai jums nav nepieciešama īpaša sertifikācija, kuru neatbalsta Heroku, tas nedrīkst būt problēma. Nav pamata uzskatīt, ka Heroku ir jēgpilni mazāk drošs nekā AWS. Tai ir vesela komanda, kas veltīta savas platformas drošības pārvaldībai; vai tu? Turklāt, pieņemot savu infrastruktūru, jūs pieņemsit daudz vienreizēju lēmumu, no kuriem neviens netiks pārbaudīts. Heroku pieņēma šos lēmumus ilgi pirms jums, un tie ir pārbaudīti tādā apjomā, kādu lielākā daļa uzņēmumu var tikai iedomāties.

Turklāt, atšķirībā no jūsu pielāgotās vides, Heroku ir konsekvents un vienveidīgs. Tam ir skaidri definētas robežas, kas nozīmē, ka jūsu uzbrukuma virsma būs mazāka. Tas arī nozīmē, ka to ir vieglāk saprast, tāpēc jums ir mazāka iespēja nejauši izdarīt kaut ko tādu, kas rada ievainojamību.

Starp citu, inženieriem patīk konsekventa izvietošanas vide visu veidu iemeslu dēļ, izņemot drošību.

Galu galā katram uzņēmumam ir jāpieņem labākais lēmums par savu biznesu un klientiem. Bet atcerieties, ka šiem klientiem ir vienalga, vai esat moderns, pašmāju mākslas darbs vai vispārējas nozīmes PaaS. Viņiem ir svarīgi, lai jūsu pakalpojums darbotos, tas laika gaitā uzlabotos un jūs netiktu uzlauzts. Heroku ir ļoti labi strādājis pie mums, un tas, iespējams, noderētu arī jums.

Jauno tehnoloģiju forums nodrošina vietu, kur bezprecedenta dziļumā un plašumā izpētīt un pārrunāt topošās uzņēmuma tehnoloģijas. Izvēle ir subjektīva, balstoties uz mūsu izvēlētajām tehnoloģijām, kuras, mūsuprāt, ir svarīgas un interesē lasītājus. nepieņem mārketinga nodrošinājumu publicēšanai un patur tiesības rediģēt visu ieguldīto saturu. Nosūtiet visus jautājumus uz[email protected].

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