¿La plataforma de Microsoft es prohibitivamente costosa para la implementación web a gran escala? ¿Los costos de las licencias habrían matado a Twitter / Facebook antes?

Zeroeth, me gusta y respeto a Simon y Lanyrd, y usamos a Lanyrd aquí en el equipo web de Microsoft. Primero, creo que Simon hace algunos puntos excelentes. Es cierto que el sistema operativo de Microsoft no es gratuito y a veces es difícil descifrar las tarifas de licencia. Llegué a Microsoft hace 4 años para trabajar y promover el código abierto, y efectivamente todo lo nuevo que lanza nuestro equipo ahora es de código abierto. Pague por Windows, y todo lo demás está incluido. También vamos a volver y abrir el abastecimiento aún más que podamos. Todo el material del SDK de Azure está en GitHub, iisnode y nuestro trabajo de node.js es de código abierto, API web, MVC, NuGet, se entiende la idea. Estamos enviando código contribuido por la comunidad en la próxima versión de Visual Studio. Hay una gran cantidad de código abierto en la pila de Microsoft y eso se está acelerando. Evitamos reescribir cosas cuando solo podemos usar código abierto (duh) y puedes ver eso en nuestro soporte para Hadoop recientemente.

BizSpark ofrece a las startups todo gratis durante 3 años, y puedes conservar todas las licencias después de tres años, incluso si no compras nuevas licencias. (No hay pago global).

Hablando de la elasticidad y la nube, Windows y Linux tienen un precio uniforme en Amazon y otros servidores en la nube.

EDITAR: La declaración anterior no es correcta, vea los comentarios a continuación. Estamos trabajando activamente para mejorar los precios, pero mi declaración anterior es incorrecta hoy. Mi error. – ScottH

Visual Studio Express es gratuito, al igual que Mono Develop, Sharp Develop … incluso puedes desarrollar con Sublime como lo hago a menudo.

El punto es que Microsoft obviamente quiere que compres Windows y cree que encontrarás valor en él. Todo lo demás desde el punto de vista de mi equipo (es decir, llaves angulares y llaves) es gratuito y está más abierto todos los días.

Finalmente, en cuanto al punto de otro póster de que uno necesitaría más hardware en la pila MS que otra pila, es demostrablemente falso, como lo demuestran no solo los sitios como la alta disponibilidad que lo documentan, sino también los muchos sitios que usan http: // asp. Net en un puñado de servidores (como Stackoverflow haciendo algo así como 150M PV / mes en menos de 6 servidores web.

Antes de trabajar en MS, fui Arquitecto Jefe durante 7 años en una gran empresa de banca minorista en línea que fabricó el software que gestionaba el 25% de los bancos minoristas en línea en los Estados Unidos. En un momento tuvimos 6 de los 10 mejores, según recuerdo. Estos fueron los bancos más grandes de la nación que ejecutan enormes cargas de transacciones en menos servidores de los que tiene los dedos de manos y pies. También ayudé a introducir software de código abierto a estos bancos al mismo tiempo que equilibraba los requisitos de seguridad y de auditoría federal. El punto es, sí, puedes escalar en MS, sí, hay una fuente abierta próspera en MS (y durante 10 años o más), y si bien es cierto que el sistema operativo cuesta dinero, hay una gran base de software libre y personas con talento disponibles para construir.

Yo diría que el costo de la pila de Microsoft es mucho más que solo las tarifas de licencia.

En primer lugar, al ejecutar Windows, te estás desconectando de una gran cantidad de software de código abierto de alta calidad. Muchos componentes cruciales de infraestructura de código abierto carecen de un puerto de Windows (el servidor de caché Varnish es un buen ejemplo), y muchos otros tienen versiones de Windows que no están bien optimizadas o mantenidas activamente. Otros inventos interesantes (como Redis y Node.js) terminan por varios años antes de ser portados a Windows.

En segundo lugar, te estás comprometiendo con falacias de costos hundidos. “Hemos pagado la tarifa de licencia por esto, por lo que definitivamente deberíamos usarlo en lugar de cambiar a otra cosa o habremos desperdiciado el dinero”. Si está compilando con la pila de código abierto, no hay penalización psicológica al reemplazar un componente que no funciona lo suficientemente bien con un equivalente. Todavía le cuesta en términos de tiempo, pero al menos el dinero que ya ha gastado no sesga su juicio. Un ejemplo concreto: he visto que muchas compañías de código abierto cambian de Apache a nginx para servir archivos estáticos; por lo general, solo lleva unas horas (nginx tiene una sintaxis de configuración muy sencilla) y puede proporcionar mejoras de rendimiento significativas.

En tercer lugar, construir en la pila de Microsoft restringe un poco su grupo de talentos disponibles. No me malinterpreten: hay algunos desarrolladores fantásticos que construyen en Windows, pero en mi experiencia personal (claramente sesgada por mi entorno de desarrollo preferido) los mejores desarrolladores que conozco, tanto en persona como en línea, se basan principalmente en el código abierto apilar.

Las tarifas de licencia deben gestionarse, lo que en sí mismo lleva tiempo y, por lo tanto, cuesta dinero. Si llega a un punto de inflexión viral y su tráfico explota de la noche a la mañana, tener que obtener licencias para todos los nuevos servidores que termina lanzando es un dolor de cabeza adicional no deseado exactamente en el momento equivocado.

La existencia de una tarifa de licencia también hace que sea más difícil probar el software. Con los productos comerciales, debe descargar y registrarse para obtener versiones de prueba, o ponerse en contacto con un vendedor para obtener una demostración. Puede probar un producto de código abierto, en su totalidad, simplemente descargándolo sin tener que hablar con nadie.

Y finalmente: el argumento decisivo para construir en código abierto es que si algo se rompe, puede arreglarlo usted mismo (o encontrar a alguien que pueda arreglarlo por usted). No tiene que depender de costosos contratos de soporte con el proveedor original, seguidos de semanas de ida y vuelta con su primer, segundo y tercer nivel de soporte antes de que un desarrollador real se entere de su problema. En cambio, puede sumergirse en el código fuente, contratar a un consultor independiente (lo que al menos significa que puede darse una vuelta), o saltar a un canal IRC o lista de correo y pedir a los encargados del proyecto que echen un vistazo.

Los defensores de Microsoft hablarán con frecuencia sobre el “costo total de propiedad” y señalarán que el hecho de que el software sea gratuito no significa que no le costará dinero adoptarlo. Supongo que estoy haciendo un contraargumento aquí: los costos del software con licencia comercial son mucho más que el costo de la licencia.