FreeBSD koostaja Allan Jude arutab FreeBSD eeliseid ja tema rolli miljonite serverite töös hoidmisel

TL; DR: Tõhusate platvormidega nagu Netflix või teie lemmikmängusüsteem FreeBSD on tugev avatud lähtekoodiga opsüsteem, millele miljonid saidid loodavad veebilehtede teenindamiseks. Isegi Mac OSX põhineb osaliselt FreeBSD-l. FreeBSD projekt, millel on üle 400 vabatahtliku loovuse, on dünaamiline jõud, mis annab kontrolli administraatorite kätte. Projektijuht Allan Jude on olnud projekti fänn alates 2002. aastast. Ta arutleb süsteemi sisemise ülesehituse ja funktsioonide funktsionaalsuse üle, mis teda sisse tõmbasid – panustades selle dokumenteerimisse ja seejärel selle väljatöötamisse – ning selle üle, mida ta praegu, enam kui kümme aastat, töötab. hiljem.

“Nii et ma tegin selle muudatuse ja nüüd on see kõikjal …”

Kujutage ette, kui kood, mille kallal täna töötasite, või eile esitatud tõmbetaotlus peaksid pühenduma ja mõjutama miljonite inimeste elu – nende PlayStationit või Netflixi – ja miljoneid saite, kes tuginevad oma operatsioonisüsteemile veebilehtede teenindamisel.

“See on kindlasti alandlik … ja natuke kummaline,” tunnistas Allan Jude.

Kui Allan asutas oma ettevõtte, kus video voogesituse jaoks veebisaite majutatakse, oli FreeBSD ainus opsüsteem, mida ta oli varem kasutanud koos teiste hostidega. Oma kogemustele ja mugavusele tuginedes usaldas ta süsteemi oma lootustandva ettevõtte tulevikuga.

Kümmekond aastat hiljem läks endine SysAdmin konverentsile, mis keskendus avatud lähtekoodiga operatsioonisüsteemile, kus ta sattus mõne selle dokumenteerimismeeskonna esindaja hulka. “Nad inspireerisid mind,” rääkis ta meie meeskonnale hiljutises vestluses. Ta alustas dokumentide kirjutamist, kuid soovis peagi teha parandusi lisaks dokumentidele.

Täna istub Allan FreeBSD projektikomitees. On haruldane, kui sa vestled kellegagi, kes on seotud sellise ulatusliku avatud lähtekoodiga projektiga – haruldane ja vinge.

FreeBSD kaks tohutut eelist SysAdmini vaatenurgast

Me elame kolledžilinnas, kus on palju pürgivaid veebiarendajaid, ja SysAdmins korraldas Florida ülikooli. Paljud neist on määratud minema Linuxi marsruuti lihtsalt seetõttu, et nimi on tuttavam. Nad näevad seda igal pool. Kuid tegelikkuseks on Allani sõnul see, et FreeBSD “saab teha peaaegu kõike, mida Linux suudab – ja enamikku asju, mida see paremini teha.”

FreeBSD meeskond BSDCan 2015

FreeBSD kohusetäitja Allan Jude liitus tohutu arendajate võrguga 2012. aastal, olles projekti fänn alates ’02.

Fakt, et Allani osalemine projekti väljatöötamises tuleneb tema isiklikest kogemustest süsteemiga, paneb küsima: miks see OS? “Oma töökorralduse tõttu,” sõnas ta ja näib, et deklaratsioon sisaldab sisemist struktuuri ja meeskonda.

1. Hoolikalt hooldatud koodeksi korraldus & Dokumenteeritud

FreeBSD projekt toimib nagu ülimalt hästi organiseeritud maailm. Allan selgitas keskkonda: “Seal on dokumendileht, mis selgitab, kuidas failisüsteem on üles seatud ja kõik on paigas ning see läheb alati sellesse kohta.”

Eriti kui projekti käigus töötab nii palju käsi potis, oleks seda lihtne lahti harutada. Allan selgitas, et paljudes teistes rakendustes struktureerivad arendajad koodi, mis on nende arvates mõistlik, ja see varieerub dev-delt. “FreeBSD-ga on sellel alati olemas koht [mis iganes see on] ja see läheb sinna alati,” lõpetas ta.

