Perché così pochi siti Web di grandi dimensioni eseguono uno stack Microsoft? [chiuso]


33

In cima alla mia testa, riesco a pensare a una manciata di siti di grandi dimensioni che utilizzano lo stack di Microsoft

  • Microsoft.com
  • conca
  • Il mio spazio
  • Abbondanza di pesce
  • StackOverflow
  • Hotmail, Bing, WindowsLive

Tuttavia, sulla base dell'osservazione, quasi tutti i primi 500 siti sembrano eseguire altre piattaforme. Quali sono i motivi principali per cui c'è così poca penetrazione nel mercato?

  • Costo?
  • Limitazioni tecnologiche?
  • Microsoft soddisfa gli ambienti aziendali / intranet più dei siti Web pubblici?

Non sto cercando quote di mercato, ma piuttosto l'adozione su larga scala dello stack MS.


5
Potresti per favore aggiungere i tuoi riferimenti agli studi nelle tue domande?

1
@RealWorldCoder: indica le tue fonti, altrimenti stai solo indovinando.
JBR Wilkinson,

4
Chiudere una domanda in base a cosa potrebbe portare? È una domanda valida e interessante imo.
Lars A. Brekken,

5
@Pierre: non ti è dispiaciuto lasciarlo aperto abbastanza a lungo da avere una risposta lì dentro.
Josh K,

2
Riaprire è fantastico, dimostra che ne vale la pena per la comunità

Risposte:


39

Suppongo che sia perché la maggior parte dei "grandi siti Web" sono iniziati in piccolo. Google, Youtube, Facebook et al. erano tutti siti contemporaneamente a server singolo che qualcuno aveva creato per hobby. Hanno usato pile tipo LAMP perché: 1) sono economiche e gli sviluppatori erano poveri e spesso 2) perché erano in un'università e gli ambienti universitari tendono a favorire l' OSS .

Dopo che i siti hanno iniziato a crescere, gli sviluppatori si sono limitati a ciò che sapevano. Nei primi anni, non ci sarebbe stato abbastanza tempo o denaro per riscrivere un grande sistema. Quando, e se, quello è mai diventato un'opzione, perché passare a una base completamente diversa?

Quindi sto dicendo che è proprio quello che sapevano e avevano quando hanno iniziato. Quindi non è diverso se ricordo bene quella storia. I fondatori della SO conoscevano lo stack MS e avevano accesso agli strumenti / licenze / ecc per iniziare a usarlo, ed è quello che hanno usato!

(Ho anche sentito che volevano anche dimostrare che lo stack MS era buono quanto LAMP per i siti di grandi dimensioni, ma potrebbe essere apocrifo.)


10
Penso che tu abbia colpito l'unghia sulla testa con "iniziare in piccolo". Le aziende che cercano di avviare grandi siti Web quasi sempre falliscono. Sono i ragazzini che sono stati innovatori sul web, per la maggior parte.
EricBoersma,

1
Anche qui potrebbe esserci un effetto di bias selettivo. Molti siti di social network sono iniziati come piccoli esperimenti, un progetto ideale per uno stack economico e semplice basato su Linux. Un sacco di grandi negozi MS, tuttavia, facendo lavoro IT interno o consulenza in settori specifici, useranno le tecnologie MS. Quindi ci sono un sacco di stack MS, non sono così visibili a una così ampia varietà di persone. Ci sono molte pile LAMP anche in quella folla. Non ho numeri, ma so che tutte le tecnologie dei grandi nomi hanno un po 'di gioco, e anche molte cose di piccolo nome.
CodexArcanum,

2
Non è che vorrebbero passare a Windows, ma è troppo tardi. Molto probabilmente non vorranno mai muoversi. L'unico motivo per cui le persone passano da Linux a Windows è giocare ai videogiochi perché i driver della scheda video per Linux fanno schifo.
hasen

1
hasen j: non perché le unità facciano schifo, ma perché la maggior parte dei giochi sono rilasciati da Windows rispetto a GNU / Linux.

2
Non penso che Google sia mai stato un sistema a server singolo. Il punto centrale del suo algoritmo di super ricerca (riduzione della mappa) è che è distribuito su molti nodi. Dubito anche che Youtube abbia mai pensato di poter trasmettere video al pubblico di destinazione previsto utilizzando 1 singolo server! Facebook d'altra parte ...
gbjbaanb

