Meados do ano passado, a Microsoft divulgou que, em 2017, uma versão do seu SGBD, MS SQL Server, para Linux seria lançado. Logo em seguida, anunciou uma pré-visualização pública. Pela primeira vez na história, o SQL Server estava disponível para Linux – primeiramente no Ubuntu. E depois disponibilizou uma imagem para Docker. Então, com o advento de containers Docker, saiba como instalar o Microsoft SQL Server 2017 em qualquer distribuição Linux usando Docker.
Contextualizando
Em meio a divulgação do SQL Server 2016, no ano passado, a Microsoft também divulgou que, em meados de 2017, a versão 2017 também seria lançada para Linux – com uma versão de testes restrita inicialmente. Em seu blog oficial, na época, a Microsoft publicou todas as novas funcionalidades do seu produto SGBD e aproveitou para ampliar seu leque de sistemas operacionais suportados; incluindo o pinguim nessa conversa 🙂
Inicialmente, liberado no Ubuntu, a Microsoft também disponibiliza pacotes RPM (Red Hat e derivados) e APT (Debian e derivados); e pacotes para o SUSE Linux Enterprise Server.
Assim, com o pontapé inicial sendo dado pela Canonical (mantenedora do Ubuntu), as principais novidades dessa nova versão do SQL Server estarão muito voltadas para as ferramentas de Cloud do Ubuntu. Por exemplo, o Juju – plataforma de nuvem do Ubuntu. Além disso, o foco será a plataforma de nuvem Azure da Microsoft, onde o Ubuntu possui um template de VM criado.
Além da combinação da Canonical e Microsoft SQL Server e suporte as plataformas de nuvem (Juju e Azure), containers Docker também podem ser explorados 🙂
Microsoft anuncia SQL Server para Linux em meados de 2017
Próxima versão do Microsoft SQL Server para Linux está disponível como pré-visualização pública no Ubuntu
Docker
Docker é uma plataforma para desenvolvimento, provisionamento e execução de aplicações usando tecnologia de containers. Esta plataforma oferece um conjunto de poderosas ferramentas que aprimoram a forma de criar e administrar aplicações entre ambientes diferentes. Além disso, garante isolamento de recursos para que o administrador possa disponibilizar uma aplicação segura.
Com a “revolução” da cultura DevOps – movimento que promove um conjunto de processos e métodos para pensar sobre comunicação e colaboração entre os desenvolvedores de software e administradores de sistemas computacionais – o surgimento de ferramentas que pretendem agilizar essas operações surgem a cada dia. Entre elas, surgiu a Docker – plataforma multiplataforma de código aberto que automatiza a implantação de serviços, fornecendo uma camada de abstração a nível sistema de nível operacional e isolando-os em containers. Disponibilizada pela primeira vez em 2013, de lá pra cá o Docker vem numa crescente enorme! Principalmente, porque proporciona agilidade na entrega dos serviços.
A “fórmula” criada é simples… Evita que você tenha retrabalho na disponibilização dos serviços. Imagine, por exemplo, se você precisar configurar 2 ambientes web Apache em máquinas distintas, quais serão os passos necessários para configurá-los?! Simples… os mesmos do primeiro ambiente 🙂 Agora, multiplica por 10 ou mais vezes. Então, por quê configurar o ambiente web Apache 10 vezes se deve sempre ser configurado, na maioria das vezes, do mesmo jeito?!
Assim, um container Docker pode executar tanto num cluster de alto processamento quanto num hardware de baixo processamento. Isto é possível, pois a plataforma Docker possibilita o empacotamento de uma aplicação inteira em imagens, tornando-as portáveis para qualquer outro computador/servidor que contenha o Docker instalado. Isso gera a agilidade e padronização na entrega dos serviços. E, principalmente, evita o retrabalho (“reinventar a roda”). Com o Docker você se preocupa apenas com as peculiaridades da sua aplicação/ambiente/ferramenta. No caso do ambiente Web Apache, somente com os arquivos do site ou aplicação que rodará nele 🙂
Sendo assim, saiba que se você é um profissional e/ou estudante de cursos de Tecnologia da Informação você poderá ter diversas vantagens usando a plataforma Docker. Por exemplo:
– Desenvolve uma vez…executa em qualquer lugar;
– Sem preocupações (dependências e/ou pacotes)… foco no desenvolvimento;
– Diversos ambientes para testes;
– Evita o “localhost funciona”;
– Configura uma vez… executa em qualquer lugar;
– Elimina inconsistências na entrega das aplicações e/ou serviços;
– Ciclo de trabalho mais eficiente e ágil;
– Promove uma infraestrutura escalável;
Curso Docker – Introdução a administração de containers
AppImage – ferramenta que permite executar aplicações Linux independente da distribuição usada
E caso não seja nenhum profissional da área, mas é um usuário entusista do Linux, saiba que o Docker também tem algumas vantagens para você:
– Tudo que é executado por linha de comando, poderá ser executado num container Docker;
– Instala softwares em um ambiente isolado;
– Executa uma ferramenta sem precisar instalar nenhum pacote/dependência no seu sistema. Por exemplo, o FFmpeg… quando não estiver mais precisando, poderá excluí-la facilmente;
– Evita conflito de múltiplas dependências de pacotes;
Caso queira aprender mais sobre o Docker, inscreva-se no curso introdutório, criado por mim, que explica, em detalhes, toda a estrutura Docker e como administrar e criar containers – acesse AQUI – Nesse link 50% desconto 🙂
SQL Server 2017 no Linux
Usando Docker, vou explicar como configurar e executar o Microsoft SQL Server 2017 em qualquer distribuição Linux em container. Eu usarei a imagem disponível no Docker Hub para executar o SQL Server 2017 CTP 2.1 num container Docker.
Existem alguns requisitos mínimos para usar a imagem oficial docker microsoft/mssql-server-linux:
– Instale o Docker Engine 1.8 ou superior – use a documentação oficial como referência
– Mínimo de 4 GB de espaço em disco
– Mínimo de 4 GB de RAM
Para instalar o MS SQL Server em qualquer distribuição Linux usando Docker, é preciso executar o comando abaixo (depois do Docker instalado), que irá baixar a imagem oficial e criar um container a partir disso:
sudo docker run --name mssqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=@MyMSSQLDocker112' -p 1433:1433 -d microsoft/mssql-server-linux
Onde,
–name mssqlserver -> representa o nome do container;
-e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=@MyMSSQLDocker112’ -> representa o uso de variáveis de ambiente que configuram a senha do banco e aceite dos termos de uso;
-p 1433:1433 -> representa a liberação da porta 1433 do SQL Server;
-d microsoft/mssql-server-linux -> representa o uso da imagem oficial do MS SQL Server;
Saiba como configurar um ambiente de desenvolvimento Web Apache completo e seguro com Docker
Pronto!! Container criado. Execute o comando abaixo para visualizá-lo:
sudo docker ps
Agora, para acessar o SQL Server, via container Docker, você pode se conectar a ele executando no container operações de banco de dados:
sudo docker exec -it mssqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P @MyMSSQLDocker112
Onde,
docker exec -> executa outro processo num container ativo;
-it -> solicita interação (i) e uso do terminal (t);
mssqlserver -> nome do container criado;
/opt/mssql-tools/bin/sqlcmd -> binário do client seguido de seus parâmetros -S e -U e -P;
Assim, no console do SQL Server 2017, verifique a versão do SQL Server em questão 🙂