Tutorial sobre arquitetura de sistemas para computação em nuvem (by NetFlix)

O Diretor de Arquitetura de Sistemas em Cloud da NetFlix, Adrian Cockcroft, apresentou na ultima semana na Qcon de Londres um tutorial sobre arquitetura de sistemas para computação em nuvem, usando o case da Netflix como base.

Felizmente para aquelas pessoas que não puderam participar do evento (meu caso) ele publicou os slides do tutorial no slideshare:

Tive a oportunidade de conferir o conteudo dos 209 slides ontem, e recomendo a leitura a todos que de alguma forma trabalham ou se interessam pelo tema Cloud Computing :)

Fica a dica!

 

Facebook Construirá Datacenter na Suécia.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O Facebook anunciou hoje que construirá um data center na Suécia.

A nova instalação será erguida na cidade de Lulea e será o primeiro data center da rede social construído fora dos Estados Unidos. O Facebook anunciou que pretende erguer outros prédios na região.

Michael Kirkland, porta-voz do Facebook, diz que o data center será usado para suportar a demanda dos usuários na Europa e diminuir o tempo de resposta dos acessos. A rede social é usada por mais de 800 milhões de pessoas e estima-se que 25% destes usuários acessam a rede fora dos Estados Unidos.

 

O clima frio de Lulea, que permite refrigerar as máquinas mais facilmente, e as fontes de energia renováveis próximas à região, favoreceram a escolha do local. A construção do prédio terá início até o final de outubro deste ano.

 

O novo prédio em Lulea ocupará um espaço de 27 mil metros. O data center ficará pronto em 2012, mas somente em 2013 ele receberá o tráfego de dados da rede social na Europa, segundo o site Data Center Knowledge.

 

A construção do novo data center custará entre 329 milhões e 549 milhões de euros. O Governo sueco fornecerá 11 milhões de euros, segundo a ministra da Indústria sueca, Annie Lööf.

 

 

 

 

 

S3cmd: Ferramenta Amazon S3 por linha de comando

 

 

 

Para aumentar sua produtividade no uso do Amazon S3, eu recomendo o S3cmd. O S3cmd é uma ferramenta que funciona por linha de comando e permite que você visualize o conteúdo do seu S3, crie buckets, faça upload de arquivos e diretórios usando apenas o seu terminal. Esta é a grande vantagem desta ferramenta. Você pode subir estruturas completas de diretórios (coisa que o AWS Console não te permite). Esta ferramenta é um projeto open source sob a GNU Public License v2(GPLv2).

O sistema operacional utilizado neste tutorial é o Debian 6.0 .

Vamos começar fazendo o download da ferramenta no site do S3cmd.

Rode o comando s3cmd –configure para configurar o acesso à sua conta Amazon. Alguns dados serão solicitados. Os mais importantes são a Acess Key e Secret Key. Ambas chaves podem ser encontradas na sua página inicial de acesso aos serviços AWS, é só clicar em Security Credentials. Você também poderá informar a sua senha para criptografia de dados e o seu proxy HTTP.

Agora é só usar. Alguns comandos básicos:

$ s3cmd ls : Lista todos os buckets do seu repositório S3;

$ s3cmd mb s3://my-bucket : Cria um novo bucket(eu recomendo o AWS Console para fazer isso);

$ s3cmd put myfile.txt s3://my-bucket/file.txt : Escreve conteúdo de myfile.txt em file.txt que deverá estar dentro do my-bucket(eu recomendo o AWS Console para fazer isso);

s3cmd put –recursive mydir1 s3://my-bucket/mydir/ : Escreve o conteúdo de mydir1 dentro de mydir. Você não precisa criar mydir previamente dentro do seu bucket. Este comando imprime um log como o mostrado abaixo conforme os arquivos vão sendo enviados.
File ‘dir1/file1-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file1-1.txt’
File ‘dir1/file2-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file2-1.txt’
File ‘dir1/file3-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file3-1.txt’

