Como utilizar o Ansible para Automatizar a Configuração de um Servidor Ubuntu

Introdução

Automatizar processos repetitivos é uma dos papéis essências tanto para administradores de sistemas como para programadores. Existem diversas ferramentas que auxiliam nesse processo, uma delas é o Ansible, ela facilita a desenvolvimento do de configuração de servidor automatizado, estabelecendo procedimentos padrão para novos servidores e, ao mesmo tempo, reduzindo o erro humano associado a configurações manuais.

O Ansible oferece uma arquitetura simples que não requer a instalação de software especial nos nós, somente a presença do Python instalado. Ele também fornece um conjunto robusto de recursos e módulos integrados que facilitam a escrita de scripts de automação.

Antes de tudo

Para começarmos a escrever e testar as nossas automações vamos precisar de:

  • Um Nó de controle Ansible: De forma resumida é máquina com no caso deste exemplo a minha maquina, que possui um elemantary OS, variante do Ubuntu, vamos instalar o Ansible nessa máquina e configurar para acessar o Host utilizando ssh key, você pode utilizar esse tutorial para configurar a sua cloud.
  • Um ou mais Ansible Hosts : um ou mais servidores Ubuntu 20.04 remotos.

Vamos criar um novo usuario sudo para realizar as nossas operações

# adduser sammy

E escolha uma senha.

Caso você já tenha configurado o acesso direto copiando a chave ssh, você tera que fazer o mesmo processo só que agora com o novo usuario

ssh-copy-id -i ~/.ssh/absam sammy@nat-31184.nuvem-us-04.absamcloud.com -p 11484

Vamos começar

Primeiramente vamos utilizar como base o um playbook

cd ~
git clone https://github.com/do-community/ansible-playbooks.git
cd ansible-playbooks

Os arquivos de nosso interesse estão localizados dentro da setup_ubuntu1804pasta, que possui a seguinte estrutura:

setup_ubuntu1804
├── playbook.yml
└── vars
    └── default.yml

Aqui está o que cada um desses arquivos são:

  • vars/default.yml: Arquivo de variável para personalizar as configurações do manual.
  • playbook.yml: O arquivo do manual, contendo as tarefas a serem executadas no (s) servidor (es) remoto (s).


Instale o Ansible no nó de controle:

sudo apt install ansible

Instale nos HOSTS o python

sudo apt install python

Vamos criar o nosso inventario, criaremos o arquivo inventory.yml:

[webservers]
server1 ansible_host=IPDOSERVIDOR ansible_port=PORTA

Agora vamos rodar o nosso playbook:

ansible-playbook playbook.yml -i inventory.yml -u root

A saida esperada é:

Como Configurar O Acesso a Um Servidor Utilizando SSH KEY

Depois de criar um servidor você precisa de credenciais para acesso, usuário e senha. Outra forma de acessar o servidor de maneira mais simples é criando uma chave ssh ou ssh key, para acessar de forma direta o servidor, sem a necessidade de adicionar a senha todo momento que for necessário entrar na cloud. Caso você ainda não tenha um servidor, você poderá criar facilmente utilizando o nosso dashboard.

Login padrão

Servidores recém-instalados vem com o usuário padrão root ou admin esse usuários tem todos os privilegios dentro da cloud, para descobrir qual o seu caso, você poderá ver no email de confirmação como no exemplo a seguir:

No email você pode perceber que existe tanto o Usuário padrão como a senha de acesso utilizando este usuario. Para acessar a sua cloud você poderá utilizar o modo padrão, que seria algo como:

ssh root@nat-31184.nuvem-us-04.absamcloud.com -p 11484

Utilizando um terminal ou powershell, você pode acessar utilizando o comando a cima, mas ele solicitará a senha para que você consiga ter acesso ao terminal do servidor em questão.

Acesso com SSH KEY

Primeiramente vamos criar a nossa chave, por padrão, irei adicionar essa nova chave dentro da pasta .ssh que é padrão em distribuições linux.

cd ~/.ssh

Vamos Criar a nossa chave utilizando o comando:

ssh-keygen

Logo após você pode escolher o nome da sua nova chave, no meu caso eu escolhe Absam.

Agora vamos adicionar essa chave lá dentro do nosso servidor.

ssh-copy-id -i ~/.ssh/absam root@nat-31184.nuvem-us-04.absamcloud.com -p 11484 

Diga sim para opções que irão aparecer, e logo após adicione a senha de acesso.

