Tipos de software

Você sabe o que é software? Hoje em dia a maioria das pessoas acham que entendem de software, mas isso é verdade?

Softwares consistem em:

  • Instruções.
  • Estrutura de dados para manipular informações.
  • Informação descritiva, descrevendo a operação e o uso dos programas.

Uma dúvida de quando se começa no mundo da programação é o tipo de software que irá desenvolver, sabemos que podemos ir para a área de jogos, desenvolvimento web, desenvolvimento mobile e muitas outras. Existem muitas categorias, vamos ver um pouco delas?

  1. Software de sistema: Conjunto de programas feito para atender a outros programas. Exemplos de softwares assim são os sistemas operacionais, compiladores e editores. A área de software de sistema é caracterizada por grande interação com o hardware; uso intenso por múltiplos usuários; operação concorrente; compartilhamento de recursos e gestão de processos; estruturas de dados complexas e múltiplas interfaces externas.
  2. Software de aplicação: Programas sob medida que solucionam uma necessidade específica de negócio. Processam dados comerciais ou técnicos para ajudar operações comerciais ou tomada de decisão administrativa.
  3. Software científico/ de engenharia: Caracterizado de algoritmos de processamento numérico pesado. Esses softwares podem ser da área de astronomia, biologia molecular, vulcanologia, meteorologia, fabricação automatizada, entre outros.
  4. Software embutido: Executa funções limitadas e específicas (por exemplo o controle de painel de uma maquina de lavar roupas).
  5. Software para linha de produtos: Projetado para prover capacidade específica de utilização por muitos clientes diferentes. Podendo se focalizar em um mercado limitado ou para consumo em massa.
  6. Aplicações para a web: Podendo ser apenas um conjunto de arquivos de hipertexto ou sofisticados ambientes computacionais podendo integrar banco de dados corporativos e aplicações comerciais. É um tipo de software que só vem aumentando nos últimos anos.
  7.  Software de inteligência artificial: Faz uso de algoritmos não numéricos e sim lógicos para solucionar problemas complexos que não são passíveis de computação ou de analise direta. Aplicações nesta área incluem: robótica, reconhecimentos de padrões e jogos.

 

Armazenamento em nuvem x Backup em nuvem

Ainda existem muitas pessoas que não conhecem a diferença entre Backup e Armazenamento em Nuvem, a grande maioria sempre contrata o Armazenamento, mesmo precisando apenas de um serviço de Backup.

Serviços como Google Drive, One Drive, Dropbox são apenas serviços de armazenamento em Nuvem. Eles oferecem um meio de armazenar arquivos em algum local físico no mundo.

Se diferencia do Backup em nuvem porque esses arquivos são armazenados e acessados na Nuvem, o serviço de Armazenamento pode sim ser usado como Backup, mas não é muito aconselhável, já que se pode ter um serviço de Backup que é muito mais completo, onde existem rotinas de Backups, maior segurança no espaço físico onde os arquivos estão hospedados.

Se deve entender os dois e saber qual irá atender melhor a sua empresa.

Configuração de domínio

Vamos aprender a configurar os NameServers no painel da Absam ? É muito simples, mas as vezes pode existir dúvida de como chegar até a área de configuração.

  1. Vamos logar no painel;
  2. No menu no canto esquerdo vamos procurar por “Serviços” e depois vamos em “Meus domínios”;
  3. Ao lado do domínio desejado, vamos na opção “Manage”;
  4. Vamos na aba “NameServers”;

Aqui podemos fazer toda a configuração de DNS do seu domínio, lembrando que o tempo de propagação das alterações são de 24 horas.

Replicação de um Bancos de Dados – Parte II

Agora que já entendemos um pouco sobre como funciona a Replicação, vamos ao que realmente interessa. Neste exemplo vou mostrar utilizando o MySQL, utilizando uma replicação Master-Slave.

– Master-Slave

Primeiro vamos configurar o master, para isso devemos pegar o nosso log binário:

Vamos abrir o terminal MySQL e digitar:

SHOW GLOBAL VARIABLES WHERE Variable_name = 'log_bin';

Vamos ter o retorno parecido com esse:

+---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | log_bin       | ON    |
  +---------------+-------+

Se não estiver "ON", devemos alterar o arquivo "my.ini" que fica localizado em "C:\ProgramData\MySQL\MySQL Server X.X" ( X.X será a versão do MySQL instalado ).

Adicionem as seguintes linhas no final do arquivo:

server-id=1
log-bin=”C:/ProgramData/MySQL/MySQL Server X.Y/Data/bin-log”

Salve e verifique se o Log esta Online.

 

Agora vamos criar um usuário responsável de copiar os dados do Master.

Ainda no terminal MySQL vamos digitar a seguinte linha:

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%' IDENTIFIED BY '123';

 

Agora vamos configurar nosso servidor Slave:

Vamos abrir o arquivo “my.ini”, localizado em “C:\ProgramData\MySQL\MySQL Server X.X” e alterar o “Server-id” para um número diferente do outro servidor.

Com o Terminal do MySQL aberto, vamos digitar o seguinte comando:

SHOW MASTER STATUS;

Vamos ter um retorno parecido com este:

+----------------+----------+--------------+------------------+
  | File           | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +----------------+----------+--------------+------------------+
  | bin-log.000001 |      005 |              |                  |
  +----------------+----------+--------------+------------------+

Vamos gravar esses dados, eles server para fazer a sincronização.

Vamos digitar as seguintes linhas no terminal:
CHANGE MASTER TO
         MASTER_HOST='IP do MASTER'      ,
         MASTER_USER='replica'           ,
         MASTER_PASSWORD='123'           ,
         MASTER_LOG_FILE='bin-log.000001',
         MASTER_LOG_POS=005              ;

Lembre-se de alterar os o MASTER_LOG_FILE e MASTER_LOG_POS para os dados salvos no passo anterior.

Com tudo configurado já podemos iniciar a sincronização, para isso basta executar no terminal:

START SLAVE;
SHOW SLAVE STATUS \G
 

Se tudo ocorrer bem vamos ter o retorno de um tela com todas as informações da replicação.

Replicação de um Banco de Dados

A Replicação de um Banco de Dados é muito importante para todo tipo de empresa. Mas o que é uma replicação? Como o nome já diz é uma réplica, uma réplica de um Banco de Dados para outro servidor, fazendo assim com que se tenha mais segurança com os seus arquivos e diminuindo as chances de um downtime no seu site.

Existem dois tipos de replicação, Master-Master e Master-Slave. As diferenças entre elas são muito grandes e a escolha vai depender muito da necessidade de funções para sua empresa.

 

Vamos entender como funciona cada um deles:

A Replicação Master-Slave é mais aconselhável para ser usada, pois como o Slave serve apenas para leitura, somente irá receber as atualizações do Master. Isso faz com que ele se torne melhor para sites ou sistemas de consultas.

 

Já o Master-Master não é muito aconselhável, ele faz com que os servidores sejam tanto Master quanto Slave, ou seja, vamos receber atualizações dos dois servidores.

Digamos que eu apague uma determinada tabela no Servidor 1, a mesma tabela será apagada Servidor 2. O mesmo acontece se eu apagar a tabela no Servidor2, se eu apago uma tabela no Servidor 2, a mesma será apagada no Servidor 1, pois o Servidor 2 não funciona apenas com o recebimento de dados.

 

Em outra oportunidade vamos explicar como instalar os dois tipos de replicação, aprofundando mais sobre a diferença.

Instalando MySQL e PHPMyAdmin

Hoje vamos mostrar como instalar o MySQL e o PHPMyAdmin, é uma instalação simples e são ferramentas muito úteis para quem precisa de um bom gerenciamento de Banco de Dados. Vamos lá?

Vamos instalar o MySQL, o Apache e o PHP (Caso já tenha é bom verificar se os estão atualizados):
$ sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server

