Posts com o tag ‘subversion’

8dez2008

Hospedagens Linux: tudo novo desde agosto!

(6) comentários

Linux é na Locaweb!Nossa hospedagem compartilhada funciona atualmente da seguinte forma: cada servidor tem centenas de clientes. Quando a máquina “enche”, cria-se uma nova máquina e assim por diante.

Isso tem diversas consequências, a primeira é que as máquinas cheias vão ficando para trás em termos de atualização. Tudo que se faz de novo tende a aparecer primeiro nas máquinas mais novas (e hoje instalamos servidores novos literalmente toda semana). Dependendo do que estamos fazendo, podemos replicar na maioria das máquinas antigas também. Porém, nem sempre isso é possível pois clientes que já estão com tudo funcionando, de repente podem ter seu site quebrado se atualizamos o PHP de 4 para 5 nas máquinas antigas, por exemplo. É um processo que precisamos sempre tomar muito cuidado.

Desde agosto deste ano, fizemos um grande esforço e colocamos várias novidades, mas fico surpreso que muitas pessoas ainda não notaram essa diferença. Dentre as principais novidades estão:

  • - Suportamos ambos PHP 4 e PHP 5. Mais do que isso, nas máquinas novas os clientes agora podem editar seus próprios arquivos .htaccess e php-cgi.ini. Ou seja, você pode configurar o PHP como quiser na sua conta. Isso permite que praticamente toda aplicação PHP como WordPress, Joomla, Drupal e outros mais rodem sem problemas.
  • - Acho que esse é o que mais apareceu, mas suportamos Ruby on Rails e Merb via o módulo Phusion Passenger. Tudo que você precisa para subir seu website em Ruby está disponível. Aliás, sempre estamos atualizando todas as nossas RubyGems, ou seja, neste momento já temos o novíssimo Rails 2.2 instalado em nossas hospedagens.
  • - Mais do que isso, a idéia é que você possa rodar tudo que há de mais moderno em termos de open source e nesse caso Python também entrou na lista faz algum tempo. Com a configuração de WSGI você pode colocar suar aplicações em Django, Pylons, etc.
  • - Por incrível que pareça, muita gente não sabia, mas faz tempo que nossas hospedagens já suportam SSH (e SFTP, e SCP). Portanto, sempre use SSH para gerenciar sua conta e sempre use SCP para transferir arquivos. Tudo criptografado e seguro.
  • - Outra coisa que pouca gente viu é que todas as máquinas novas já vem pré-instaladas com GIT, o mais moderno versionador de código-fonte distribuído. Como GIT pode ser facilmente exposto via SSH, a configuração necessária é basicamente zero. Apenas adicione a chave pública de SSH no arquivo ~/.ssh/authorized_keys de sua conta e pronto.
  • - Também já suportamos Subversion. Esse de fato é culpa minha porque ainda não fiz um blog post explicando como usar. Mas sim, já suportamos faz algum tempo.
  • - Além disso contamos também com o Instalador de Aplicativos, para instalar de forma trivial aplicativos famosos como WordPress, Drupal, Joomla e muitos outros. Basta acessar pelo seu Painel de Controle e com poucos cliques sua aplicação já estará instalada e pronta para usar.
  • - E para o acabamento final, ainda temos ferramentas de SEO para ajudar ainda mais o sucesso da sua aplicação.

Hospedagens compartilhadas funcionam todas mais ou menos da mesma forma. Mas a Locaweb está preparando grandes surpresas ainda para 2009 que vão melhorar ainda mais nossa plataforma e sua experiência de usuário. O objetivo é de criar no ano que vem a melhor hospedagem Linux/Open Source sem nenhuma margem para dúvidas.

Para saber se sua hospedagem já conta com todas essas novidades você pode fazer da seguinte maneira: faça login via SSH e digite “rails -v”. Se a resposta for “Rails 2.2.2″ ou superior, você já está na nova hospedagem. Ou digite o comando “cat /etc/redhat-release” se a versão for “5.2″ ou superior também já está nas máquinas novas.

Quem ainda está em máquinas antigas, pode pedir migração para máquinas novas, mas apenas caso realmente precise de algum dos novos recursos.

6dez2008