Se você receber essa mensagem, tudo deu certo, agora você poderá acessar de forma direta o seu servidor sem ter que adicionar a senha toda vez que for tentar o acesso. Como você faria da forma normal:

ssh root@nat-31184.nuvem-us-04.absamcloud.com -p 11484

Outro detalhe é, vamos adicionar a chave publica:

cat ~/.ssh/absam.pub | ssh sammy@nat-31184.nuvem-us-04.absamcloud.com -p 11484 "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Qual a Melhor Cloud ?

Essa é uma pergunta bastante comum, que muitos gerentes de projeto, empreendedores e programadores se fazem. Existem dezenas de opções de cloud para colocar a sua aplicação no ar e disponível.

Primeiro uma visão geral e simples do que é a Cloud, a Cloud nada mais é do que um servidor, onde os arquivos da linguagem de programação e configurações da mesma ira ficar, com a Cloud você conseguira disponibilizar a sua aplicação para qualquer pessoa que tenha acesso à internet.

Tendo isso em mente, vamos entender como escolher a melhor cloud para que você tenha alta disponibilidade e segurança.

O primeiro aspecto disponibilidade é bastante importante, pois você não quer que a sua aplicação fique fora do ar, ou que os seus clientes não consigam ter acesso ao seu serviço ou produto, por isso, procure uma cloud com redundância, pois com esse diferencial, você dificilmente a sua aplicação ficará indisponível.

Para obter segurança na sua aplicação, é preciso ter um firewall nativo da cloud, para proteção de ataques por exemplo DDOS, então busque uma nuvem que tenha essa característica.

Além das características já citadas há outras que são bastante importantes e devem ser consideradas, como se há alguma forma de suporte, redimensionamento, facilidade de realizar o Deploy, backup automático, monitoramento. Vamos tentar entender rapidamente cada um deles.

Suporte para eventuais problemas no sua Cloud, então caso a sua cloud tenha algum problema de disponibilidade ou instabilidade na rede, percebendo isso você podera ter um contato rapido e direto com a empresa e seu suporte tecnico. Isso é bem mais complicado em Cloud’s mais famosas, algumas até cobram para abrir um chat de suporte.

Redimensionamento, caso a sua aplicação cresça ou necessidade de mais hardware, isso tem que ser simples de realizar, então por meio de painel ou dashboard e alguns cliques você consiga realizar essas alterações.

Facilidade de realizar Deploy, já entrando na hospedagem que iremos recomendar, você consegue com alguns cliques criar uma infraestrutura voltada para a tecnologia que você utiliza, como Python/Django, PHP/Laravel, GO, Java, Node, dentre diversas outras.

Backup automático você poderá de forma gratuita configurar backups da sua cloud semanalmente ou mensalmente.

Monitoramento, no dashboard você poderá analisar os picos de uso de rede e hardware que aconteceram na sua cloud, e verificar a necessidade de redimensionamento da sua aplicação.

Depois de considerar todas as características e vantagens, há cloud que atende a todos esse requisitos é a Absam, nela você conseguira ter acesso a tudo isso e muito mais.

O que é o Cloud NAT e como funciona ?

Opa, Hoje vamos explicar como funciona o Cloud NAT, quais as vantagens e desvantagens de você escolher esse tipo de serviço e em quais situações você pode utilizar.

Como funciona hoje em meios tradicionais, você adquiri uma servidor, este servidor possui um IP publico de acesso, por exemplo 187.111.203.42, este IP é chamado de público, ele pode ser acessado por qualquer pessoa com acesso a internet.

Vantagens de utilizar uma Cloud NAT

Segurança

Como seu IP é publico há maior facilidade de encontrar a sua aplicação, sendo assim, pessoas com más intenções podem realizar ataques a sua aplicação ou ao seu servidor, buscando derrubar ou ter acesso administrativo a mesma.

Sendo assim, a forma mais segura de você ter a sua aplicação distribuída na internet é utilizando um hostname, com isso a sua aplicação/servidor está protegido não somente com o firewall do Datacenter como também pelo proxy NAT que faz o redirecionamento entre a sua aplicação e a internet.

Disponibilidade

Como o servidor virtual não tem um IP fixo, como já falei ele esta atrás de um proxy que faz o redirecionamento, ele não corre o risco de ficar indisponível por algum tipo de problema relacionado ao IP ou algumas categorias de ataque vindos da internet.

