From dfa05a268b3640ddbe0b906ea174453144bce283 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 15 Nov 2015 23:50:11 -0200 Subject: DevOps e social coding --- aulas/clientes.rst | 8 +++++++ aulas/devops.rst | 55 +++++++++++++++++++++++++++++++++++++++++-------- aulas/encerramento.rst | 12 +++++++++++ aulas/reinventando.rst | 1 + aulas/versionamento.rst | 33 +++++++++++++++++++++++++++++ 5 files changed, 100 insertions(+), 9 deletions(-) diff --git a/aulas/clientes.rst b/aulas/clientes.rst index c2828d1..ccf7416 100644 --- a/aulas/clientes.rst +++ b/aulas/clientes.rst @@ -72,3 +72,11 @@ A competição no mercado pode forçar a redução do valor/hora. Porém, a redu * MEI: até R$60 mil por ano e apenas R$50 mensais de despesas (dados de 2015). * Simples Nacional: sua empresa cresceu! * CLT e CLT Flex: preferível quando você tiver uma relação estável com um empregador, porém depende do cliente oferecer essa opção. + +8.5 - Atividades +---------------- + +8.6 - Referências +----------------- + +* `Portal do Empreendedor `_. diff --git a/aulas/devops.rst b/aulas/devops.rst index 45ea0c5..a4c845a 100644 --- a/aulas/devops.rst +++ b/aulas/devops.rst @@ -12,10 +12,50 @@ Imagens: * https://upload.wikimedia.org/wikipedia/commons/b/b5/Devops.svg -5.1 Ambientes reprodutíveis +5.2 Ambientes reprodutíveis --------------------------- -5.2 - Vagrant +5.2 - Ambientes +~~~~~~~~~~~~~~~ + +* Um software depende do seu ambiente para funcionar. +* Se o ambiente muda, o software pode parar de operar corretamente. +* O primeiro princípio DevOps é manter um ambiente de hospedagem reprodutível. + +5.2 - Reprodutibilidade +~~~~~~~~~~~~~~~~~~~~~~~ + +* Automação básica para criar um ambiente de hospedagem a partir de elementos básicos: máquinas virtuais, repositório do código, etc. +* Provision (provisionamento): criação do ambiente de hospedagem. +* Deploy (disponibilização): envio do software para o ambiente. + +5.2 - Estágios +~~~~~~~~~~~~~~ + +No caso de uma arquitetura de serviços, temos os seguintes ambientes: + +* Desenvolvimento: em geral na máquina do(a) desenvolvedor(a). +* Testes e estágio (staging): onde versões do software são hospedadas antes de irem ao ar. +* Produção: onde o software está realmente hospedado. + +5.3 - Máquinas virtuais +----------------------- + +5.3 - Paradigmas +~~~~~~~~~~~~~~~~ + +* Um computador é uma máquina de Turing, podendo simular qualquer máquina, inclusive uma máquina de Turing. +* Uma máquina virtual nada mais do que um software simulando o comportamento parcial ou integral de um computador. + +5.3 - Implementações +-------------------- + +* Contêiners: chroot, Linux-VServer, OpenVZ, docker. +* Paravirtualizadores: Xen. +* Virtualizadores: KVM, VirtualBox. +* Gestores de nuvem: OpenStack. + +5.4 - Vagrant ------------- Roteiro do screencast: @@ -28,28 +68,25 @@ Roteiro do screencast: cd ~/projetos/blogatico vagrant init -5.3 - KVM, docker, chroot e afins ---------------------------------- - -5.4 - Integração contínua +5.5 - Integração contínua ------------------------- - Integração contínua usando o `Travis CI `_. -5.5 - Fazendo o deploy +5.6 - Fazendo o deploy ---------------------- - SSH e rsync. - Deploy via git. -5.6 Atividades +5.7 Atividades -------------- #. Instale o vagrant. #. Crie uma máquina virtual para desenvolver o seu projeto. #. Crie uma conta no Travis CI. -5.7 - Referências +5.8 - Referências ----------------- - `Trilha sonora: Daft Punk - TRON Legacy `_. diff --git a/aulas/encerramento.rst b/aulas/encerramento.rst index ca1124f..7218703 100644 --- a/aulas/encerramento.rst +++ b/aulas/encerramento.rst @@ -4,12 +4,24 @@ 9.1 - Metodologias e técnicas de produtividade ---------------------------------------------- +* Organização para fluidez. +* Busque uma metodologia pessoal. +* Saiba se adaptar a diversas metodologias em equipe. + 9.2 - Ambientes de desenvolvimento eficientes --------------------------------------------- +* Deixe seu ambiente de desenvolvimento afinado com o seu trabalho. +* Descubra quais são as ferramentas fundamentais para você. +* Mantenha templates e scripts de produtividade para facilitar a prototipagem de novos projetos e a execução de tarefas cotidianas. + 9.3 - Licenças de software -------------------------- +* Qualquer conteúdo é protegido por copyright por padrão. +* Licenças de software livre e aberto abrandam o copyright, aproximando seu software do copyleft. +* Existem diversas licenças, cada uma delas mais apropriadas dependendo de como o software se integrará com outros softwares e com a comunidade. + 9.4 - Controle de versão e social coding ---------------------------------------- diff --git a/aulas/reinventando.rst b/aulas/reinventando.rst index 524a576..c599aaf 100644 --- a/aulas/reinventando.rst +++ b/aulas/reinventando.rst @@ -14,6 +14,7 @@ 6.2 - Antipatterns ------------------ +* Hype: cuidado com o ciclo dos modismos! * Linearidade: o mito da pessoa-mês (Lei de Brooks). * Inferno de dependências diff --git a/aulas/versionamento.rst b/aulas/versionamento.rst index 115321f..2dce464 100644 --- a/aulas/versionamento.rst +++ b/aulas/versionamento.rst @@ -224,12 +224,45 @@ Roteiro do screencast: 4.8 - Social coding (gitlab, github, etc) ----------------------------------------- +4.8 - Compartilhamento básico de código +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* O git e outros sistemas similares foi feito para facilitar o compartilhamento de código e o desenvolvimento colaborativo. +* Isso é feito através da disponibilização pública dos repositórios, que podem ser clonados ou terem seu conteúdo copiado para outros repositórios. + +Roteiro do screencast: + +:: + + git pull origin master + +Imagens: + +* Ciclo de desenvolvimento colaborativo. + +4.8 - Redes sociais de código +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Existem serviços que facilitam a criação de repositórios e a interação entre desenvolvedores(as). +* Exemplos: BitBucket, Github, Gitlab. + 4.9 - Github: criando e forkando um projeto ------------------------------------------- +Nesta aula será apresentado o Github e será mostrado como criar e forkar um projeto. + +Roteiro do screencast: + +* Criação de um repositório para o "blogatico". +* Forkando o projeto "boaspraticas". + 4.10 - Github: fazendo um pull request -------------------------------------- +Roteiro do screencast: + +* Fazendo um pull request no repositório do "blogatico". + 4.11 - Atividades ----------------- -- cgit v1.2.3