O S3cmd não se resume em 4 comandos. Há mais comandos disponíveis. Mais informações podem ser encontradas no site oficial.

Quem é o culpado?


Já tem mais de 3 semanas que o serviço de cloud computing da Amazon passou por problemas e ainda vejo pessoas reclamando, e afirmando que este tipo de serviço não é confiável, isso me irrita um pouco pois estas pessoas ainda não entenderam que parte da culpa por terem ficado “fora do ar” é delas.

O conceito de cloud computing parte do principio que a redundância deixa de ser provida pelo hardware (que passa a ser commodity justamente para proporcionar o menor custo) e passa a ser responsabilidade do seu software e das suas aplicações.

Não podemos tratar um servidor na nuvem como se fosse mais um servidor num datacenter tradicional e infelizmente é isso a maioria das pessoas faz, muitas vezes até de forma inconsciente.

Se formos fazer uma analogia é como pular de paraquedas, ninguem em sã consciência pega um avião e depois de estar a 5.000 metros de altitude pula sem ter passado por um treinamento prévio, sem entender as consequências do que pode acontecer se algo der errado e principalmente sem ter um plano B no caso de um problema com o para quedas principal.

Em resumo, não migre seus serviços para uma estrutura de nuvem publica se não entender a consequência do que está fazendo, e principalmente sem estar preparado para uma pane no seu provedor de serviços, pois por mais que ele te ofereça SLA de 99.999999% , um dia ele vai falhar.

Pane na AWS Amazon deixa o Busk fora do ar !


Hoje o mundo ficou um pouco mais offline, os servidores da Amazon  que hospeda grandes sites e serviços como o Busk.com , HootSuite,Foursquare e Reddit  “caiu” e deixou-os na mão.
Foram três os serviços afetados pelo problema, o Amazon Elastic Compute Cloud, o Amazon Elastic Beanstalk e o Amazon Relational Database Service, podemos ver na página de status dos servidores que grande parte do problema foi solucionado, mas até o momento o ambiente do Busk.com não foi restaurado, todo o time de desenvolvimento e infra-estrutura do Busk aguarda o restabelecimento por parte da Amazon para colocar o site novamente no ar.

O último status que temos é que os problemas com o serviço Amazon Elastic Compute Cloud  da Região (N. Virginia) contínuam e impendente qualquer trabalho do time de desenvolvimento e infra-estrutura do Busk.

Status oficial da Amazon :  http://status.aws.amazon.com

Infelizmente nem sempre o cloud computing funciona…

Cloud computing não é transformação. É metamorfose, diz CIO da Accenture

O CIO da consultoria e provedora de serviços de TI, Accenture,Frank Modruson, tem uma queda por tudo que seja mais rápido, melhor e ofereça melhor relação custo x benefício. Não é por menos. Essas características ele quer poder entregar aos seus clientes, sejam estes internos ou externos.

“Acredito piamente na tecnologia e em sua capacidade de sustentar o negócio das empresas”, afirma o CIO. “Mas para ela funcionar nessa tarefa de promover o negócio, precisa ser mais rápida, melhor e ter um excelente custo”, completa.

Promessas da computação em nuvem, que exerce uma grande atração sobre a Accenture.

A primeira solução de computação em nuvem adotada por Modruson foi uma plataforma no modelo SaaS (Software as a Service), para o sistema de recrutamento. De lá para cá, passaram-se cinco anos. Atualmente, as soluções baseadas em cloud computing usadas pela Accenture somam 24. Houve planejamento e preparo na adoção de plataformas de  IaaS (Infrastructure as a Service) e na introdução de uma rede de IP único para transmissão de voz e de dados. Cloud abrange também as frentes de bases de dados e de virtualização de armazenamento no data center corporativo.  E, segundo o CIO, isso é apenas o começo.

Veja as cinco lições que o CIO aprendeu em sua relação com a computação em nuvem:

1. A nuvem pode levar a empresa onde era impossível chegar