26

Costo

Questo è quello su cui sto mettendo i miei soldi. Facebook ha 60k server , qual è il costo della licenza rispetto a Linux?

Guarda lo "stack aperto" come possiamo chiamarlo:

  • Apache - Gratis
  • PHP - Gratis
  • MySQL - Gratis
  • Linux - Gratuito

Contrasto con lo stack MS:

  • IIS - $$$
  • Visual Studio - $$$ (ma è fantastico)
  • OS - $$$
  • SQL Server - $$$

8
JoskK: sai come me che Linux, PHP, MySql e Apache non sono gratuiti. Sono lontani dall'essere liberi.

10
@Pierre: Uhm, è tutto software gratuito , non ci sono costi diretti associati all'uso di questi. Sebbene MySQL abbia implicazioni commerciali. Apache , Ubuntu, PHP, tutto gratis.
Josh K,

9
@Pierre hai un punto valido, ma hai bisogno di amministratori di sistema in entrambi i modi.
Fosco,

8
@Pierre: devi pagare per gli amministratori, indipendentemente dalla piattaforma che scegli! Pensi che gli amministratori dei server MS siano più economici degli amministratori Linux?
Josh K,

21
Il costo può davvero essere la ragione, ma l'elenco puntato di tecnologie Microsoft che costano denaro è sbagliato: .NET è gratuito, Visual Studio è gratuito (ci sono anche versioni a pagamento, proprio come ci sono versioni a pagamento di IDE PHP), SQL Server Express è gratuito (anche in questo caso sono disponibili versioni a pagamento) e IIS è un componente del sistema operativo incluso gratuitamente nel sistema operativo. Inoltre, non è necessario eseguire lo stack Microsoft (basta chiamarlo con il suo nome: ASP.NET) su Windows / IIS, può essere eseguito anche su Linux / Apache (con Mono).
Allon Guralnek, l'

25

Non credo che il costo sia il motivo principale, ma i siti come Google hanno bisogno di un alto livello di controllo su ciò che viene eseguito sui loro server. Non usano un'installazione predefinita di Ubuntu sui loro server. Gestire migliaia di server significa che moltissime attività amministrative devono essere automatizzate. I sistemi operativi open source modulari orientati alla riga di comando come Linux o * BSD sono probabilmente più adatti alla quantità di personalizzazione richiesta da un sito come Google.

EDIT: E non dimentichiamo che molti di quei primi 500 siti competono in uno o più modi con Microsoft, quindi probabilmente non vogliono fare affidamento sulla tecnologia di un concorrente se possono evitarlo.


20

Cultura

I grandi hacker richiedono il controllo. I grandi hacker condividono cose.

Tutti i fantastici giocattoli provengono da grandi hacker e finiscono per condividersi e migliorarsi a vicenda.

Pensa a tutte le fantastiche cose luccicanti che sono uscite di recente: Python, Ruby, Rails, Django, Flask, Node.js, ecc.

Tutti provengono da persone che usano un sistema Unix (Linux o Mac).

I sistemi Unix offrono un'ottima piattaforma e ottimi strumenti per i programmatori seri che svolgono il proprio lavoro.

I sistemi Windows e Visual Studio tendono ad essere più utilizzati dalle persone che vogliono semplicemente "fare le cose" nel modo stabilito e guadagnarsi da vivere.

Non è solo perché iniziano in piccolo come suggerisce la risposta di CodexArcanum. Non è come "oh, vorrebbero passare a Windows ma è troppo tardi". Probabilmente non vogliono passare a Windows. È gravemente carente in termini di strumenti e potenza per il genere di cose coinvolte nell'esecuzione di una startup web.

Per cominciare, la maggior parte dei nuovi progetti OSS luccicanti usano git per il controllo della versione e probabilmente hanno il loro repository di codice ufficiale su github o qualcosa del genere.

Per citare Paul Graham:

Cosa vogliono gli hacker? Come tutti gli artigiani, agli hacker piacciono i buoni strumenti. In effetti, è un eufemismo. I buoni hacker trovano insopportabile usare strumenti cattivi. Rifiuteranno semplicemente di lavorare su progetti con l'infrastruttura sbagliata.