Desempenho da Cloud NAT

Uma preocupação sobre o cloud nat é sobre o desempenho, entretando o cloud nat não diminui a largura de banda da rede, ele mantem exatamente o mesmo tempo de resposta de serviços de rede.

Finalizando, para contratar esse serviço é bastante simples após criar a sua conta, você clica em criar servidor e escolhe a opção Cloud NAT.

Após escolher essa opção você poderá escolher qual sistema você deseja instalar na sua Cloud, temos essas opções em templates mas também temos outras opções como UBUNTU com Docker, MK AUTH

Após isso você poderá escolher o plano que melhor se encaixa para você. Depois você poderá escolher quanto de espaço em SSD você terá na sua maquina, isso pode ser alterado depois facilmente no Dashboard após isso você escolhe a forma de autenticação, por padrão nós enviamos para você os dados de acesso via ssh, de forma extremamente simples.

Após escolher, você poderá escolher o modelo de cobrança, temos cobrança mensal, trimestral, anual e por hora, logo abaixo você terá a opção de contratar, ao clicar você será encaminhado para um tela onde poderá ver o progresso da construção da sua cloud.

Ao terminar esse processo, você receberá um email com as credenciais do email.

Para exemplificar logo abaixo temos um exemplo de email que você receberá.

Com essas credenciais você poderá acessar a sua cloud nat de forma simples, via ssh:

ssh root@nat-31485.nuvem-us-02.absamcloud.com -p 21250

Para finalizar, caso queria, você pode configurar um domínio para o seu servidor, utilizando esse tutorial.

AbsamCast – 02 – Entendendo o mundo de ReactJS

Hoje vamos bater um papo com o desenvolvedores Caio Alcantara e Vitor Vieira , vamos entender um pouco do mercado de como começar a se tornar um programador de React, e porque utilizar esse framework/lib nos seus projetos. Esse Videocast é patrocinado pela Absam, a melhor plataforma de cloud do Brasil. Temos diversas automações para simplificar o processo de criação da sua infraestrutura.

Acesse nosso site http://bit.ly/AbsamYt

Conheça nosso Instagram http://bit.ly/absamInstagramyt #Dev #devops #python #tecnologia #cloud #absam #absamcast

Como instalar a usar o SQLite no Ubuntu 20.04

Introdução

SQLite é um sistema de gerenciamento de banco de dados gratuito, multiplataforma e facilmente integrável com diversas tecnologias.

Neste tutorial, você instalará o SQLite no Ubuntu 20.04. Em seguida, você criará um banco de dados, ler, escrever, atualizar e excluir itens de uma tabela. Para seguir este tutorial você precisará ter uma maquina com o sistema Ubuntu 20.04 instalada, esse tutorial poderá ser aplicado em versões anteriores do sistema, caso você não tenha, você poderá criar uma Cloud Nat, facilmente utilizando o nosso dashboard, com alguns cliques você terá uma máquina totalmente configurada e poderá acessa-lá de forma simples com as credenciais enviadas para o seu email, clicando aqui você poderá criar a sua conta.

Etapa 1 – Instalar SQLite no Ubunto 20.04

Primeiro vamos atualizar os repositorios do ubuntu

sudo apt update

Agora instale o SQLite

sudo apt install sqlite3

Verifique se a instalação deu certo

sqlite3 --version

Você verá uma saida igual a essa:

3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1

Etapa 2 – Criando um base de dados SQLite

Nessa etapa, vamos criar um banco de dados, vamos salvar carros com diferentes modelos e atributos. Abra o seu terminal e execute o seguinte comando para criar o sue banco.

sqlite3 cars.db

Ao rodar esse comando você entrará no shell, onde você poderá rodar comandos sql. Se você não executar nenhum comando, o arquivo cars.db não será criado.Para garantir que o arquivo seja criado, você pode executar uma consulta vazia digitando ;e pressionando “Enter”. Dessa forma, você terá certeza de que o arquivo de banco de dados foi realmente criado.

Etapa 3 – Criação de uma tabela no SQLite

Bancos de dados de SQLite são organizados em tabelas. As tabelas organizam as informações, nesse passo vamos entender como inserir os dados no nosso banco. Lembrando que todos os comandos devem se encerar com “;”

Vamos acessar o nosso banco

sqlite3 cars.db

Agora vamos criar uma tabela e algumas colunas para vários dados:

  • Um ID
  • O nome do carro
  • O tipo do carro
  • Preço do carro