Selle korra säilitamiseks on FreeBSD-l stiilijuhend, mida tuleb hoolikalt järgida. Allan rääkis meile, et tihedalt seotud meeskond on vastutuse allikaks üksteisele. „See on üsna tihedalt seotud grupp inimesi. Kui paned midagi valesse kohta, ütleb keegi: “Kuule, see läheb siin üle” ja see parandatakse. “

Kuna dev meeskond kasvab, evangeliseerivad nad mentorluse süsteemiga õige FreeBSD stiili. Iga uue pardaseadme jaoks on vaja juhendajat, et tagada nende väljaõpe vastavalt nimetatud juhistele. “Kui liitute FreeBSD-ga, määratakse teile mõneks ajaks mentor, mis tähendab, et kõik, millesse te tegelikult panustate, vaatavad nad esmalt läbi,” selgitas Allan, “ja kui midagi on valesti, siis on see nende süü – mitte teie – mis aitab väga palju juba alguses, kui alles alustate. ” Ilma naljata. Kas suudate ette kujutada, et sukeldume ja võtame kellegi armastatud mängusüsteemi saatuse oma esimese tõmbetaotlusega vastu sellisele massiivsele projektile?

2. Jaotuspaketid valutu versiooniga & 25 000 sadama valik

Veel üks silmapaistv tegur on see, et FreeBSD teeb pakette erinevalt – nende meeskond hooldab neid täielikult ja pakub teile lihtsat versiooni. FreeBSD võimaldab teil oma süsteemi seadistamisel ja hooldamisel oma pakettide üle kontrolli võtta ning need pakuvad “jooksva vabastamise” tsüklit 25 000 erineva pordiga, mille vahel valida.

“Te ei pea jahil käima, et lisada väliseid reposid, mida haldab kes teab, kes teab,” sõnas Allan, selgitades üht oma lemmikut FreeBSD-st. “See on kõik ühes FreeBSD hoidlapaketis” ja kui soovite lülituda näiteks PHP 5-lt PHP 7-le, “on vaja lihtsalt käskida [FreeBSD-l]” uuendada ja see on tehtud.

FreeBSD Jailsi lisaeelisega – konteinerid, mis võimaldavad teil oma saidi loovversioone ja tootmisversioone eraldi hoida ühes masinas – saate prooviversiooni tegelikult ümber lülitada. Pole vaja uusi masinaid kerida ega tootmiskeskkonda muuta.

Allani hiljutine projekti tähelepanu keskpunkt: alglaadimiskeskkonnad

Milline on selline päev FreeBSD projekti väljatöötaja elus? Allan rääkis meile, et enamik projekti kallal töötavaid inimesi teevad seda harrastajatena või osalise tööajaga tööna koos oma “päevatööga”. Ta ütles, et sageli töötab ta nimetatud päevatöö nimel mõne projekti kallal ja see pole nii lihtne, kui ta usub, et see peaks olema, või ei tööta see nii, nagu ta soovib, või inspireerib teda Mis juhtub: “Oleks väga tore, kui sellel oleks see lisavõimalus,” sõnastas ta oma mõtteharjutuse. “Alustan selle kallal tööd ja kui mul on üldine idee, kuidas seda teha, avaldan postitusloendisse ja saan tagasisidet.” Kuna reageerival kogukonnal on vaid postkast ja järgneb põhjalik koodide ülevaade, on Allanil ja teistel devidel olemas tugisüsteem, mida nad vajavad, et värsked kaastööd FreeBSD väljalasketsüklisse suunata..

“Ma arvan, et kõige värskem asi, mida ma tegin, nii et paljud inimesed ootasid, on funktsioon, mida kutsume alglaadimiskeskkonnaks,” rääkis Allan meile. „Kui kasutate ZFS-i, saate enne versiooniuuenduse installimist oma süsteemist ülevaate teha ja kui see värskendus ei õnnestu, saate tagasi pöörduda selle poole, mis süsteem oli enne, kuid see mõjutab ainult süsteemifailid. ” Teisisõnu, teie kodukataloogid ja andmebaasifailid ei muutu, kui opsüsteem veeretatakse tagasi punkti, kus te sellega rahule jäite.

FreeBSD.org ekraanipilt

Allan jagas meiega ühte oma viimastest FreeBSD projekti kalliskividest – SysAdminsi jaoks lihtne juurdepääs alglaadimiskeskkondadele.