Há cinco anos, a Accenture mantinha sistemas de recrutamento diferentes para cada país em que tem sede. Nos EUA, um software dava conta desse processo. Já outros países ainda baseavam a gestão do recrutamento de mão de obra com base em planilhas de cálculos. Naquela época, a Accentura já contava com um contingente de 90 mil colaboradores. Depois de aumentar a folha de pagamento em 210 mil nomes, Modruson decidiu erradicar os sistemas de recrutamento de 40 países. “Tínhamos nossa solução aqui nos EUA, mas implementá-la nos outros locais, sem deixar cair o ritmo e dando conta da carga de trabalho rotineira, jamais foi uma opção viável”, lembra.

2. Perseverar é necessário

O recrutamento de pessoal é a base do negócio da Accenture. Tal filosofia deu origem à percepção da necessidade de se ter um software especial para o recrutamento. “Uma das vantagens do modelo SaaS é a flexibilidade que ele oferece à empresa. A maneira de recrutar é, sem dúvida, um dos ingredientes secretos, ainda assim, o envio de um email resposta ou a possibilidade de os candidatos se inscreverem online é uma consequência natural, nada mais. Garanto que o ingrediente secreto não está no software”, avisa o CIO.

Houve usuários que refutaram a adoção dessas tecnologias. Apesar de desejarem usufruir dos recursos adicionais, se recusavam a mudar a maneira tradicional de condução dos processos. “Em um dado momento, percebemos que não passavam de desculpas para não fazer”, lembra Modruson. “Passamos o mesmo processo com nosso sistema de ERP, mas, com o passar do tempo, a noção dos benefícios proporcionados pelo uso dos novos sistemas fica evidente”.

3. Segurança é relativa

“A segurança é um dos aspectos aos quais as pessoas estão sempre atentas, e estão certas de fazê-lo”, avalia o CIO. “Mas, partir do princípio de que a segurança é maior quando o objeto está em seu poder é errado. Onde seu dinheiro fica mais seguro? Debaixo de colchão de sua casa ou no cofre do banco?”, pergunta o executivo.

“Empresas que provêem serviços de cloud computing investem pesado em segurança por causa de seu tamanho. Isso dá a elas condições de investir mais nesse quesito do que muita empresa jamais poderá. O segredo para a segurança na computação em nuvem está na diligência: testes, testes e mais testes”, recomenda Modruson.

4. Não é transformação, é metamorfose

Todo o processo de migração para as soluções de computação em nuvem teve início há mais de cinco anos. Houve racionalização de aplicativos, erradicação de redes e um seríssimo processo de virtualização do data center.

O contingente de aplicativos da organização foi enxugado dos 2.100 programas para um conjunto de 530 (tal redução começou há mais de uma década).

Com 80% de seus servidores virtualizados, as 220 bases de dados são atualmente suportados por um conjunto de 30 servidores físicos – antes eram 449. Apesar de uma expansão de 122% no volume de dados, não houve incremento na estrutura de servidores locais.

“Se você usar a cabeça, verá que é perfeitamente possível reorganizar o contingente de dados sem dar muita atenção às configurações específicas de hardware”, avisa o CIO da Accenture. “Dessa forma geramos economia, ao passo que podemos migrar para outras nuvens”.

“A adoção do IaaS ainda está em andamento, pois empresas de pequeno e de médio porte têm muito mais facilidade de adotar a computação em nuvem que organizações grandes”, finaliza.

5. Sistemas antigos custam mais do que parece

Boa parte das empresas do tamanho da Accenture possui estruturas de hardware e de software antigos misturados com soluções mais atuais. “Isso acontece porque acreditam que as estruturas já se pagaram e não representam mais custos adicionais. Acontece que, assim que precisarem de suporte para plataformas obsoletas, o real custo dessas estruturas fica evidente. Gosto de definir o casamento com soluções ultrapassadas a calçar sapatos de cimento. É muito difícil avançar em qualquer sentido. Sugiro que se analise de forma sóbria o que vai causar menos problemas e implicar em custos”, alerta.

 