CREATE TABLE cars(id integer NOT NULL, name text NOT NULL, cartype text NOT NULL, price integer NOT NULL);

Utilizaremos o NOT NULL para sinalizar que o campo é obrigatório. Para mais informações sobre tipos você pode conferir aqui.

Depois de criar a tabela, um prompt vazio retornará. Agora vamos inserir alguns valores nele.

Inserir dados na tabela

O SQLite, o comando para inserir valores em uma tabela segue esta forma geral:

INSERT INTO nomeDaTabela VALUES(valores);

Agora insira três linhas de dadps em sua tabela de cars

INSERT INTO cars VALUES (1, "Gol", "hatch", 34000); 
INSERT INTO cars VALUES (2, "Onix", "hatch", 46000); 
INSERT INTO cars VALUES (3, "Camaro", "esportivo", 12800);

Pronto agora você tem 3 dados na sua tabela, na próxima etapa nós iremos ler os dados que estão salvos na tabela.

Etapa 4 – Lendo tabelas no SQLite

Nesta etapa vamos acessar a tabela cars dentro do banco e ler os dados que estão salvos.

SELECT * FROM cars;

Você verá os dados inseridos anteriormente

1|Gol|hatch|34000
2|Onix|hatch|46000
3|Camaro|esportivo|12800

Para visualizar um elemento filtrando por um ID especifico você pode utilizar

SELECT * FROM cars WHERE id IS 1;

Isso retorná:

1|Gol|hatch|34000

Etapa 5 – Atualizando uma tabela no SQLite

Vamos agora atualizar a tabela, podemos atualizar modificando os valores ou adicionando novas colunas dentro da tabela.

Use ALTER TABLEpara criar uma nova coluna. Esta nova coluna definirá o ano do veiculo.

ALTER TABLE cars ADD COLUMN age integer;

Agora você terá uma nova coluna chamada age

Atualizando os valores

UPDATE cars SET age = 2015 WHERE id=1; 
UPDATE cars SET age = 2013 WHERE id=2; 
UPDATE cars SET age = 2017 WHERE id=3;

Nesta etapa, você alterou a composição da sua tabela e, em seguida, atualizou os valores dentro dela. Na próxima etapa, você excluirá informações de uma tabela.

Etapa 6 – Excluindo informações no SQLite

Agora você aprenderá a excluir um dado da tabela com base em algum argumento

Neste exemplo, você estará excluindo um carro com base no ano (age), seja menor que 2014.

DELETE FROM cars WHERE age <= 2014;

Você com essa condição excluira o carro de id=2, pois o seu ano é menor que 2014. Vocẽ poderá ver a tabela por completo e atualizada executando o comando

SELECT * FROM cars;

O resultado será

1|Gol|hatch|34000|2015
3|Camaro|esportivo|12800|2017

Conclusão

SQLite é uma ferramenta útil para gerenciamento de banco de dados. Pode-se criar um banco de dados rapidamente e manipulá-lo com vários comandos. Seguindo este tutorial, você agora tem um conhecimento básico do SQLite e está preparado para mergulhar mais fundo neste sistema de gerenciamento de banco de dados.

Além de muitas integrações com diversas linguagens de forma simples, como Python, Node e PHP. Outra fonte confiável de informações seria a documentação oficial.

Como rodar react e nodejs, front e backend

Primeiramente vamos criar uma CloudApp no nosso dashboard. Clique em Cloud App

Você vai entrar numa tela igual a essa, nela você poderá escolher o nome do seu cloud, e o template, no caso NodeJS, você também selecionará o plano e o modelo de cobrança.

As credenciais vão chegar no seu email, algo bem similar a esse:

Acesse a sua maquina via ssh utilizando o comando abaixo substituindo pelos dados do email que você recebeu.

Agora vamos clonar o nosso projeto, para fins ilustrativos, criamos um projeto extremamente simples que possui tanto o backend em Node como o front em React. Link para o projeto

Apos clonar o projeto, vamos visualizar como ficaram as pastas.

OBS: Idealmente aqui, seu projeto de react provavelmente deve estar em outro repositório, separado do Backend.

Vamos Renomear a pasta app para app2 e copiar o nosso front para a pasta principal.

Vamos acessar o nosso backend e instalar as dependencias do projeto

E vamos rodar o backend em background no server utilizando o comando

(npm run start&)

Dê enter.