“Varem pidite nende vahel vahetamiseks kasutama opsüsteemi tööriista,” rääkis Allan. “Kui süsteem ei käivitu, siis pärast värskendust see tegelikult ei aita.” Selle pettumuse vastu võitlemiseks muutis Allan selle funktsiooni kõigi jaoks paremini kasutatavaks, lisades võimaluse valida menüüst alglaadimisel menüüst Boot Environment. Lisaboonusena on see funktsioon väljas rohkemate kasutajate ees, kes poleks tingimata teadnud, et see varem olemas on. “Nüüd näevad nad seda võimalust iga kord, kui see ilmub, seega otsivad nad selle kasutamise kohta dokumentatsiooni,” lõpetas Allan. Andes inimestele seda, mida nad tahavad ja isegi seda, mida nad ei pruugi teada, mida nad tahavad – Hästi tehtud, Allan.

Testimisprotokoll, kasutades ZFS-i kui vinge näide

Neile, kes te ei tea, on ZFS või Z failisüsteem uus failisüsteemide laine, kuna see on tegelikult midagi enamat kui lihtsalt failisüsteem. See on avatud lähtekoodiga projekt, mille on algselt välja töötanud Sun Microsystems ™ ja mis ühendab mahuhalduse ja traditsioonilised failisüsteemi funktsioonid, tunnistades samas kaasatud salvestusketaste üldist ülesehitust. See kõrvaldab paljud teistes failisüsteemides leiduvad endised probleemid, mis tunnevad ära ainult ühe ketta (isegi kui see asetatakse riistvara täpsema RAID-konfiguratsiooni kohale).

Loomulikult küsisime Allani käest, kuidas see muutis mängu tema enda kui video voogesituse ettevõtte jaoks. “Nüüd, kui oleme jõudmas salvestusruumi petabaite lähedale, pole muud failisüsteemid tegelikult enam võimalus,” selgitas ta asja tõsiseltvõetavust. ZFS-i peamised müügiargumendid Allani äri jaoks on hetktõmmised ja replikatsioonid. “Kui räägite mõne kliendi jaoks kümnetest terabaitidest failidest, siis muud varundamise viisid enam päris hästi ei tööta, nii et plokkide tasemel replikatsiooni tegemine parandab meie jaoks tõesti palju,” sõnas ta, märkides, et olemine Samuti on tore, kui iga kliendi jaoks eraldi failisüsteeme hooldada saab. ZFS-i abil saavad nad kliendi faile hallata diskreetse üksusena koos nn andmekogumiga – ja kui keegi arve arve vahele jätab, saavad nad selle kliendi üksiku salvestuse ülevaate eemaldada, ilma et see mõjutaks teisi maksvaid kasutajaid.

Uute failisüsteemide lisamine operatsioonisüsteemi pole sugugi väike vaev

Olgu, devs – mõelge uue failisüsteemi operatsioonisüsteemi integreerimise protsessile pisut aega. Mmm, kellele ei meeldi kena hirmutav projekt, mis võtab nädalaid ja nädalaid? Haarake end nüüd kinni: selle pettekujutlusega tegeles ja sai üks Poola arendaja Paweł Jakub Dawideki nimel tõepoolest hakkama ja sai sellest kõigest 21 päeva jooksul hakkama..

“Ta töötas umbes 18 tundi päevas,” ütles Allan, nähes ilmselt, et meie lõuad kuularist läbi kukuvad. „Ta ei töötanud niimoodi sihikindlalt; rohkem oli see, et see oli lihtsalt nii põnev ja huvitav, et ta ei suutnud enam selle peale mõelda ega selle kallal töötada. “

See suhtumine esindab tundeid, mida ma FreeBSD arendusmeeskonnas tundsin. Iga kord, kui küsisime selliseid küsimusi nagu: “Kui tihti te projekti kallal töötate?” Allani vastused olid järgmised: “Noh, mõnikord ei jõua ma selle juurde terve nädala jooksul ja teinekord tahan KOGU NÄDALA veeta.” Lihtsamalt öeldes ütles Allan: “See on lõbus värk.”

Testimine on keeruline ja range, seega tuli FreeBSD välja koos Universumi loomisest

Veel keerukamaks muutmiseks on ZFS-il oma eelnev repo, millel on oma reeglid ja testimisnõuded: nt tõmbetaotlus peab olema ZFS-i töötavas opsüsteemis nagu FreeBSD või Linux ja seda peab tootmises kasutama vähemalt kolm kuud enne, kui see tegelikult olema saab pühendunud.