Hospedagens Linux: Tudo novo desde Agosto!

(5) comentários

Nossa hospedagem compartilhada funciona atualmente da seguinte forma: cada servidor tem centenas de clientes. Quando a máquina “enche”, cria-se uma nova máquina e assim por diante.

Isso tem diversas consequências, a primeira é que as máquinas cheias vão ficando para trás em termos de atualização. Tudo que se faz de novo tende a aparecer primeiro nas máquinas mais novas (e hoje instalamos servidores novos literalmente toda semana). Dependendo do que estamos fazendo, podemos replicar na maioria das máquinas antigas também. Porém, nem sempre isso é possível pois clientes que já estão com tudo funcionando, de repente podem ter seu site quebrado se atualizamos o PHP de 4 para 5 nas máquinas antigas, por exemplo. É um processo que precisamos sempre tomar muito cuidado.

Desde agosto deste ano, fizemos um grande esforço e colocamos várias novidades, mas fico surpreso que muitas pessoas ainda não notaram essa diferença. Dentre as principais novidades:

  • Suportamos ambos PHP 4 e PHP 5. Mais do que isso, nas máquinas novas os clientes agora podem editar seus próprios arquivos .htaccess e php-cgi.ini. Ou seja, você pode configurar o PHP como quiser na sua conta. Isso permite que praticamente toda aplicação PHP como WordPress, Joomla, Drupal e outros mais rodem sem problemas.
  • Acho que esse é o que mais apareceu, mas suportamos Ruby on Rails e Merb via o módulo Phusion Passenger. Tudo que você precisa para subir seu website em Ruby está disponível. Aliás, sempre estamos atualizando todas as nossas RubyGems, ou seja, neste momento já temos o novíssimo Rails 2.2 instalado em nossas hospedagens.
  • Mais do que isso, a idéia é que você possa rodar tudo que há de mais moderno em termos de open source e nesse caso Python também entrou na lista faz algum tempo. Com a configuração de WSGI você pode colocar suar aplicações em Django, Pylons, etc.
  • Por incrível que pareça, muita gente não sabia, mas faz tempo que nossas hospedagens já suportam SSH (e SFTP, e SCP). Portanto, sempre use SSH para gerenciar sua conta e sempre use SCP para transferir arquivos. Tudo criptografado e seguro.
  • Outra coisa que pouca gente viu é que todas as máquinas novas já vem pré-instaladas com GIT, o mais moderno versionador de código-fonte distribuído. Como GIT pode ser facilmente exposto via SSH, a configuração necessária é basicamente zero. Apenas adicione a chave pública de SSH no arquivo ~/.ssh/authorized_keys de sua conta e pronto.
  • Também já suportamos Subversion. Esse de fato é culpa minha porque ainda não fiz um blog post explicando como usar. Mas sim, já suportamos faz algum tempo.
  • Além disso contamos também com o Instalador de Aplicativos, para instalar de forma trivial aplicativos famosos como WordPress, Drupal, Joomla e muitos outros. Basta acessar pelo seu Painel de Controle e com poucos cliques sua aplicação já estará instalada e pronta para usar.
  • E para o acabamento final, ainda temos ferramentas de SEO para ajudar ainda mais o sucesso da sua aplicação.

Hospedagens compartilhadas funcionam todas mais ou menos da mesma forma. Mas a Locaweb está preparando grandes surpresas ainda para 2009 que vão melhorar ainda mais nossa plataforma e sua experiência de usuário. O objetivo é de criar no ano que vem a melhor hospedagem Linux/Open Source sem nenhuma margem para dúvidas.

Para saber se sua hospedagem já conta com todas essas novidades você pode fazer da seguinte maneira: faça login via SSH e digite “rails -v”. Se a resposta for “Rails 2.2.2″ ou superior, você já está na nova hospedagem. Ou digite o comando “cat /etc/redhat-release” se a versão for “5.2″ ou superior também já está nas máquinas novas.

Quem ainda está em máquinas antigas, pode pedir migração para máquinas novas, mas apenas caso realmente precise de algum dos novos recursos. 

27out2008

Evolução de Versionamento de Código: GIT

(13) comentários