Vamos voltar para a pasta App e vamos instalar também as dependencias do nosso front.

Agora voltamos para o nosso dashboard e vamos no menu configurações do projeto:

Clique em editar e adicione o comando:

npm start

Clique em salvar e depois verifique se a instalação das dependencias já terminaram e clique em Reiniciar APP.

Apos reiniciar, vamos novamente acessar a maquina via ssh e rodar novamente o comando para iniciar o backend.

Conheça os benefícios de investir em um Servidor Virtual

Diversas empresas estão optando atualmente pela implementação de um servidor virtual, por conta da segurança, praticidade e redução de custos no orçamento. Mas você sabe o que é um Servidor Virtual e como ele funciona?
O Servidor Virtual é um sistema composto de sistema operacional, armazenamento e processador virtual, que funcionam a partir de um dispositivo físico, localizado na
empresa que presta serviços de servidor virtual. Esse tipo de servidor também é conhecido como VPS – “Virtual Private Server”. Muitas pessoas comparam um servidor físico com um serviço de hospedagem, mas existem muitas diferenças entre esses dois recursos. Diferentemente de um serviço de hospedagem no qual diversos usuários compartilham do mesmo recurso, no servidor
virtual cada um dos VPSs é completamente isolados e exclusivos para a utilização por seus usuários. E agora a parte mais importante, as inúmeras vantagens aos seus usuários que um Servidor Virtual podemos citar algumas como:

Redução de Custos
Ao contratar um servidor virtual, a empresa vai realizar uma economia substancial em seu orçamento, diferentemente do servidor físico do qual muitos recursos serão
necessários. Compra de equipamentos, de um software de qualidade, criação de um ambiente, refrigeração, energia elétrica, suporte técnico alocado, entre outros.

Link de Internet de Alta Velocidade
O seu servidor terá um excelente desempenho, sem problemas de acesso e qualidade durante a utilização, pois se conecta a um link de internet que garante a velocidade e a qualidade de acesso! Além disso, você dificilmente sofrerá com problemas de falta de conexão ou interrupções de acesso, que podem ocorrer de forma mais frequente num servidor físico.

Funcionalidades
Um servidor virtual apresenta as mesmas funcionalidades que um servidor dedicado, com a exclusividade de possuir o próprio sistema. Ou seja, diferentemente de um servidor compartilhado, todos os recursos relativos ao seu servidor, estarão à sua disposição, sem a necessidade de compartilhar recursos com outros usuários. Com isso, você aumenta a sua performance e paga pelo que realmente ira utilizar.

Segurança e Proteção
O Servidor Virtual oferece o que há de melhor em sistema e proteção. Ele conta com softwares de qualidade que vão proteger o seu servidor, é possível realizar backups periódicos automáticos para garantir a integridade das suas informações. Nosso servidores possuem nativamente proteção DDOS, ou se o seu servidor for atacado por algum invasor, ele será protegido desse tipo de ataque.

Flexibilidade
Diferente de um servidor físico, onde existe a necessidade de compra de equipamentos, ter um espaço físico maior, no caso do servidor virtual não existe esse fatores, tudo é feito a troca do plano contratado ou upgrade. Essa troca é feita no próprio painel, com alguns cliques, você poderá aumentar e diminuir a quantidade de vcpu, ram e ssd que deseja ter no seu servidor.


Servidor Virtual
Concluindo, O Servidor Virtual é uma ótima opção para quem precisa de um sistema que possa ser facilmente moldado conforme o crescimento da empresa. Para as empresas que necessitam de um sistema estruturado e seguro, flexível e funcional.

Se interessou? Nós podemos te ajudar a ter toda essa infraestrutura de forma simples e fácil, com somente alguns cliques e por um valor acessível, acesse nosso site clicando aqui.

Absamcast – 01 – Por onde Começar com Python ?

Hoje vamos bater um papo com o desenvolvedores Eduardo Daltro e Victor Pereira , vamos entender um pouco do mercado de como começar a se tornar um programador de python, falaremos um pouco também sobre Django e Flask. Esse videocast é patrocinado pela Absam, a melhor plataforma de cloud do Brasil. Temos diversas automações para simplificar o processo de criação da sua infraestrutura. Acesse nosso site http://bit.ly/AbsamYt Conheça nosso Instagram http://bit.ly/absamInstagramyt #Dev #devops #python #tecnologia #cloud #absam #absamcast

Sair da versão mobile