logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Deploy e Sysadmin para desenvolvedores

Colocado por Daniel Lopes na(s) categoria(s): 1, 4, 6, Air, api, app, AR, auto, back, BI, blog, cache, capistrano, class, código, comunidade, configuração, Curso, Cursos, demo, Desenvolvedor, desenvolvedores, Design, Desktop, egenial, Emprego, empresas, entrevista, err, erro, exemplo, falha, Ferramenta, for, fundo, hospedagem, if, int, internet, Linux, mg, O, on, Outros, Pessoal, PHP, podcast, portal, problema, problemas, processo, produto, pt, rails, rest, RIA, Ria’s Geral, ruby, Ruby e Rails, screen, Segurança, servidor, site, Sun, tag, Tema, Teste, UI, UX, Vários, Ved, web, zend em 04 9th, 2010 | Sem comentários

Sábado agora começa o curso de Deploy. A idéia deste curso surgiu conversando com o Carlos Eduardo (sócio da eGenial) e nós percebemos que não existia em lugar algum uma forma centralizada de aprender o que realmente acontece em um um servidor. Rapidamente o Carlos veio com uma estrutura de grade do que poderia ser o curso e eu achei a idéia muito legal.

Faltava encontrar um instrutor, já que alguém com perfil de desenvolvedor (pois é um curso para desenvolvedores) e com profundo conhecimento de sysadmin não é fácil de encontrar. E para esta tarefa ninguém melhor que o Silvestre Mergulhão (Rede Parede, Portal do Voluntário, Improve-it, e etc).

Por que o curso é importante?

Para 2010 a eGenial veio com um planejamento um pouco diferente. Atuando forte na comunidade Ruby, o Carlos e o restante do pessoal criou 4 cursos de Ruby. Todos cursos são complementares e com conteúdo que você não consegue encontrar facilmente (e centralizado) por aí. Ao final dos 4 cursos nós, instrutores, e a eGenial estaremos contribuindo para criar uma comunidade Ruby com mais qualidade.

Os cursos são:

  1. Rails do Básico ao Avançado (que eu ministro)
  2. Ruby e Rails Imersão (que eu também vou ministrar)
  3. BDD on Rails (com o Lucas Húngaro)
  4. Sysdeploy (com o Mergulhão)

Com o primeiro curso você será capaz de criar aplicações Rails já com qualidade e bem elaboradas. Com o imersão Ruby você vai entender como as “mágicas” funcionam e como criar a sua própria magia da forma correta. O curso de BDD é uma obrigação para qualquer desenvolvedor Ruby e é a única forma de garantir manutenção a longo prazo e qualidade em seu sistema (mais para frente faço um post sobre este curso).

E para finalizar, o curso de Sysdeploy é a resposta para todas as pessoas que perguntam sobre performance do Rails mas que na verdade mal sabem o que é uma VPS. Todas as dúvidas sobre performance que aparecem são porque as pessoas não sabem o que é VPS, cluster, escalar vertical ou horizontalmente, proxy balancer, cache, memcache, diferença entre servidor de banco, web e aplicação e etc.

Desenvolver aplicações para internet não é apenas escrever código, UI e testes. É também garantir que estas coisas vão rodar da forma correta, com performance, automatizadas e que não serão invadidas por qualquer script kid que fique “chutando” senhas via ssh.

Vejo muita gente dizendo que hoje é fácil fazer deploy de aplicações Rails pois a forma básica é igual a PHP. Sinceramente que fala uma coisa dessas não tem a menor idéia do que é deploy de aplicações em nenhuma linguagem. Colocar uma aplicação rodando em um shared host é fácil mas você nunca poderá fazer deploy de uma aplicação séria (isso em qualquer linguagem) em um shared host.

Já que cedo ou tarde você não vai poder recorrer mais aos shared hosts você terá que contratar uma VPS (se não sabe o que é isso então é mais um motivo para fazer o curso). E com uma VPS você está sozinho, nada de suporte, ninguém para configurar as coisas para você e ninguém para você colocar a culpa quando sair uma nova versão do Rails e sua app não funcionar.

Temas como configuração de servidores e automatização de deploy são tão difíceis de aprender que o suporte das empresas de hospedagem estão sempre atolados. Os desenvolvedores web de hoje pensam como desenvolvedores desktop, compilei, instalei e pronto. O que na prática a coisa deveria ser totalmente diferente.

Mas eu não vou ser sysadmin

Nem eu quero arrumar emprego de sysadmin, mas a pouco tempo escutei um podcast com um entrevista do Chad Fowler onde ele fala que todos os bons desenvolvedores que ele conhece sabem fazer tudo. Quando ele diz tudo é desenvolver o código, testar, noções de UI, configurar um servidor, escalar este servidor e etc.

Mesmo que você não trabalhe com isto diariamente vai precisar saber onde a sua aplicação deve se comportar de certa forma para se adequar a estrutura dos seus servidores e você não vai poder abrir um ticket ou contratar um sysadmin cada vez que fizer deploy e aplicação não iniciar.

Mas eu já uso Linux e sei instalar uma VPS do zero

Quem bom, mas mais uma vez você está errado. Nenhum sistema respeitável vai depender de ajustes manuais para fazer deploy ou configurar servidores.

Você vai precisar conhecer ferramentas como Capistrano, Chef, Puppet, Moonshine e etc. Ferramentas responsáveis por automatizar o processo de deploy da sua aplicação e criação dos servidores ou você vai querer gastar dois dia para cada deploy? Ou pior, você não tem um servidor de Staging pois demora para deixar tudo sincronizado ( O.O )

E para estas ferramentas funcionarem é preciso ter conhecimento da aplicação, conhecer quais gems são necessárias, como compilar libs binárias e etc. Este tipo de coisa não será um sysadmin de um host contratado o responsável por fazer.

Mas ainda posso aprender sózinho…

O servidor de produção não é um bom local para cometer erros. É bom que tudo funcione de primeira, sem falhas de segurança e principalmente com backups. Este é o tipo de coisa que eu gostaria de ter tido um curso para minimizar os meus erros.

Um exemplo comum: Backups. Raramente quando comento sobre Backups eu escuto uma boa estratégia. Normalmente é dump do banco e um tar.gz da pasta da aplicação, (que as vezes é agendado no cron) e a pessoa baixa isto para um disco local. Esta é a pior estratégia de backup possível.

Seu backup deveria ser feito automaticamente, no mínimo uma vez ao dia e enviado para um outro servidor seguro ou disco remoto em um data center, sem nunca passar pela sua máquina. Existem outras diversas formas de ter um Backup de qualidade, mas a mais comum (do parágrafo anterior) é a mais errado de todas.

E Backup é só um assunto que eu pagaria facilmente para nunca ter problemas, existem vários outros. E para evitar estes problemas que tal pagar pelo curso e aprender com alguém já sabe tudo isto na prática?

Faça já sua matrícula

Veja a grade no site e faça já sua matrícula para subir um nível na sua carrera de desenvolvedor. E melhor ainda, preparar a base para que você possa criar suas próprias aplicações. Ou você vai querer cometer os erros acima em seu próprio produto?

PS: Eu não ganho comissão por curso ein :-)



Veja o post original no blog do autor aqui!  

Daniel Lopes

Escrito por Daniel Lopes @ http://blog.areacriacoes.com.br/
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Processo de desenvolvimento de marca
» Imersão Ruby on Rails
» IMPORTANTE: Proteste rápido, Microsoft insiste em nos tapear

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2790 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com