Código eficiente ainda é importante

Estou utilizando o Google App Engine para desenvolver alguns projetos e, no processo de aprendizado do seu funcionamento e seu sistema de cobrança, me vi pensando na eficiência do código que estou escrevendo.

Código FonteDepois que hardware virou commodity, no sentido de que se tornou muito barato e sem muita diferenciação, código ruim e ineficiente deixou de ser importante para muita gente. Muitos programadores simplesmente desenvolveram a mentalidade de que podem fazer qualquer código “monstro” que o hardware para dar conta disso é mais barato do que melhorar o código. E em parte isso é verdade, pois código bem feito requer programadores bons que não cobram barato.

Mas ultimamente alguns novos conceitos de plataforma podem fazer com que isso mude, coisas como Cloud Computing e Virtualização estão colocando a qualidade e eficiência do código em evidência novamente.

A partir do momento que sistemas como Google AppEngine, Amazon EC2 e Windows Azure (entre outros) permitem que você pague somente pelo poder computacional que utiliza e permitem que suas aplicações cresçam sem com que você se preocupe com o hardware em que sua aplicação roda, as preocupações se voltam novamente para a eficiência do software ao invés do hardware. Principalmente porque isso é o que vai definir se sua aplicação vai ter um alto custo de manutenção ou se você vai na verdade economizar por estar utilizando estas plataformas.

Mas não é somente nesses casos que a eficiência do código é importante, as tecnologias de Virtualização já estão bem difundidas e muitas empresas estão consolidando sua estrutura computacional (servidores e datacenters) em cima disso. Então se um sistema pode rodar em cima de 5 computadores ao invés de 20, isso é economia de dinheiro e energia.

E eu não separei energia de dinheiro sem um motivo. O fato dessas estruturas computacionais economizarem engergia é muito importante do ponto de vista ambiental. Muito se fala hoje em TI Verde e iniciativas que visam diminuir o impacto que a tecnologia tem causado na natureza. Logo, já estamos começando a escutar o termo “código verde” para definir software que é criado com foco na eficiência e na diminuição do consumo de recursos.

Não que não exista preocupação com a eficiência do código em sistemas e sites atualmente, mas normalmente isso é deixado por último e somente quando os problemas surgem é que os desenvolvedores se preocupam com isso. Mas com as tendências de computação em nuvem e SaaS (Software como um Serviço), isso deve ser pensado desde o início.

Quem sabe não deixaremos de encontrar coisas como:

SELECT * FROM users WHERE 1=1

Anúncios

2 respostas em “Código eficiente ainda é importante

  1. Oi, Bruno
    bem legal seu artigo estou estudando um pouco sobre GAE.
    Sei que minha dúvida está um pouco fora do que voê descreve no post mas você saberia me dizer como fica o tratamento do banco de dados no GAE? Se eu tiver um serço de banco de dados e quiser que minha aplicação utilize esse serviço posso construi-lá para rodar na plataforma e acessar meu banco ?

    • O GAE tem o banco de dados próprio integrado à plataforma e por padrão você só pode usar ele. Isso por diversas razões técnicas e escolhas de design do próprio GAE que você pode ler sobre na documentação.

      Então se você já tem um banco de dados externo, você tem poucas opções:

      1 = importar seu banco para o BigTable do GAE utilizando http://code.google.com/intl/pt-BR/appengine/docs/python/tools/uploadingdata.html

      2 = se transferir tudo pro BigTable não for uma opção, você pode pensar se é válido construir um WebService em cima do seu banco e acessar assim pelo GAE.

      3 = essa eu nunca utilizei, mas já vi esse soft que você pode usar para manter sincronizadas uma base BigTable e uma MySQL https://github.com/k7d/approcket/wiki/

      Pessoalmente só acho que vale a pena ter esse trabalho todo para o caso de uma base legada que você não tem opção de migrar, senão é mais fácil utilizar toda a estrutura do GAE mesmo.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s