CoreOS: O que é e como funciona?

Em tempos de computação em nuvem, micro serviços e containers, o CoreOS é uma distribuição Linux que vem ganhando força. Neste post vou compartilhar um pouco do que tenho estudado e descoberto sobre ele com vocês. O CoreOS é um sistema operacional Linux desenvolvido para ser tolerante à falhas, distribuído e fácil de escalar. Ele tem sido utilizado por times de operações e ambientes alinhados com a cultura DevOps. A principal diferença do CoreOS para outras distribuições Linux minimalistas é o fato de ser desenvolvido para suportar nativamente o funcionamento em cluster, possuir poucos binários e não possuir um sistema de empacotamento (como apt-get ou yum). O sistema operacional consite apenas no Kernel e no systemd. Ele depende de containers para gerenciar a instalação de software e aplicações no sistema operacional, provendo um alto nível de abstração. Desta forma, um serviço e todas as suas dependências são empacotadas em um container e podem ser executadas em uma ou diversas máquinas com o CoreOS. ...

5 de maio de 2015 · 10 minutos · Ricardo Martins

Excelente aula de empreendedorismo com Gustavo Caetano

Em mais um vídeo do Foras de Série, uma excelente aula de empreendedorismo com Gustavo Caetano da Samba Tech. Assita aqui:

5 de maio de 2015 · 1 minuto · Ricardo Martins

Docker: Criando suas próprias imagens - Parte III/III

O post de hoje é pra mostrar como criar suas imagens do docker, publicá-las no Docker Hub (Registry) e depois usar/disponibilizar onde precisar. O primeiro passo é instalar o docker: [root@rmartins /]# yum install docker-io Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirror.nbtelecom.com.br * epel: mirror.globo.com * extras: mirror.nbtelecom.com.br * updates: mirror.nbtelecom.com.br Resolving Dependencies --> Running transaction check ---> Package docker-io.x86_64 0:1.4.1-3.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================================================================== Installing: docker-io x86_64 1.4.1-3.el6 epel 4.5 M Transaction Summary ============================================================================================================================================================================================================================================== Install 1 Package(s) Total download size: 4.5 M Installed size: 19 M Is this ok [y/N]: y Downloading Packages: docker-io-1.4.1-3.el6.x86_64.rpm | 4.5 MB 00:02 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : docker-io-1.4.1-3.el6.x86_64 1/1 Verifying : docker-io-1.4.1-3.el6.x86_64 1/1 Installed: docker-io.x86_64 0:1.4.1-3.el6 Complete! Uma vez instalado, vamos iniciá-lo: ...

8 de abril de 2015 · 13 minutos · Ricardo Martins

PimpMyLog: Uma ferramenta web para visualização de logs

Encontrei nesta semana uma ferramenta interessante, o PimpMyLog. Encontrei por acaso no Github, procurando uma ferramenta simples para visualizar logs via browser. Precisava de algo simples, objetivo e funcional. Vou mostrar como funciona. A princípio, por padrão ele já detecta logs do PHP, IIS, Apache e Nginx e nada precisa ser configurado para isso. Se você precisar visualizar logs de sistemas específicos, pode customizar e implementar. Supondo que você já tem um servidor web instalado e funcionando, vamos lá. Lembrando que ele é feito em PHP, então você precisa estar com suporte ao PHP habilitado e funcionando. No meu caso, tenho um Nginx instalado e rodando a configuração padrão, como você pode visualizar aqui: ...

1 de abril de 2015 · 2 minutos · Ricardo Martins

OpsWorks: Trabalhando com cookbooks customizadas - Parte III/III

Finalizando a série de artigos sobre o OpsWorks, neste post veremos como utilizar cookbooks customizadas em nosso ambiente. Para começar, entre na console do OpsWorks e vamos criar nossa segunda stack. Clique em Add Stack e preencha os dados necessários: Clique em advanced para abrir mais opções e definir que utilizaremos cookbooks customizadas. No caso, alterei o campo “Use custom Chef cookbooks” para yes. Neste caso, vou usar o S3 como repositório, então foi preenchido da seguinte forma: ...

23 de março de 2015 · 7 minutos · Ricardo Martins

Nginx: Como desabilitar acesso por IP