Na instalação do MySQL irá solicitar uma senha para o SGDB, escolha uma senha segura e é só prosseguir.

Pronto, note que se acessar o IP do servidor onde foi instalado o Apache já irá ter retorno.

Agora vamos a instalação do PHPMyAdmin:
$ sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Na instalação do PHPMyAdmin, vai ser solicitado qual servidor web nós estamos utilizando, no estamos utilizando o Apache, basta selecionar e prosseguir. Vai ser solicitado a senha que definimos e depois uma senha para acesso ao PHPMyAdmin.

Vamos copiar a pasta do PHPMyAdmin para o diretório onde vai ficar hospedado todos os seus sites:
$ sudo cp -R /usr/share/phpmyadmin /var/www

Não é necessário, mas eu sempre gosto de reiniciar o Apache depois de fazer a instalação:
$ sudo /etc/init.d/apache2 restart

Pronto, para ter acesso:
http://seuip/phpmyadmin/

Lembrando que as credenciais de acesso do PHPMyAdmin são:
Usuário: root
Senha: ( A senha que você definiu na instalação )

Criando RAID a partir do compartilhamento de rede

Hoje vamos explicar como usar compartilhamentos SMB remotos, a fim de construir um dispositivo RAID. A ideia é simples, usamos todos os recursos de armazenamento em nossa LAN, para construir um compartilhamento central NFS/SMB ( pode ser usado para nuvens privadas como CloudStack ). Testamos com o Debian 6 x86_64, mas você vai encontrar todos os comandos semelhantes em todas as distribuições Linux.

Lembrando que está configuração é experimental e ainda não deve ser usada.

1. Criamos um arquivo em cada dispositivo, executamos em todos os nodes, altere [X]  para o número do node:

$ dd if=/dev/zero of=/myshare/node[X].img bs=1M count=1024

2.  Agora vamos trabalhar com o servidor central:

  • Criamos o diretório para armazenar todas as montagens SMB:

$ mkdir -p /nodeshares/node{1,2,3}

  • Montamos cada dispositivo, observe que a senha é definida pelo comando smbpasswd:

$ mount -t cifs -o username=myname,password=1 //192.168.100.11/myshare /nodeshares/node1

$ mount -t cifs -o username=myname,password=1 //192.168.100.12/myshare /nodeshares/node2

$ mount -t cifs -o username=myname,password=1 //192.168.100.13/myshare /nodeshares/node3

3. Agora vamos para parte divertida, criaremos um loop a partir dos arquivos que criamos na etapa 2, note que os arquivos realmente estão em um host remoto:

$ losetup -v /dev/loop1 /nodeshares/node1/node1.img
$ losetup -v /dev/loop2 /nodeshares/node2/node2.img
$ losetup -v /dev/loop3 /nodeshares/node3/node3.img

4. Criamos o RAID de todos os dispositivos compartilhados:

Criamos o dispositivo RAID nível 5 utilizando os loops, lembrando é a ordem dos dispositivos que importa:

$ mdadm –create /dev/md0 –level=5 –raid-disks=3 /dev/loop1 /dev/loop2 /dev/loop3

Vamos ver o processo de criação a partir do mdstat:

$ cat /proc/mdstat

5. Criamos uma partição em md1, montamos e exportamos a partição em NFS ou SMB de volta para rede:

  • Inicialização:

A fim de manter o RAID uma vez que iniciamos o servidor mestre, teremos que dizer ao kernel para procurar qualquer dispositivo MD e em seguida atualizar para mdadm. Vamos editar o arquivo /etc/mdadm/mdadm.conf e adicionar os dispositivos de loop adicionando está linha:

DEVICE /dev/loop*

Em seguida, executamos este comando para adicionar o novo RAID:

$ mdadm –detail –scan >> /etc/mdadm/mdadm.conf

  • O que acontece quando o node é reiniciado ou desligado:

