ALGUSJUHEND

Tehnilise korstna selgitus ja kuidas valida õige

Technical Stack ilmub kõikidel platvormidel ja seda mainivad kõik arendajad.

Foto autor Vadim Šerbakov saidil Unsplash

Teeme otsingu või liitume tarkvaraarenduse või DevOpsiga seotud konverentsil. Saame palju tulemusi fraasidega: LAMP-virn, MEAN-pinu, MERN-pinu ... Ehitustööstuse toodete varases staadiumis mainivad inimesed ka, et tähtis on valida õige tehniline pinu. . Mida see tähendab ja miks see on oluline?

Mis on Stack?

Meenutasin ettevõttes töötamise alguspäevi, see oli esimese projekti loomisel nii põnev, kui kuulsin esimest korda tonnist uutest terminitest: Vagrant, Symfony, Nginx, Load Balancing, CI Runners,… “Põnev, nii palju asjad ühes projektis !! ”, olin põnevil. Ma polnud neist kunagi varem kuulnud, kuna olen iseõppija, ei tulnud koolidesse ega olnud sõpru minu võrgus. Pärast mõnda aega töötamist mõistsin kombinatsiooni minu nimetatust, seda nimetatakse tehniliseks pinuks. Täielikult käivitatav süsteem ei sisalda ainult koode, vaid ka operatsioonisüsteemi ja vajalikku tarkvara, näiteks veebiserver, andmebaas ... Koondame need osad, näiteks Lego mängimise, virna.

Tehniline pinu või lahenduste pinu on erinevate riist- ja tarkvarade komplekt, mis interakteeruvad üksteisega, moodustades tervikliku platvormi.
Tehnilise virna anatoomia.

Kuidas virn välja näeb?

Virnas on tavalised komponendid ja igal komponendil on kindel roll:

  • Operatsioonisüsteem
  • HTTP-server
  • Andmebaasiserver
  • Serveripoolne keel

Näiteks sisaldab LAMP-virn:

  • Linux
  • Apache
  • MySQL või MariaDB
  • PHP või Python

Ülaltoodud pilt selgitab lihtsat veebirakenduse toimingut. Ütle LAMP-pinu, server töötab Linuxi OS-is, Apache mängib HTTP-serverina. Kui kasutaja saadab päringu, valideerib ja annab HTTP-server taotluse üle rakendusserverile, antud juhul on see PHP. Rakendus võib andmeid andmebaasist MySQL tuua ja vastuse tagasi saata JSON / XML / HTML vormingus.

Enamik hostimisteenuste pakkujaid (AWS, GCP, Digital Ocean jne) pakuvad tänapäeval kiirlinke, mis aitavad meil sekunditega ühiseid pinu üles seada. Kui soovite aru saada, kuidas see praktikas töötab, võite osta puhta Linuxi eksemplari ja proovida komponente ise installida, see on aega väärt.

Kuidas valida õige stäkk?

Tavaliselt sõltub see meeskonna tasemest, teadmistest. Kui teie meeskonnakaaslased on PHP arendamisega harjunud, on LAMP-stäkk parim valik. Kui nad valdavad ASP.NET-i, siis soovite tõenäoliselt Microsofti ökosüsteemi.

Slack kasutab ka LAMP-i. (Allikas)

Mõnikord valitakse virn ettevõtete kasvu põhjal. Twitter on hea näide, ettevõte kasutas alguses Ruby on Rails, kuid teatas 2010. aastal Java / Scalas ümberkirjutamisest suurema liikluse korraldamiseks.

Rõhutan tehnilise virna valimise olulisust tootearenduse varases staadiumis. See on kasulik süsteemi arhitektuuri üle järelevalves, toimimiskulude ja mastaapsuse prognoosimisel.

Populaarsed korstnad

LAMP-i virn

Kõige populaarsem pinu, mida enamik veebisaite kasutab. See sisaldab: Linux, Apache, MySQL, PHP / Python / Perl. Selle virna vundamendil juhitakse selliseid tuntud CMS-e nagu Wordpress ja Drupal.

Pilt ettevõttelt DigitalOcean.

LAMP-i kasutamisel on suurepärane asi, et kõik komponendid on avatud lähtekoodiga, saavad hõlpsalt abi suurelt kogukonnalt ja Linuxi server on taskukohane.

Selles virnas on mõned variandid:

  • MAMP - MacOS
  • WAMP - Windows
  • XAMPP - platvormiülene
  • LEMP - asendage Apache Nginxiga

MEAN virn

Üks viimaste aastate tuntumaid pinu sisaldab: MongoDB, Express, Angular, NodeJS. Teine variant on MERN, asendades nurga React.

Minu arvates pole see tegelikult virn, kuna OS-i pole. NodeJS-i kasutatakse mitte ainult serveripoolse koodi jaoks, vaid see toimib ka veebiserverina. Praktikas peaksime puhverserverina kasutama Nginxit ja panema NodeJS-i protsessi taha, et liiklust paremini hallata.

Sarnaselt LAMP-virnaga on selle pinu kõik osad tasuta. Kõige põnevam on see, et kogu rakenduse saate üles ehitada ainult Javascripti abil, nii tausta- kui ka esiosa jaoks, see säästab teie aega ja eelarvet.

WISA pinu

Selles virnas on: Windows, IIS, SQL Server, ASP.NET. Kõik rahe Microsoft!

WISA-d kasutavad enamasti suured ettevõtted kallite litsentsitasude tõttu (Visual Studio, Windows, SQL Server jne). Plussideks on kiire kasv ja hooldatavus. C # on üsna kindel keel, ASP.NET on SQL Serveri hea partner ja Microsoft pakub meile palju kasulikke tööriistu. See on täpselt selline nagu sa oled premium -mängija.

Kuid C # muutub nüüd avatud lähtekoodiga keeleks. Seal on Visual Studio Mac jaoks, sündinud .NET Core, SQL Server vabastati Linuxi jaoks ja tulevikus võime ehk Linuxis käitada Microsofti virna?

Minu viimased sõnad

Igal arendajal on oma lemmik tehniline pinu. Pole õiget või valet, see sõltub paljudest teguritest: eelarve, tuttavlikkus, turg, kontekst, tähtaeg ... Samuti ei ole virnas sisalduvate komponentide osas mingeid piiranguid, nagu näiteks võite LAMP-is MySQLi asendada PostgreSQL-iga. Seega on minu soovitus: vali endale see, kellega koos teie meeskond end mugavalt tunneb, ja tehke suurepärane rakendus.

Viited

  • Veebisaidile sobiva tarkvarapaki valimine
  • Lahenduste pinu - Vikipeedia