Cloud computing em bate-papo.

Conversando com alguns amigos que são CIOs  sinto que é  claro que ainda existe muita curiosidade sobre o potencial e os riscos de cloud. E alguns executivos ainda estão meio céticos quanto a saber se cloud realmente será a “next big thing”. Assim, nesse bate-papo regado a cloud pode ser um pequeno termômetro de como os CIOs estão encarando o assunto que gostaria de compartilhar com vocês.

Um dos meus amigos  reconhece que muitos profissionais perderam o bonde do cliente-servidor e também foram surpreendidos pela velocidade com que a Web se disseminou. Muitos já usam em casa o modelo em nuvens como o Gmail e o Flickr e, nas empresas, algumas poucas aplicações SaaS isoladas. Estão realmente interessados em saber como a computação em nuvem poderia se disseminar mais profundamente nas suas empresas.

A maioria deles já leu sobre casos de sucesso lá fora e percebe, sim, que cloud computing será uma mudança de paradigmas, afetando de forma significativa as relações entre produtores e consumidores de produtos e serviços de TI. Também identificam que entrarão em um novo patamar de custos e facilidade no uso da TI. Mas confessaram que ainda não deram um passo nessa direção.

Desinformação

Uma reclamação é que ainda há muita desinformação e que a própria terminologia não está bem definida. Às vezes, é até conflitante, dependendo do provedor . Um exemplo é o modelo de IaaS (Infrastructure-as-a-service). IaaS pode ser entregue pela própria área de TI da empresa (insourced) ou por um provedor de nuvens externo (outsourced).

A infraestrutura física por trás pode estar hospedada no data center da própria empresa ou do provedor. E essa infraestrutura pode ser de uso privado (private cloud), compartilhada entre um grupo ou consórcio de empresas (community cloud) ou com os demais clientes do provedor externo (public cloud).

Uma conclusão a que chegamos é que o setor de TI caminha para o que podemos chamar de industrialização, em que os parâmetros principais são padronização, automação, self-service e escala massiva. O modelo de computação em nuvem é a clara implantação da tendência.

Algumas avaliações

Mas, conversa vai, conversa vem, e chegamos a outras conclusões. Primeiro, a adoção da computação em nuvem não acontecerá de um dia para o outro. Identificamos também diversas oportunidades de criar valor com cloud computing.

Uma delas será a redução de custos quando o modelo de TI (leia-se cloud) chegar ao nível de ser uma utility, como energia elétrica. Os primeiros passos nessa direção podem ser, por exemplo, a transferência de algumas aplicações como email, para o ambiente de nuvens públicas.

Outra oportunidade de criação de valor é a mudança que o ambiente de nuvens pode provocar em processos de negócios. Um exemplo citado foi o próprio ambiente de desenvolvimento e testes de sistemas, que demanda demoras e burocracias para uma aplicação ter disponível a infraestrutura necessária para ser adequadamente testada.

De maneira geral, uma grande empresa mantém uma parcela significativa de seu parque computacional dedicado ao ambiente de testes, embora subutilizado. Alguns estudos mostram que de 30% a 40% do seu parque computacional está dedicado ao ambiente de testes, mas com um nível de utilização de apenas 10% a 20%.

Potenciais

Imaginem os ganhos potenciais para uma empresa quando os desenvolvedores, através de um portal self-service, requisitarem e obtiverem os recursos computacionais necessários em minutos, e não em semanas? Claramente poderão ser explorados novos negócios, pois os sistemas que os sustentarão entrarão em operação mais rapidamente. Outra sugestão foi colocar as aplicações “customer facing” em nuvens, inclusive interagindo mais intensamente com redes sociais como Facebook.

Alguns CIOs comentaram que executivos de negócio de suas empresas já começam a abordar o assunto com eles e que, portanto, não poderão ficar mais parados. Mas ficou claro que a adoção do modelo de computação em nuvem é uma decisão estratégica e não simplesmente técnica. O próprio papel da TI poderá, e provavelmente o será, redefinido. Muitas das atividades hoje desempenhadas pela área de TI serão comoditizadas e terceirizadas para nuvens públicas.