“ZFS repo peab kogu aeg olema tootekvaliteediga,” täpsustas Allan. “FreeBSD-l endal on testikomplekt, regressioonitestide komplekt ja seejärel pidev integreerimine Jenkinsiga.” Sealne trikk on mitmikplatvormi kokkupõrge. Teete kohustuse, kood on pealtnäha täiuslik, kuid siis saate aru, et teate ainult seda, kuidas see teie x86 riistvaral töötab. Võib-olla on selle funktsionaalsus ARM-is hoopis teine ​​lugu. Rut ro, Raggy.

FreeBSD maskott,

FreeBSD meeskond poleks ilma oma maskotita täielik. Tutvuge BSD deemoniga: Beastie!

“Meil on see kontseptsioon nimega Universe Build, kuhu ehitate FreeBSD iga toetatava erineva protsessorikeskkonna jaoks,” jagas Allan. Ükskõik kui hästi see teie süsteemis töötab, teate ka, et see töötab ka kõigi teiste jaoks.

Nagu arvata võib, ütles Allan meile, et Universumi ehitamine võib täiuslikkuseni välja areneda – “eriti kui teil pole kogu riistvara, kuid FreeBSD sihtasutus pakub serverid projekti arendajatele”. Nii et õnneks on neil juurdepääs tõeliselt suurtele serveritele, umbes 36 tuumale ja paadikoormusele RAM-i. “Kui peaksite oma sülearvutile tegema Universumi Ehituse, võib see võtta poolteist päeva,” lisas Allan naerdes.

See, mis võib pragude vahelt libiseda, on Jenkini poolt kohe tabatud

Jenkins, armastatud Java-põhine automatiseerimisserver, mis on avatud lähtekoodiga, et toetada arendusmaailma suurtes ehitistes, on FreeBSD-i valitud automaatikatarkvara. See peab pakkuma lohutust neile tüüpidele, kes aktiivselt töötavad projekti kallal, mis on miljonite inimeste eluteele nii sisse juurdunud. Allan ütles meile, et kui midagi viltu läheb, märkab “Jenkins”. Kui oleksite osa hiljuti läbi viidud muudatustest, mida testiti, ja kui panustasite väiksele kohustusele, saate meilisõnumi: Hei, see on katki; võiksite kontrollida ja veenduda, et see pole teie süü.

Jenkinsi ja Core Development’i meeskonna vahel, kes kasutas veel saatmata dev-versiooni, rääkis Allan meile, et harva juhtub, et probleeme ei märgata ja parandatakse üsna kiiresti..

Teenimisjõud – liituge FreeBSD väega

Enne 400-paarilise arendaja ja nende kaasautoritega liitumist ühises missioonis võimsa avatud lähtekoodiga arvuti OS FreeBSD tugevdamiseks ja arendamiseks oli Allan SysAdmin. Ta oli tegelenud PHP, Perli ja shelliskriptidega, kuid alles hiljuti võttis ta kasutusele C.

“Oluline eeldus on see, et te ei pea olema suur arendaja, kellel on palju kogemusi, et projektis midagi paremaks muuta,” ütles Allan – ja erinevus, mille Alvi-sugused devid teevad, on uskumatu. Kui soovite ka esitada kohustuse, mis panustab projekti, millele miljonid veebiserverid tuginevad, on kaasamiseks palju võimalusi!

Eriti räägime siin SysAdminsiga, kuna Allan märkis, et nad on FreeBSD peamised kasutajad. “Kui süsteemi tegelikusse ülesehitamisse on kaasatud rohkem SysAdmini, tähendab see, et saame pakkuda tööriistu, mida nad otsivad – konstrueeritud nii, nagu SysAdmin sooviks, et need oleksid kavandatud, mitte tingimata nii, nagu arendaja arvates oleks kõige mõistlikum,” lisas Allan.

Kui kasutate praegu FreeBSD-d ja leiate võimaluse muuta funktsioon lihtsamaks või funktsionaalsemaks – alustage tööd selle nimel! “Saame kaastöid võtta kõigilt, kes soovivad neid pakkuda,” lõpetas Allan.

Kas soovite osaleda, kuid mitte veel sellel tasemel, oskuslikult või saadavust silmas pidades, veel? Vaadake FreeBSD wiki JuniorJobs’i lehte, kus on uusim nimekiri väikestest ülesannetest, mida on vaja teha.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me