Criador do GitUma coisa que não é mais sequer discutível é: todo projeto de software, independente do tamanho, precisa de um sistema de versionamento de código. Isso é imperativo. Mesmo com apenas um desenvolvedor, controlar as revisões, versões e modificações no projeto não é algo que se possa considerar opcional.

O problema seguinte é: qual sistema de versionamento? A maioria dos desenvolvedores hoje está acostumado com CVS, Subversion ou mesmo Microsoft SourceSafe. Eles ajudam, com certeza, mas felizmente hoje sabemos que é possível fazer muito melhor, na realidade, ordens de grandeza melhor.

Linus Torvalds, o pai da kernel Linux, tinha esse problema: como controlar as colaborações de código vindas de centenas de programadores ao redor do mundo? No começo o controle era essencialmente manual, com pedaços de código sendo inseridos e testados manualmente. É um sistema altamente trabalhoso e que com o tempo tende a ser impossível. Logo no começo ele decidiu que não usaria nem CVS, nem Subversion. Resolveu optar por BitKeeper, um sistema essencialmente diferente por ser DISTRIBUÍDO. Essa é a palavra-chave. Mas nem ele era perfeito (além de ser comercial, o que irritou muitos da comunidade). Por isso, Linus olhou novamente o mercado e, na opinião dele, não havia nenhuma opção aceitável, portanto ele mesmo resolveu desenvolver seu próprio sistema de versionamento distribuído, de onde nasceu o GIT.

Não perca nosso WebCast no dia 7 de novembro, onde pretendo dar um resumo sobre as funcionalidades do GIT.

ler mais

5set2008

Futuro do Gerenciamento de Software: DVCS

(3) comentários

Qualquer um que se entitule um profissional em desenvolvimento de software utiliza algum repositório de versionamento de código. É inevitável, mesmo quando se trabalha sozinho, para não se sentir inseguro sem um repositório onde seu trabalho é gerenciado.

Existem dezenas de produtos que fazem esse trabalho, incluindo o antigo CVS, seu sucessor Subversion (SVN), Rational ClearCase, Microsoft Visual Source Safe e outros. Esses sistemas tem uma coisa em comum: sua natureza centralizada. Existe um servidor, vários desenvolvedores necessariamente sincronizados com esse servidor, alguns com permissão apenas de leitura e um controle rígido no fluxo de código. 

Trocar um pelo outro não é uma mudança tão grande assim no fluxo de trabalho em geral. Esse tipo de sistema possui um grande calcanhar de aquiles: sua natureza centralizada. O servidor central é o mestre do seu código. Os desenvolvedores tem apenas as últimas versões atualizadas do código em sua máquina e nenhuma memória do histórico completo do projeto.

Perca o servidor e você perde todo seu histórico. Pior: você só consegue trabalhar se estiver online, se estiver offline se tornará muito improdutivo pela impossibilidade de realizar um ‘commit’ ao servidor. Pior ainda: se mudar de idéia no meio do desenvolvimento é um jogo de tudo ou nada: ou você retorna ao último commit (commit = escrita no repositório) que baixou do servidor ou manualmente reedita seus arquivos até o meio do caminho onde queria. Pior do pior ainda: comece a usar branches (galhos de desenvolvimento paralelo no mesmo código) no seu servidor e terá uma dor de cabeça sem tamanho para conseguir mesclar mudanças com seu tronco principal de desenvolvimento. Por isso mesmo pouca gente usa branches em sistemas centralizados e os que usam dependem de pessoas especializadas em cuidar dos problemas que ele apresenta.

Isso inibe completamente o trabalho de um programador. Um bom programador precisa testar, precisa experimentar, precisa fazer provas de conceito. Assim como qualquer bom artista, ele precisa ser capaz de rabiscar suas idéias, e até mesmo mudar de idéia no meio do caminho sem problemas. Com sistemas centralizados e restritivos você é praticamente obrigado a uma cultura de acertar da primeira vez, porque erros custam caro. E em consequência, o programador experimenta cada vez menos, tornando-se menos e menos produtivo e desmotivado. É quando programar se torna ‘apenas mais um emprego’ e não é mais divertido como antes, sem repositório algum.

Existe solução aos sistemas centralizados de versionamento de código? Com certeza sim. Continue lendo este artigo.

ler mais