A discussão esquentou quando se comentou a questão da segurança e se as nuvens públicas atuais poderão sustentar os critérios e políticas de segurança adotados pelas empresas. Chegou-se a um consenso de que as nuvens públicas poderão ser usadas por empresas pequenas que não têm políticas de segurança adequadas, mas as companhias de maior porte provavelmente começarão a sua caminhada usando nuvens privadas.

Nuvens privadas e públicas

Para confirmar esse ponto, alguns estudos feitos no exterior apontam que entre três e cinco anos cerca de 25% a 50% do workload das grandes empresas estará em nuvens privadas e apenas um pequeno percentual do workload dessas organizações deverá estar em nuvens públicas.

As nuvens privadas permitem que as empresas adotem o modelo e usufruam de alguns de seus benefícios, mas ainda mantendo o controle dentro de casa. Já para empresas pequenas, estima-se que, no futuro, de 80% a 100% das suas aplicações poderão rodar em nuvens públicas.

Outro aspecto levantado foi a questão da integração entre aplicações que estejam rodando em uma nuvem pública e as que ficarem on-premise. Muitas aplicações não poderão ir para uma nuvem pública, seja por questões técnicas, seja imposição da legislação. Mas terão que interagir com as que forem para as nuvens.

É um desafio e tanto, principalmente porque não existem ainda padrões de ineroperabilidade entre as nuvens.

Consensos

No final da conversa, chegou-se a alguns consensos como:

1) Cloud computing é um “work in progress” e, que muitas das atuais restrições serão minimizadas ou eliminadas nos próximos três ou cinco anos. Novas tecnologias surgirão e mesmo as atuais ofertas se tornarão mais maduras e eficientes nos próximos anos.

 

2) A falta de padrões de interoperabilidade e os riscos de “vendor lock-in” de hoje serão minimizados nos próximos anos. Sugiro acompanharem o Grupo de Trabalho de cloud do DMTF (Distributed Management Task Force) aqui.

 

3) A criação de negócios e novas aplicações serão incentivadas quando TI for uma utility. Entre os exemplos citados está a possibilidade de usar mais intensamente recursos de Business Analytics, uma vez que demandam variação muito grande de recursos computacionais e que nem sempre é possível manter essa infraestrutura em casa. Além disso, novos modelos de negócio, inviáveis quando o capex de TI é impeditivo, podem ser criados quando TI passar a ser utility e não se pensar mais em capex, mas sim em opex. Lembrando: capex é capital expenditure e opex é operating expense.

 

4) Cloud computing é estratégico e deve ser contemplado no plano estratégico de TI das empresas. O road map para sua adoção deve ser responsabilidade do CIO e do CTO, e não das áreas técnicas.

 

5) Cloud Computing não deve ser visto apenas como uma terceirização mais ampla, e sim como um modelo computacional que pode impactar significativamente os negócios da empresa. Dois aspectos fundamentais diferenciam cloud do tradicional “hosted computing”, que são o acesso via self-service e a elasticidade.

 

6) Cloud Computing vai redefinir a área de TI.

 

7) Cloud Computing não acontecerá de um dia para o outro. Mas deve-se começar a já planejar o road map e fazer os primeiros testes.

 

8) Cloud Computing nos EUA, Europa e no Brasil deverá ter velocidades de adoção diferentes porque os mercados são diferentes. Um exemplo é a banda larga, que é muito mais cara e lenta aqui do que nos EUA e na Europa.

Esse bate-papo envolveu cerca de 8 amigos hoje considerados grandes  CIOs de TI, tanto do ramo de internet quando do ramo de construção Civil,telecomunicações e redes Sociais.

Atualmente trabalho totalmente em ambiente Cloud Computing e confesso que no começo tive resistência ,mas hoje considero infinitas as possibilidades e facilidades de gestão que o ambiente me proporciona.