Essa é uma dica rápida, mas extremamente útil. Digamos que em um mesmo servidor você tem um nginx configurado com dois sites distintos mas quer evitar que o servidor resposta por acessos via IP. Então abaixo você vai saber como restringir o acesso por nome. Por exemplo, dentro do /etc/nginx/conf.d (supondo que você esteja rodando um CentOS), você tem os arquivos abaixo: – site1.conf server { listen 80; server_name site1.com; root /var/www/site1; access_log /var/log/nginx/site1\access.log; error_log /var/log/nginx/site1\error.log; client_max_body_size 64M; # Deny access to any files with a .php extension in the uploads directory location ~\* /(?:uploads|files)/.\*.php$ { deny all; } location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; } } – site2.conf ...

19 de março de 2015 · 2 minutos · Ricardo Martins

OpsWorks: Tutorial prático de implementação e uso - Parte II/III

Continuando o post anterior sobre o OpsWorks, vou mostrar neste post como criar uma instância com Nginx hospedando um site estático bem simples, apenas para teste e demonstração. Antes de começar, para entender um pouco mais sobre o conceito de cookbooks e recipes do OpsWorks, você pode dar uma lida aqui: http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-db-recipes.html O cookbook é o nosso livro de receitas, contendo todas as nossas recipes (receitas). Uma recipe é onde definimos como queremos que determinada coisa seja feita e/ou configurada no nosso sistema. ...

12 de março de 2015 · 6 minutos · Ricardo Martins

Python: Usando o módulo SimpleHTTPServer

O SimpleHTTPServer é um módulo do python que representa uma alternativa simples e rápida para servir arquivos à partir de um diretório no seu sistema via HTTP sem que seja necessário instalar o Nginx, Apache ou algum outro servidor web. A principal vantagem ao utilizá-lo, é não precisar instalar nada no sistema para disponibilizar algum arquivo via HTTP, uma vez que quase todo sistema linux já vem com o interpretador Python instalado por padrão, e o SimpleHTTPServer é um módulo integrado do python. ...

2 de março de 2015 · 3 minutos · Ricardo Martins

AWS: Criando AMI da sua instância usando o Data Pipeline

Depois do post demonstrando como criar uma AMI da sua instância utilizando um script shell de dentro de um bastion host (http://www.ricardomartins.com.br/aws-script-para-geracao-automatica-de-ami-de-instancia/), neste post vou mostrar como utilizar o DataPipeline para fazer a mesma tarefa. O Data Pipeline é um serviço web que ajuda na automação de atividades de movimentação, integração e processamento de dados entre os recursos de computação e storage. Em resumo o que faremos será criar um Pipeline que irá rodar os comandos necessários dentro do agendamento escolhido. Para isso o Data Pipeline irá iniciar uma instância t1.micro para executar o que definirmos e ao término ele irá terminar a instância. Com isto, você elimina por exemplo a necessidade de manter uma instância ligada 24 horas por dia apenas para executar scripts e/ou tarefas administrativas, reduzindo custos e automatizando tarefas. Basta você criar os scripts e configurar o Data Pipeline para executar nos horários determinados. Assim, você irá pagar apenas pela quantidade de horas que a instância estiver ligada para rodar os scripts. Levando em consideração que a execução é muito rápida e seus scripts rodariam em alguns poucos minutos, como é cobrada a hora cheia, digamos que você pagaria apenas pelo preço de uma hora de uma instância t1.micro. ...

24 de fevereiro de 2015 · 3 minutos · Ricardo Martins

Nginx: Configurando como load balancer

Hoje vou mostrar um recurso interessante do Nginx para balanceamento de carga. O Nginx possui suporte para três mecanismos de balanceamento de carga: – round-robin: As requisições são distribuidas no modelo round-robin onde a distribuição é feita de forma circular entre os parcicipantes do conjunto. Ou seja, se tivermos dois componentes, funciona assim: 1 – 2 – 1 – 2… Se tivermos três, temos o seguinte funcionamento: 1 – 2 – 3 – 1 – 2 – 3… O round-robin é o modelo padrão de funcionamento; ...

20 de fevereiro de 2015 · 2 minutos · Ricardo Martins