14 articole publicate. Urmeaza mai multe
      

Alegerea sistemului de operare

centos-logoDe data asta abordam o problema de care ne-am lovit de destule ori incat sa merite un post descriptiv: Ce sistem de operare pentru VPS sau server sa aleg?

Oricat de banal ar putea sa sune pentru aceea dintre voi care sunt oameni tehnici, este o problema serioasa. Multa lume nu are cunostiintele tehnice necesare (si de multe ori acesta este un lucru bun) pentru a face aceasta alegere. Astfel ca ramane la latitudinea noastra sa facem recomandari in ceea ce priveste sistemul de operare potrivit pentru VPS-ul sau serverul dedicat al clientului.

Am intalnit chiar cazuri in care ni s-a cerut sa instalam Windows Server pentru ca respectivul client era obisnuit cu Windows ca si OS desktop, chiar daca cerintele sale implicau o platforma Unix. Acest lucru se intampla si in cazul conturilor de gazduire shared. Asa ca incepem cu motivele pentru care ati avea nevoie de Windows Server sau gazduire shared pe platforma Windows.

Poate cel mai important motiv pentru care se opteaza gazduirea site-urilor pe server Windows este .NET. Daca site-ul foloseste aceasta componenta gazduirea windows este ideala. Pe langa aceasta, daca site-ul este dezvoltat in ASP este indicata gazduirea Windows (chiar daca ASP este oarecum suportat si pe platformele Unix). In cele din urma, bazele de date Access si MSSQL care implica un server Windows.

Nu vrem sa fim partinitori, deci trebuie mentionate si cateva dezavantaje: In primul rand costul de licentiere. Windows e pe bani, toata lumea stie asta. Unix este gratuit. Nu intram in detalii legate de costul finalul de operare, dar putem sa dezbatem asta in comentarii. Ar fi mai resursele hardware necesare (usor mai mari decat in cazul sistemelor Unix) si performantele. Dar ca sa fim corecti pana la final: multe din aceste probleme au fost rezolvate in Windows Server 2008 astfel incat diferenta de performante dintre Windows si Unix este foarte mica. Inclusiv la capitolul costuri sta mult mai bine, existand posibilitatea inchirierii lunare de licente la costuri chiar mici.

Acestea fiind scrise, trecem la Unix si cu precadere la Linux. Dintre toate distributiile de Linux existente noi, zmeii de  la Webfactor, oferim doar cele mai stabile pentru server virtuale si dedicate. Mai exact patru dintre ele: Debian, Ubuntu si Suse si preferatul nostru, CentOS. Intai de toate o scurta lista cu avantajele si dezavantajele gazduirii Linux, dupa care va povestim de ce preferam CentOS: (de retinut este faptul ca aceste avantaje si dezavantaje sunt usor subiective, ele depinzand de sysadmin-ul care face babysitting pentru serverul in cauza)

Avantaje

  • Cost mai redus decat varianta Windows
  • Scalabilitate ridicata
  • Performanta
  • SSH (dada, aspect foarte important pentru oamenii tehnici :) )

Dezavantaje

  • Dificultate in administrare
  • Suport necentralizat (forumuri, liste de discutii etc)

Acum, de ce preferam CentOS? In primul rand pentru ca este cel mai stabil dintre distributiile Linux. Si in al doilea rand pentru ca este o distributie de clasa business, fiind bazat pe codul-sursa Redhat Enterprise Linux (RHEL). Nu in ultimul rand, cele mai folosite panouri de control (Plesk & cPanel) sunt construite in principal pe aceasta distributie.

Altfel zis, mai putina bataie de cap pentru administratorii de sistem. O sa revenim in curand cu un post si despre alegerea panoului de control. Acolo o sa fie un pic de distractie :)

Asadar, acum stiti care sunt rationamentele de luat in considerare cand alegeti un sistem de operare pentru un server virtual sau dedicat. Daca am gresit unele aspecte tehnice puteti da vina pe Batman, care si-a facut un pic de timp liber si a scris:

[root@batman]# Cel mai pozitiv ar fi sa folosim ca sistem de operare vestitele (pentru unii) FreeBSD sau OpenBSD cu care ne-am “simti in siguranta”. Din pacate in meseria de “hoster” nu poti proceda tot timpul dupa cum ti se pare mai secure/stable si din pacate exista multe constrangeri.

Care ar fi acelea?

In primul rand cunoscutele panouri de control (Plesk/CPanel) care ne “forteaza” sa folosim anumite distributii de linux, multi tehnici cunosc bine situatia insa nu folosesc cele mai potrivite servicii si/sau nu le optimizeaza pe acestea (vom detalia si panourile de control si problemele lor in alte posturi…sunt destule…).

In al doilea rand este vorba de mentenanta care este greu de facut pe distributii care nu beneficiaza de packaging. Intretinerea cat si OS reload/reconfigure devin greoaie si dureaza destul de mult, ceea ce nu iti prea poti permite in mediul business (la ce ar mai fi bun un BSD fara complilari/recompilari de pachete special pe platforma pe care ruleaza?).

Un alt motiv ar fi ca distributiile gen Centos, Debian, Ubuntu sunt mai cunoscute si aproape oricine le poate configura/debuga. Nu poti merge pe o distributie care poate fi controlata de un singur angajat din firma, nici nu poti sa-i inveti pe toti toate distributiile. Ar insemna faliment clar in momentul in care acel angajat tuseste sau pleaca in concediu.