(.....)

Un paio di anni fa un amico di venture capitalist mi parlò di una nuova startup con cui era coinvolto. Sembrava promettente. Ma la prossima volta che ho parlato con lui, ha detto che avevano deciso di costruire il loro software su Windows NT e avevano appena assunto uno sviluppatore NT molto esperto per essere il loro capo tecnico. Quando ho sentito questo, ho pensato, questi ragazzi sono condannati. Uno, il CTO non poteva essere un hacker di prim'ordine, perché per diventare un eminente sviluppatore di NT avrebbe dovuto usare NT volontariamente, più volte, e non riuscivo a immaginare un grande hacker che lo facesse; e due, anche se fosse bravo, farebbe fatica ad assumere qualcuno bravo a lavorare per lui se il progetto dovesse essere costruito su NT.


+1 hasen j per cultura. Non penso che sia sempre così - anche il costo è un fattore molto importante.
Talonx,

1
Molte persone ottengono Windows gratuitamente. Soprattutto i programmatori / tipi geek che possono facilmente trovare un torrent per esso. Inoltre, molti tipi di hacker ottengono i Mac, il che è piuttosto costoso. Per quanto riguarda gli strumenti, beh, gli strumenti Unix gratuiti sono disponibili anche per Windows e Windows ha i suoi strumenti gratuiti che non sono disponibili per Unix.
hasen

1
+1. Guarda il mondo accademico. Quasi tutto ciò che è interessante viene fatto in Unix.
asthasr

1
@MattDavey Una volta che ti sei abituato a utilizzare gitper il controllo delle versioni, è molto probabile che ti rifiuti letteralmente di usare qualcosa come svnse avessi un rispetto per te stesso. È davvero molto meglio. E questo è esattamente ciò di cui ha parlato hasen: i programmatori veramente bravi hanno molto rispetto di sé e non vorranno lavorare con strumenti inferiori come svn. Preferiscono connettersi a un svnrepository tramite un git svnclone, in modo da poter almeno sfruttare tutta la potenza di gitlocalmente.
cmaster

2
@cmaster sì, vedo il tuo punto: molto è cambiato negli ultimi 4 anni e in questi giorni mi comporto esattamente come descrivi. In effetti nel mio contratto attuale mi sto collegando a un repository svn con git-svn perché mi rifiuto di essere limitato a svn. 4 anni fa ero ancora un principiante con Git.
MattDavey,

19

Così pochi ? Non credo che la quota di mercato del 34% sia scarsa .

http://w3techs.com/technologies/overview/operating_system/all

È lo studio con il risultato più basso per Windows che ho trovato.

Esistono altri studi che garantiscono una quota di mercato basata sulle entrate di Windows superiore al 60% .

Pochi sicuramente non sono la parola giusta da usare.

Più studi :

Reuters: http://www.reuters.com/article/idUSN2748543820080228

Netcraft: https://ssl.netcraft.com/ssl-sample-report//CMatch/osdv_all

Wikipedia: http://it.wikipedia.org/wiki/Usage_share_of_operating_systems#Servers

I siti Web basati su tecnologie Microsoft possono effettivamente ridimensionare?

www.live.com (5 ° Alexa), www.msn.com (11 ° Alexa), www.microsoft.com (21 ° Alexa) o www.bing.com (25 ° Alexa) webmaster;)

MySpace è anche basato su Windows.


6
Non sto parlando della quota di mercato complessiva, sto parlando di siti Web adeguatamente grandi . Pensa a Facebook, Twitter, YouTube, Google.
realworldcoder

2
Se vuoi la scala delle tecnologie Microsoft di prova, controlla hotmail.com, windowslive.com, office.com, bing.com, microsoft.com. Molti di loro sono persino nella TOP 25 di Alexa in termini di traffico.

3
@Pierre: vedi la mia risposta, non penso che si tratti di capacità di ridimensionamento, penso che si tratti di costi grezzi. Microsoft possiede tutti quei siti, non devono pagare le tasse di licenza. ;)
Josh K

2
@JoshK: la sua domanda inizia con "In cima alla mia testa, posso pensare a una manciata di siti di grandi dimensioni che dimostrano che .NET e SQL possono effettivamente ridimensionare :"

