Microsoft abraça Linux – tarde demais

Em caso você tenha perdido, a Microsoft fez um monte de anúncios relacionados ao Linux recentemente. Em primeiro lugar, nós descobrimos Microsoft estava oferecendo SQL Server rodando em Linux . Então, em Construir na semana passada, a Microsoft introduziu ” binários nativos Ubuntu Linux rodando no Windows ” e tratou-nos para uma demonstração do Bash no Windows 10.

O fato de que a Microsoft agora suporta SQL Server em Linux não é realmente um desenvolvimento técnico – é um movimento de negócios. Felizmente para a Microsoft, os antolhos Ballmer se foram, ea empresa pode ver que o Linux é o sistema operacional de escolha para o nosso futuro nuvem, não o Windows. Microsoft perdeu essa batalha há muito tempo. Não surpreendentemente, as pessoas nuvem Azure ter alcançado a liderança em empurrar Microsoft no sentido de apoiar o Linux (e outras tecnologias relacionadas com a nuvem de código aberto, incluindo Docker, Kubernetes, e vários bancos de dados NoSQL).
[ Bash no Windows: Apenas o início do experimento Microsoft-Linux . | Sobreviver e prosperar com o novo sistema operacional: O Windows 10 kit último sobrevivente . | Mantenha em tecnologias-chave da Microsoft com o boletim de notícias do Windows . ]

Oferecendo Microsoft SQL Server em Linux provavelmente irá aumentar a receita, não prejudicá-lo. Todos os principais concorrentes para executar o Microsoft SQL Server em Linux, mas SQL Server não o fez, então a Microsoft estava perdendo vendas e contratos de suporte associados. A verdade é que a Microsoft SQL Server é um banco de dados sólida e deveria ter começado o processo multiplataforma há muito tempo. O resultado é que um bando de velhos sistemas Windows que ainda executar o Microsoft SQL Server irá tornar-se caixas de Linux, que para a Microsoft é melhor do que eles tornar-se caixas de Linux rodando Oracle ou DB2.

O anúncio Linux-on-Windows é mais interessante, mas requer alguns esclarecimentos. Este não é o Linux rodando em uma máquina virtual – não há nenhuma kernel do Linux presente, nem um hipervisor emular hardware. Este não é o Cygwin , que é um ambiente Unix compilada especificamente para rodar na plataforma Windows. Não é um recipiente, quer. O ambiente Ubuntu em execução no Windows 10 contém binários idênticos aos binários executados em uma plataforma Ubuntu – um executável ELF.

O que a Microsoft tem feito é construir uma camada de tradução chamada de sistema. Quando um binário Linux faz uma syscall, da Microsoft, o Windows Subsistema para Linux converte-o em um syscall Windows e oferece o que o binário espera. É semelhante ao vinho, que faz algo similar para binários do Windows rodando em Linux. Também como o vinho, não é mágica – muitos binários não vai “simplesmente funciona”. Este é apenas o começo de um longo processo para a Microsoft.

A verdadeira pergunta: Por que isso está acontecendo? Por que a Microsoft decidir de repente depois de todo esse tempo a parceria com a Canonical e escrever esta camada de tradução? Principalmente por uma razão muito semelhante que está liberando SQL Server para Linux – a empresa está a perder terreno no nível de desktop com os desenvolvedores, administradores de sistema, DevOps engenheiros, e outros semelhantes. Hoje todas essas pessoas estão trabalhando mais em plataformas de servidor Linux do que no Windows, e usando o Windows no seu laptop durante o desenvolvimento para Linux é complicado na melhor das hipóteses e inútil na pior.

Os desenvolvedores não podem facilmente levantar-se um ambiente de dev para um aplicativo baseado em Linux em seu laptop Windows. Eles precisam de um lugar para executar esse ambiente, que se torna um servidor remoto ou uma máquina virtual rodando em sua instalação do Windows. Muito rapidamente, os redutores de velocidade incorridos por tal configuração são visíveis, por isso as cabeças Developer para Linux no laptop ou (mais comumente) pega um Mac, uma vez que os fundamentos BSD do OS X torná-lo muito mais simples para chegar onde eles precisam ser, de forma nativa.

É por isso que você olhar em volta das casas de desenvolvimento, conferências e outras áreas onde os desenvolvedores tendem a se reunir e você vê um mar de logos da Apple. Fundamentalmente, trabalhando em sistemas * nix a partir de qualquer ponto de vista é mais fácil quando você está usando um * nix caixa de si mesmo. Com o mundo se movendo a uma nuvem alimentada principalmente por Linux, essa tendência é inegável.

Isso não é o Microsoft abraçando Linux, mesmo como parte de sua tradicional “abraçar, estender exterminar” esquema. Esta é a Microsoft tardiamente dando um passo para a aceitação Linux. Microsoft terá de enfrentar grandes problemas no caminho devido a esta procrastinação, mas pelo menos ele iniciou o processo. Antes, isso teria sido uma impossibilidade, porque os poderes que se recusaram a ver o que era evidente para toda a gente: Linux foi ganhando o espaço do servidor em nuvem, e para melhor ou pior, que é onde o mundo está indo.

Microsoft tem uma longa história de ficar para a festa final, todo o caminho do apócrifo ” 640K deveriam ser suficientes para qualquer um ” declaração ignorando completamente a Internet para realizar a coisa virtualização pode ser um grande negócio. Microsoft não é realmente um inovador. Uma vez que ele pisa em um espaço, no entanto, ele traz o seu peso Goliath e despeje recursos para ele até que haja um produto viável, competitiva ou serviço.

Neste caso, a Microsoft é muito, muito tarde para o jogo e não está oferecendo um produto concorrente – ele está tentando acomodar a competição em um esforço para salvar a si mesma. Nós não vimos isso antes, e será interessante notar como tudo se desenrola.

Enquanto isso, eu tenho certeza que não haverá uma corrida louca de devs e administradores morrendo de vontade de executar um espaço do usuário Ubuntu altamente limitada no Windows 10. Eles vão ficar com suas caixas de Macs e hortelã.