Hace unos días fuimos testigos de como miles de computadoras con Windows empezaron a aparecer con la famosa pantalla azul de la muerte. La pantalla que aparece cuando hay un problema crítico en Microsoft Windows. Este problema ocurrió gracias al software de CrowdStrike, una empresa de seguridad informática, que por una falla en un driver durante el arranque del sistema operativo, causó que las computadoras no pudiesen arrancar correctamente.
El responsable es Crowdstrike
Inicialmente todos pensamos que el problema fue Microsoft, pero en realidad no tuvieron la responsabilidad. El problema ocurrió en un driver de Crowdstrike que falló por una mala actualización de un archivo de contenido importante para este driver. Fallaron las pruebas y despliegues de esta actualización por parte de Crowdstrike.
Por esta razón, me animé a hacer un video para explicar esto y mostrar que fue lo que pasó desde el punto de vista de los sistemas operativos. Para que todos estemos claros y podamos aprender de esta situación y aplicarlo en nuestros trabajos para evitar problemas similares.
Espero que miren el video, pues proporciona más detalles de los que puedo abarcar en este post. Y recuerden comentar si tienen alguna duda, comentario o corrección del tema.
Reflexión
Creo que lo que pasó, vimos como podemos estar a un paso de fallas graves en nuestro sistemas y afectar la vida diaria. Tal vez en el futuro ocurran cosas peores ocasionadas por la I.A. o fallos humanos, pero siempre y cuando tengamos buenas pruebas, aprendamos de estas experiencias y programemos las cosas para tolerar fallas, evitaremos que ocurra de nuevo algo asimilar a lo de Crowdstrike.
Espero que este video les resulte útil e interesante. Si desean mas videos de Sistemas Operativos como este, o similar al de Como google optimizó en 40% el kernel Linux, si necesitas más detalles o tienes alguna pregunta específica sobre el problema de CrowdStrike, no dudes en dejar un comentario. ¡Estaré encantado de responderte!
Despues de varíos días de rumores, Microsoft ha confirmado que detiene el desarrollo del motor actual de Edge para migrarlo a Chromium (el que utiliza Google para Chrome). Me sorprendió porque Microsoft ha creado/mantenido su propio navegador desde 1995. Sin embargo, desde el lanzamiento de Firefox y Chrome ha perdido relevancia debido al mal soporte de estándares, actualizaciones lentas, incompatibilidades, impulso de tecnologías propias, entre otros. Razones que impulsaron a detener su desarrollo para evitar que Microsoft perdiera dinero en el desarrollo de Edge.
La decisión que tomaron fue la de migrar Edge al motor Chromium, un proyecto de código abierto mantenido principalmente por Google que también es usado por Opera y Brave. El problema de esta decisión es que solo dejaría a la web con 3 motores: Chromium, Gecko (el utilizado por Mozilla) y Webkit (el padre de Chromium y actualmente solo manejado por Apple). Bueno realidad sería prácticamente 2 motores porque Webkit y Chromium comparten muchas similitudes y hasta los momentos no se han distanciado mucho.
Con este resultado pienso que pueden ocurrir dos escenarios, el tiempo dirá cuál de ellos se hará realidad:
Mejor escenario de Edge con Chromium
Microsoft al aportar código a Chromium. Tiene la posibilidad de ser influyente en las decisiones de este proyecto y reducir el liderazgo de Google. No lo veo factible porque dudo que un nuevo miembro del proyecto vaya a arrebatar el liderazgo al dueño.
También Microsoft podría modificar el código para soportar tecnologías propias. Creando competencia entre los miembros. Algo común en ellos con su filosofía de Extenderse y Extinguir. Pero de nuevo, me parece difícil.
Los desarrolladores web tendrán un motor menos al cual darle soporte y habrá mas usuarios con una web mas compatible. Pero también debido a este punto puede surgir el siguiente escenario.
Mal escenario
Al eliminarse el motor de Edge, los desarrolladores promedios no probaran sus páginas en motores distintos al de Blink. Pueden asumir que si sirve en Chrome sirve en todos lados (lamentablemente muchos lo hacen actualmente). De esta forma, se pierden los estándares, habría menos competencia y Google a través de Chromium dominaría la web.
Las personas con otros navegadores no disfrutarían de una experiencia completa o serían excluidos. También sería difícil impulsar nuevas tecnologías pues todo se reduciría a que Chromium las adopte. Suena mas fácil pero en realidad es peor porque al reducir la competencia, no hay incentivo en mejorar o cooperar. Viviendo en Venezuela les puedo decir que conozco sobre este tema 😉 je, je, je.
Ademas, esta era la situación de la web en el 2003. Microsoft controlaba todo con IE y la web era lo que Internet Explorer soportaba. Luego al no haber competencia la web se estancó muchos años. Con el lanzamiento de Firefox a finales del 2004 y surgimiento de otros navegadoers. Microsoft se vio en la necesidad de tomar medidas y mejorar su navegador luego de 4 años de abandono por falta de competencia y poco incentivo a mejorar debido a su dominio.
Reflexiones
Veremos que ocurrirá, Mozilla seguirá manteniendo su navegador Firefox para contrarrestar este «monopolio» (si es que se puede llamar así) que perjudica la libre competencia, establecimiento de estándares y protección al usuario. Si quieres utilizar un navegador que protege tus datos, es rápido y confiable debes instalar Firefox.
Increíble como los tiempos cambian. Hace 15 años Microsoft tenía una cuota del 95% del mercado y hoy en día Edge lucha con un 5%. Apple tiene su propio navegador que nace de KHTML (utilizado por KDE). Google, Microsoft y Opera tienen sus navegadores con Chromium, otro proyecto abierto. Es decir, actualmente todas las bases de los principales navegadores son de código abierto, algo inimaginable hace 20 años.
Windows 10 ahora ofrece (luego de actualizar a la edición de aniversario) una terminal Linux compatible con el sistema operativo de Microsoft, una movida muy extraña e increíble, pero supongo que lo hicieron en parte debido al auge de herramientas en la línea de comandos para desarrollar software y el gran uso de sistemas Linux en la sector de servidores.
Lo interesante de la terminal, es que no es solo una aplicación o un sistema de emulación como cygwin sino que posee el núcleo Linux (específicamente de Ubuntu) dentro del sistema y puedes realizar casi cualquier cosa (no gráfica) que podrías hacer en GNU/Linux.
En la siguiente charla de Alex Ionescu podrás comprender como Microsoft logró integrar el núcleo Linux con el núcleo de Windows 10, para tener una terminal real de sistema operativo y poder realizar llamadas al sistema para: ejecutar procesos de altos privilegios, acceso al sistema de archivos, procesos, entre otros. Realmente te recomiendo ver esta charla si te llama la atención la arquitectura de los sistemas operativos, pues el trabajo que hicieron en este proyecto es realmente bueno.
Para complementar el vídeo, puedes descargar las láminas de la presentación para su lectura. Espero que te haya gustado el vídeo y comenta si quieres aportar cualquier información, ahora espero que no te migres a Windows porque ahora tienes una terminal de Linux 😉
Desde hace unos meses Microsoft ha estado cambiando su imagen, en parte porque durante la presidencia de Steve Ballmer perdió su reinado ante compañías como Apple, Google, entre otros. Sigue siendo el líder y la empresa mas importante de la informática, pero no llega al mismo nivel que tenía durante los 90s.
En los últimos años vimos cosas como que Microsoft empezó a colaborar en el kernel Linux aportando código (de hecho estuvo por encima de mucha compañías por un tiempo), se unió a la Linux Foundation, cosa que sorprendió a muchos. En estos días, anunció la liberación de Chakra su interprete de Javascript bajo código abierto, compró Xamarín (la empresa de Miguel de Icaza) y ahora permite una licencia gratuita, próximamente habrá SQL Server para Linux y la última que generó gran sorpresa, la inclusión de Ubuntu dentro de Windows 10 para tener una terminal de Linux dentro de ese sistema operativo, todo esto bajo la campaña Microsoft ♥ Linux.
Las nuevas generaciones de programadores o usuarios de software libre lo ven como algo bien, ya que creen que Microsoft está abriéndose y ahora es mas amigable. Pero yo no creo que sea así, pues siguen siendo la misma empresa y conservan su cultura organizacional de dominar todo sector de la informática. Antes de compartirles mi opinión, veamos la situación actual con la empresa.
La mayoría de servidores usan Linux
Si revisan las estadísticas, la mayoría de servidores en Internet corren Linux y 99% de las supercomputadoras corren en Linux, ademas muchos de los clientes de Azure (la plataforma de la nube de Microsoft) lo utilizan para tener sus servidores Linux en ellos, esto significa que ninguna de esas instalaciones puede utilizar tecnologías de Microsoft, perdiendo gran cuota del mercado y saben que mucha gente no le gusta tener Windows Server como solución empresarial, por esta razón se van a la competencia, por ejemplo, alguien que desee usar un gestor de base datos y utilice Linux en sus servidores, podrán usar soluciones como MySQL, SQL Lite, Oracle DB, Postgres…pero no SQL Server. Así que la liberación de una versión para esta plataforma corresponde a necesidad de expandirse en el mercado.
En el móvil
Las plataformas móviles están lideradas por Android y iOS, donde la principal forma de desarrollar en ellas es Java y Swift/Objetive C respectivamente, Windows 10 Mobile no ha logrado despegar mucho y por lo tanto la plataforma de desarrollo con .NET es casi ausente en el sector móvil. Por ello, compraron Xamarin una plataforma que permite llevar software escrito en .NET a Android y iOS, así pueden expandir e impulsar sus tecnologías a las plataformas móviles.
Atraer los desarrolladores
Este es el punto mas importante he visto, he estado en conferencias internacionales, eventos de software libre y de Mozilla, he tenido la oportunidad de visitar, trabajar en varias empresas y el patrón que he visto es que si no usan tecnología de Microsoft en sus productos, no utilizan Windows en sus equipos, por esta razón vemos que si desean trabajar por ejemplo, con Ruby o Javascript, observarán que casi todo se hace a través de la línea de comandos, control de versiones y acceso a servidores se hace a traves de SSH que funciona por consola (de hecho GIT es un programa de consola), herramientas de manejo de dependencias de software (que se usan actualmente en todas las tecnologías) se hacen por la terminal.
Por esta razón, muchos programadores hoy en día compran una Mac o instalan Linux en sus equipos para tener una mejor experiencia de desarrollo y aumentar la productividad. Por ello, Microsoft se vio obligada a incorporar una terminal de Linux en su sistema operativo para soportar todas estas tecnologías y evitar la migración de usuarios a UNIX/Linux. Ademas, al ser un Linux real (Ubuntu), no es necesario migrar el software existente sino ya viene compatible con todo lo que existe (esta es la diferencia con Cygwin).
Palabras finales
En conclusión, pueden ver que todo lo que han hecho para «amar Linux» (o código abierto) ha sido solo para expandir el terreno perdido y dominar el mercado y volver a ser el Microsoft de Bill Gates, que dominaba todo sector de mercado (lo cual es normal en cualquier empresa), solo que en el caso de Microsoft, recodemos que atacaba fuertemente al software libre y Linux como se descubrió en los documentos de halloween del 98.
Si Microsoft de verdad amara Linux, tuviese su cliente de Skype actualizado , y no lo hubiese abandonado desde hace año y medio.