2
In termini di adozione, i siti Web "adeguatamente grandi" non sono intrinsecamente rappresentativi (con l'ovvia eccezione di Stackoverflow (- :) - in primo luogo si propongono raramente di essere enormi e in secondo luogo una volta che si arriva a quella scala quasi si inizia a creare la propria piattaforma se non lo hai già fatto (facebook ha dovuto, google lo aveva già fatto)
Murph

3

Il mondo delle start-up (web) è fortemente open-source a causa del costo e della prevalenza di strumenti eccellenti come memcache, database noSQL come Cassandra, MongoDB ecc. E strumenti di elaborazione dati su larga scala come Hadoop / MapReduce. Fino a poco tempo fa Microsoft non aveva pagato molto servizio agli appassionati in erba e solo di recente ha iniziato il suo programma "web developer" per supportare le start-up. Inoltre, i loro sforzi di elaborazione dei dati su larga scala sono stati un po 'lenti ... Dryad / DryadLINQ, la loro alternativa a MapReduce, non ha visto il livello di adozione che vorrebbe (è ancora limitato alle scuole di ricerca al di fuori di Microsoft) e le cose sono improvvisamente andate tranquillo sul loro sistema di database (sperimentale) Hyder che presumibilmente consente il ridimensionamento dei database senza partizionamento.

Ciò si ricollega anche a una domanda che ho posto qualche tempo fa: a parte Microsoft, tutte le altre società web come Google, Amazon, Yahoo, Facebook, Ebay, ecc. Pubblicano offerte di lavoro in cui elencano specificamente lo stack LAMP come stack tecnologico necessario per le loro posizioni di ingegnere del software. Chiaramente le persone esperte nello stack LAMP hanno un vantaggio in molte startup e grandi aziende web mentre lo stack .NET sembra essere principalmente riservato agli ambienti aziendali.


2

Il fattore di costo contribuisce sicuramente all'adozione iniziale delle tecnologie open source.

Ma anche quando crescono davvero molto grandi, si attaccano a cose open source. Se hai visto video che spiegano la scala su Facebook o Google, investono molto sforzo ingegneristico nel migliorare le tecnologie che usano (rondine a vuoto per python, hiphop per php). Inoltre, se scoprono che c'è bisogno di qualcosa di completamente nuovo o di una migliore implementazione (parsimonia, buffer di protocollo, cassandra, tavolo grande), non solo lo creano, ma lo aprono anche.

Penso che il motivo sia il controllo e la riduzione al minimo del rischio perché non devi dipendere da un fornitore per fornire una soluzione per te.


2

Lancerò un voto per "tradizione". Durante l'intero ciclo di dot-com, "tutti sapevano" che dovevi avere un grande server Sun o HP con Apache, questo è quello che la gente ha comprato. E quando le start-up hanno cercato di emulare le aziende di successo, hanno usato le stesse cose. E dal momento che IIS non offriva davvero alcuna funzionalità interessante (a meno che non si considerasse le estensioni di Front Page ...), non c'era davvero motivo per nessuno di prendere in considerazione uno stack MS. Soprattutto quando è possibile eseguire script Apache e / o Perl CGI su un Sun box a 4 CPU, mentre i box dual-core Pentium II per Windows erano abbastanza esotici. Ora che l'hardware non è più una barriera, stiamo vedendo siti più grandi nello stack MS, ma penso che per la maggior parte non ci siano ancora validi motivi per passare a (o iniziare).


2

Sono particolarmente interessato a questa domanda e trovo che le risposte sopra siano molto stimolanti. Ho un'esperienza specifica con la gestione dei server Windows.

Dirò che il commento sugli strumenti da riga di comando è un po 'fuori dal comune: gli strumenti da riga di comando sono altrettanto comuni quando si amministrano i server Windows come lo sono quando si gestisce Unix. Gli strumenti scelti sarebbero OpenSSH per Windows, psexec in un pizzico, strumenti WMI e più recentemente PowerShell con telecomando. Windows 2003 Enterprise è arrivato con un sistema di gestione SMS-ish chiamato ADS. Una delle caratteristiche principali di ADS che lo rendevano utilizzabile era l'interfaccia della riga di comando per la gestione dei lavori remoti.

Per quanto riguarda il controllo su ciò che viene eseguito nel sistema operativo: Sì, assolutamente. Microsoft ha appena capito il punto di recente, con Windows 2008 Server che ha un sapore ridotto (come è) che ha molti meno servizi / funzionalità. Anche questo è stato un continuum: si potrebbe vedere la direzione in cui MSFT stava andando con la spedizione del Server 2003 con molti dei suoi servizi disattivati ​​per impostazione predefinita.

Il costo è il fattore più interessante. I costi di licenza per il server Windows sono la differenza n. 1 tra la soluzione LAMP e una soluzione ASP.NET di Windows. La nascita di così tante startup dal mondo accademico è un'altra grande ragione per l'uso di LAMP.

La conversione di siti di grandi dimensioni da LAMP a ASP.NET per Windows può essere eseguita, ma richiede un enorme sforzo. Spesso la conversione non avviene realmente fino a quando la prossima versione principale del sito Web non viene scritta da zero, a quel punto viene scritta in Windows. L'azienda con la maggiore esperienza nel fare queste conversioni è Microsoft. Hotmail, WebTV e Tellme sono tre esempi.

Ho iniziato questo post dicendo che sono particolarmente interessante in questa domanda. Il motivo per cui sono così interessato all'utilizzo di Windows nei siti Web è perché sono un dipendente Microsoft che lavora su un sito Web importante. E devo dire che sono un po 'deluso nel rendermi conto di quante poche opzioni di carriera ho in termini di siti Web non basati su Microsoft Windows su cui potrei passare.


non è solo un costo (pensato che il costo di una licenza SA sarà di milioni all'anno per Facebook!) ma stabilità. Se disponi di 60k server, Patch Martedì e il riavvio dopo un aggiornamento di Windows non sono considerati gentilmente. Hai un maggiore controllo sui servizi Linux a questo riguardo a Windows. Tuttavia, impara un po 'di tecnologia Linux - non è difficile ed è davvero rinfrescante vedere quanto sia modulare tutto.
gbjbaanb,

1

Stai parlando di Microsoft Platform o IIS Platform ?. Molti server Web di terze parti sono in esecuzione su di esso. Come Apache funziona anche su piattaforma Windows. Esistono molti siti bancari pubblici come citibank.com ed ecc. Che utilizzano Java come piattaforma. C'è qualche limitazione tecnologica. L'esecuzione di Java su IIS è un compito arduo, ma IIS sta migliorando ed è ora scalabile per organizzazioni più grandi. PHP su IIS funziona perfettamente ora con il supporto Fastcgi è più veloce. Con IIS 7 / 7.5 è possibile utilizzare software SEO e open source come il sito Web PHP.

Se si controlla Mentre Microsoft domina il 34% del sistema operativo Web Server totale che si confronta con Unix è la metà ma sono migliorate molto rispetto agli anni passati e si può vedere che IIS sta migliorando molto. Puoi controllare il seguente URL:

http://w3techs.com/technologies/overview/web_server/all

Costo?

Sì, la licenza Microsoft è costosa rispetto all'ambiente NIX ma se si confronta ma il TCO su Linux è più alto. L'amministratore di sistema normale su Liux costa molto di più rispetto all'amministratore di sistema di Windows.

Limitazioni tecnologiche?

Fino ad ora, MS ha limitazioni tecnologiche per l'organizzazione su larga scala anche Java funziona molto bene nel sito Web del settore finanziario e delle imprese, ma dopo che lo scenario IIS 7 / IIS 7.5 sta cambiando con l'ambiente di sviluppo Web come .Net framework e Portal come Share Point Portal Microsoft sta migliorando un sacco.

Microsoft soddisfa gli ambienti aziendali / intranet più dei siti Web pubblici?

Sì, con la versione più recente di Windows e IIS Microsoft fornisce siti Web pubblici e sicuramente funzionerà bene in futuro.

Gaurav Maniar MCP | MCSE | MCST | MCITP | Certificato ITILv3


1
Il TCO per Linux può essere superiore o inferiore, a seconda dell'ambiente e dei requisiti. Schiacciare qualcosa insieme potrebbe essere più economico con la SM, ma l'amministrazione di qualità sarà costosa per entrambi.
David Thornley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.