O mdadm vai ver o dispositivo de loop como defeituoso e vai marcar como uma falha, podemos ver neste exemplo:

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 loop3[3](F) loop1[0] loop2[1]
1047552 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]

  • Dispositivos não utilizados:

Para reparar precisamos remover o dispositivo com defeito:

$ mdadm –manage /dev/md0 –remove /dev/loop3
mdadm: hot removed /dev/loop3 from /dev/md1

Depois de remontar o node, podemos adicionar o dispositivo de volta para a matriz:

$ mdadm –manage /dev/md0 –add /dev/loop3
mdadm: added /dev/loop3

 

Instalando o Docker

Já explicamos um pouco sobre o Docker em nossos posts, hoje vamos aprofundar um pouco mais mostrando passo a passo de como instalar o Docker sem erros.

Vamos lá?

Nesse exemplo estamos utilizando o Ubuntu 14.04 (LTS), mas pode ser realizado com outras versões. Vamos ter algumas alterações em outras versões, vamos mostrar cada uma ao longo do tutorial.

Primeiramente vamos precisar de acesso root, ou basta utilizar o comando “sudo” antes de cada comando para ter privilégios root.

Vamos atualizar as informações do pacote:

$ sudo apt-get update

Agora vamos garantir que os certificados e o pacote apt-transport-https estejam funcionando corretamente:

$ sudo apt-get install apt-transport-https ca-certificates

Feito isso vamos adicionar uma nova chave GPG:

$ sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Vamos até o diretório “/etc/apt/sources.list.d” e verificamos se existe um arquivo chamado “docker.list”. Se não existir, basta criar o arquivo.

Devemos editar esse arquivo, vou utilizar um editor simples e nativo do Ubuntu, o nano.

$ nano docker.list

Entrando no editor vamos apagar todas as linhas existentes no arquivo.

Agora entra a parte da versão do Ubuntu que você está utilizando, vou mostrar com a versão Trusty 14.04 que é a que estou utilizando e em seguida mostro como fica em outras versões. Vamos adicionar a seguinte linha:

deb https://apt.dockerproject.org/repo ubuntu-trusty main

Lembrando que essa linha é para a versão 14.04 do Ubuntu, para outras versões basta seguir essa lista:

Ubuntu Precise 12.04 (LTS):

deb https://apt.dockerproject.org/repo ubuntu-precise main

Ubuntu Wily 15.10:

deb https://apt.dockerproject.org/repo ubuntu-wily main

Ubuntu Xenial 16.04 (LTS):

deb https://apt.dockerproject.org/repo ubuntu-xenial main

Feito isso vamos salvar o arquivo, se estiver utilizando o nano basta apertar CTRL+X, digitar Y e da um Enter.

Vamos retirar o repositório lxc-docker caso exista, o Ubuntu vem por padrão com este repositório, mas não vai ser ele que iremos utilizar.

$ sudo apt-get purge lxc-docker

Agora vamos ter que garantir que o APT está utilizando o repositório correto:

$ apt-cache policy docker-engine

Feito isso vamos instalar os pacotes recomendados e já podemos instalar o docker:

$ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

Vamos novamente atualizar:

$ sudo apt-get update

Espere acabar de instalar os pacotes e finalmente o docker poderá ser instalado sem nenhum erro, basta executar o comando:

$ sudo apt-get install docker-engine

Vamos verificar se o serviço já está rodando:

$ sudo service docker start

Vai retornar a seguinte mensagem: “start: Job is already running: docker”, isso significa que o docker está em execução.

Docker instalado com sucesso.

Nos próximos tutoriais vamos mostrar como executar os container e nos familiarizar mais com o Docker.

 

Abraço.

 

 

 

Instalando o painel VestaCP

Neste tutorial iremos ensinar como instalar e configurar o painel VestaCP. O painel VestaCP possuí muitos recursos que permitem que você hospede e gerencie seus sites com facilidade em seu Cloud Server. Sendo funcional em RedHat, CentOS e Ubuntu, mas no tutorial de hoje iremos mostrar-lhe como instalar e configura-lo no CentOS.  Então vamos para o tutorial:

Primeiro passo – Faça o login em seu servidor, como root.

Segundo passo – Utilize o comando “curl” para fazer o download do script de instalação do painel.

# curl -O http://vestacp.com/pub/vst-install.sh

Terceiro passo – Assim que completar o download, execute os seguintes comandos.

# chmod +x vst-install.sh

# bash vst-install.sh

Quarto passo – O instalador irá pedir para confirmar a desativação do SELinux e do Iptables, aperte Y e confirme. O instalador também irá pedir um endereço de email válido, onde enviarão as informações de acesso, digite o endereço de email e confirme.

Quinto passo – Após a finalização da instalação, aparecerá os dados de acesso do painel VestaCP.

Também é possível visualizar os mesmos dados em sua Caixa de Entrada.

Sexto passo – Para acessar ao VestaCP, basta abrir o seu navegador de preferência e inserir o URL recebido, o login e a senha.

E pronto, seu painel VestaCP foi instalado com sucesso! Agora é só adicionar os seus sites!

Criando um Virtual Private Network (VPN)

Olá Senhores,

Hoje mostrarei passo a passo de como criar um servidor VPN em seu sistema.

Irei demonstrar utilizando o Windows Server 2008, mas vale lembrar que é praticamente a mesma coisa para as outras linhas do Windows Server. Praticamente todo o processo é feito no Server Manager.

Vamos lá?

No Server Manager no canto direito vão ter algumas opções, clique em “Funções” e no canto direito procure por “Adicionar funções”.

Na janela que vai abrir clique em “Próximo”, procure e selecione a opção “Serviços de Acesso e Diretiva de Rede”, clique em próximo nas duas janelas seguintes.

Na aba “Serviços de Função”, selecione as seguintes opções:

Depois é só avançar e na próxima aba clicar em “Instalar” e depois “Fechar”.

 

Agora vamos habilitar o nosso servidor VPN:

Ainda no Server Manager clicamos no “+” na opção “Função”, apareceu à opção “Serviços de Acesso e Diretiva de Rede”, vamos clicar no “+” novamente.

Vamos clicar com o botão direito do mouse em “Roteamento e Acesso Remoto” e vamos na opção “Configurar e Habilitar Roteamento e Acesso Remoto”.

Siga esses passos no assistente que irá abrir:

  1. Clique em avançar;
  2. Selecione “Configuração personalizada” e clique em avançar;
  3. Selecione “Acesso VPN” e vá em avançar;
  4. Pode clicar em concluir.

 

Tudo certo, agora só falta configurar o nosso servidor:

Vamos clicar novamente com o botão direito do mouse em “Roteamento e Acesso Remoto”, mas dessa vez vamos na opção “Propriedades”.

Na janela que irá abrir você vai na aba “IPv4”, seleciona “Pool de endereços estáticos” e clica em “Adicionar”.

Agora você vai atribuir o Endereço IP inicial e final, no meu caso utilizei o IP Local do servidor, clicamos em “Ok” nas duas janelas seguintes.

 

Lembrando que se deve gerenciar as Diretivas de Rede do servidor, por padrão vem duas e elas precisam ser habilitadas.

Para isso basta seguir os seguintes passos:

  1. Ainda no Server Manager você vai clicar no “+” ao lado da opção “NPC (Local)” e clica em “Diretivas de Rede”;

2. Nas opções que vão aparecer, vamos clicar com o botão direito e seguir até “Propriedades”;

3. Na janela que irá abrir, basta selecionar a opção “Conceder acesso. Conceder acesso se a solicitação de conexão atender a esta diretiva.” e clicar em “OK”;

4. Repita isso na outra diretiva;

5. Pronto, seu servidor VPN já está pronto para uso.

 

Uma observação importante é que muito se pode aproveitar das diretivas, vale a pena verificar todas as opções e escolher a que melhor atende a sua necessidade.

 

Sair da versão mobile