Virtualização, Cloud Computing e os gestores de TI brasileiros.

É interessante como alguns gestores se apegam a certo tipo de tecnologia e serviço, achando que todos os seus problemas serão resolvidos implementado-a, há 2 anos foi SOA (hoje é moda falar mal de SOA) e atualmente temos virtualização e Cloud Computing. Fato é que a virtualização trouxe uma série de benefícios, principalmente o financeiro, colocar 10 servidores em uma única caixa física, diminuindo custo de hardware, software, energia e suporte é um baita negócio.

Caso você trabalhe em uma revenda de software e diga que o seu produto não pode ser virtualizado, esqueça, você não conseguirá vendê-lo. As duas únicas empresas que conseguiram falar isso, para ambientes produtivos, foram a SAP e a Oracle, e olha que a Oracle diz que dá para virtualizar os seus bancos utilizando Oracle VM, mas conheço poucas empresas que fizeram isso no Brasil.

O problema com a virtualização está na hora que tudo fica banalizado, do tipo: Virtualiza tudo, preciso de mais servidor, virtualiza, preciso de mais network, virtualiza e assim vai. Sabemos que nem tudo pode ser virtualizado, e hoje, alguns analistas e pessoas que trabalham com suporte têm se deparado com ambientes que estão chegando em um ponto que a virtualização não é mais benéfica.

Soube de um amigo que um cliente resolveu todos os seus problemas de espaço físico e energia elétrica com a implementação da virtualização em seu datacenter, porém ele está com problemas para compra de servidores que suportam esta infraestrutura pois ele havia montado toda a sua arquitetura com equipamentos Blade, no caso dele, a enclouseres utilizada para suportar todos os servidores vai até 20 lâminas, lembrando que cada lâmina é um servidor, como demonstrado na foto abaixo:

 

 

 

 

 

 

 

 

Essa empresa montou o seu ambiente virtual com 3 servidores blades, tendo assim 60 lâminas, porém agora ele precisa crescer mais 3 servidores/lâminas, mas para isso ele terá que gastar uma boa grana na compra de outra enclosure que suportará estes novos servidores. Isso pode ser um problema dependendo do caixa da empresa neste momento.

Recomendo fortemente a todos que planejam a virtualização do seu ambiente que considerem o seu crescimento futuro, o fato é que a virtualização traz uma sensação de crescimento infinito de recursos, e sabemos que isso não existe, mas vai explicar isso para o desenvolvedor, gerente ou diretor ?!

Mas, e quando você chega ao seu gerente e direto e fala, não temos mais como crescer para o tal projeto de desenvolvimento, a resposta é: Usa Cloud Computing, você pode crescer infinitamente, paga só o que usar e é barato!

As duas primeiras afirmações são verdadeiras, pode crescer infinitamente, dependendo só do fornecedor da solução de Cloud Computing e paga pelo que usa, mas barato isso não é, digo que a conta pode ser tornar mais cara que a de um collocation caso você não mensure corretamente os recursos necessários para esse ambiente, os maiores vilões das contas de serviços de Cloud Computing são:

  • Gestores mal informados que não analisam previamente o que realmente precisam.
  • Desenvolvedores que sempre querem o máximo de recursos para o desenvolvimento e realização de testes de suas aplicações.
  • Falta de controle ou monitoração da utilização de recursos de espaço em disco, storage e CPU, isso sempre causa problemas quando a conta chega.

Veja que de fato, Cloud Computing é uma evolução quando falamos de serviços de TI, vejam pela foto abaixo:

 

 

 

 

 

 

 

 

Mas não quer dizer que é a solução de todos os seus problemas quando o assunto é crescimento e espaço, pois a conta que vier para você pagar pode lhe trazer algumas surpresas, caso você não planeje ou dimensione corretamente os recursos que serão necessários.

O recado é: Tudo em excesso pode causa problemas, inclusive tecnologia.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.