Gasesti mult mai repede suport pentru un Centos decat pentru alte distributii, lumea nu se asteapta sa fii un ninja cand pui o intrebare pe un forum de Centos cum s-ar astepta pe unul de FreeBSD unde poate mare parte sunt contribuitori la surse, iar unii (nu multi, dar grasi :P ) se supara cand pui o intrebare simpla.

Si in final, NU, Centos NU este cel mai bun si cel mai sigur, dar trebuie avute in vedere toate problemele care pot aparea, si deocamdata el este cel mai “confortabil” pentru hosting cel putin la noi in companie. De cele mai multe ori un firewall bun sau schimbarea portului de ssh pot aduce mai multa securitate unui OS decat update-urile facute la zi.

Cam asta a avut de zis Batman. Voi ce folositi si de ce?

  • Florin Matincă
    Pentru subscriberii MSDN tocmai a devenit disponibil Windows Server 2008 R2

    Aici http://technet.microsoft.com/en-us/library/dd560629%28WS.10%29.aspx se pot vedea îmbunătăţirile din IIS 7.5

    Frumos nu ?
  • Lorand
    @Marius,

    Sunt perfect de acord. Tocmai de aceea am si mentionat ca problema pricing-ului a fost in mare parte rezolvata odata cu introducerea seriei 2008.

    Ca si side-note, ai cumva informatii legate de cresterea market share-ului Microsoft pentru ultimii 2 ani (sau mai exact dupa lansarea WS 2008)?
  • Marius
    As adauga aici si versiunile web ale Windows si SQL 2008, special concepute pentru dezvoltare web si cu preturi foarte bune. Explicatia e simpla, Microsoft vrea sa faca un pic de market share .
  • George
    Acasa, pe workstation, folosesc Fedora 10 (stiu.. a aparut 11) cu toate cele necesare pentru programare php/mysql + lamp. Iar pentru hosting.. evident ca folosesc CentOS.
  • Florin Matincă
    Îţi dau dreptate, sunt multe module apache sau librarii PHP care nu merg pe Windows şi asta duce implicit la Unix/Linux.

    Totuşi spre deosebire de Windows 2003 în Windows 2008 Event Viewer-ul este mult mai bine pus la punct. Legat de debugging am observat ca Microsoft lucrează deja la un tool http://www.iis.net/extensions/AdvancedLogging.

    Avantajul enorm pe care îl are IIS7 faţă de IIS6 este posibilitatea de a scrie în .NET module. Sunt convins că nu peste mult timp vor fi disponibile foarte multe module care vor suplini lipsurile de care pomeneai.

    Pentru debug-ul celorlalte servicii (email, ftp, etc) cred că soluţia cea mai bună ar fi integrarea dintre ele şi panoul de control. De aceea abia aşept următorul post :-)
  • Mda, Florin, ai dreptate si se pare ca s-au omis cateva "avantaje" Microsoft (poate chiar intentionat :D ). Avantajele care le-am vazut la noi cel putin ca nu prea ai problemele mari de pe linux cu utilizarea masiva/necontrolata de resurse, asta poate fi insa si din cauza ca programatorii de .NET sunt mai "ninja"/precauti/trateaza mai multe exceptii. Alt avantaj este application pool o "scula" destul de buna care iti securizeaza domeniul cat si permite controlul resurselor per domeniu . din nou dezavantajul ar fi consumul mai mare de resurse (nu enorm) la crearea a cate un application pool pentru fiecare domeniu. de apreciat aici si "power saving-ul" oferit de IIS care inchide application pool pe un domeniu daca acesta nu este accesat.

    La categoria probleme sunt softwarerurile opensource care nu prea sunt gandite pentru IIS7 ci mai degraba pt apache. Nu zic ca nu se pot face sa mearga , dar nu e chiar banda rulanta ca si pe linux, si aici revin la vederea globala unde trebuie supravegheat fiecare client la instalarea acestor aplicatii.

    Cel mai negativ lucru la windows/IIS7 este debuggingul in cazul in care un anumit site genereaza probleme. Am incercat utilizarea unor aplicatii 3rd party (windows/IIS7 nu prea ofera tool-uri in acest sens) dar nu prea au fost rezultate decat teama ca ma aleg cu un "blue screen". La fel si debuggingul serviciilor de mail, ftp, etc pe windows e cam un chin , pornind de la simpla idee de a deschide un fisier de log de 100-200MB in wordpad , cat si identificarea locatiilor logurilor, functionarea greoaie a event managerului si a IIS managerului, setarea si urmarirea ownerilor/drepturilor pe fisiere, solutii putine de backup adevarat...
    dar poate mai venim cu mai multe pareri pro.

    Io astept si pe altii cu pareri si experiente pozitive/negative...
  • Florin Matincă
    Microsoft a lucrat intens în ultimii ani împreună cu echipa PHP şi prin intermediul FastCGI se asigură o perfomanţă MULT mai bună la găzduirea aplicaţiilor PHP pe IIS7 decat pe IIS6. Există chiar voci care spun că PHP rulează mai bine pe IIS7 decât pe Apache.

    Costul prin SPLA a unei licenţe de Windows Server 2008 Standard se învârte în jurul valorii de 50 de RON pe lună, deloc scump în opinia mea.

    În final cred că se poate obţine, contra unui preţ decent, o platformă care suportă atât ASP.NET cât şi PHP (principalele tehnologii utilizate la dezvoltarea aplicaţiilor web).
  • .marius
    RHEL, da da, pe bani, cu licenta si tot tacamul in productie, CentOS si Ubuntu pentru devel, test si stage servers.

    Si da, il sustinem pe Batman in alegerea CentOS'ului...

    eu, un admin de provincie... ;-)
blog comments powered by Disqus