Cloud computing plataforma e desenvolvimentocom aws

  • 376 views
Uploaded on

CLOUD COMPUTING - Plataforma e Desenvolvimentocom AWS - por Eduardo Ximenes Soares

CLOUD COMPUTING - Plataforma e Desenvolvimentocom AWS - por Eduardo Ximenes Soares

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
376
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • - Apresentacao pessoal - Estou aqui para apresentar como adotamos a nuvem para suprir as variaveis demandas que temos da emprsa onde trabalho - Entao - vamos la
  • Vamos comecar falando de infraestrutura, mostrando as dificuldades do mundo antigo e o ideal
  • Infraestrutura tradicional: - Alto custo para aquisicao de servidores - Implementacoes demoradas pois depende da TI para isso - baixa utilizacao dos recursos - manutencao do recursos, vai que estraga uma peca ate comprar outra demora hein... - Burocracia para aquisicao - tendo que passar por varios setores da empresa - ter que ficar debatendo contratos com diversos fornecedores
  • Infraestrutura Ideal: - Pagar apenas que uso e escalavel- tipo assim, preciso de mais hardware vou la e adiciono e pago - preciso retirar hardware retiro e nao pago mais por isso - Agil - que essa troca seja muito rapida, sem passar por toda burocracia de aquisicao ou outros - Gerir facilmente o ambiente - etc etc....
  • Complicou entao!!???
  • Calma galera, sempre tem uma luz no fim do tunel...
  • Entao vou comecar no case que da Dextra onde temos o seguinte cenario: - A dextra e uma empresa focada em treinamento, consultoria e desenvolvimento de software - mas o carro chefe e o desenvolvimento sob demanda onde o cliente solicita uma X demanda e nos desenvolvemos. - E no desenvolvimento de software primapos pelos seguintes itens: agilidade, reducao de disperdicio, entregar valor ao negocio, entre outrs
  • Neste cenario a TI encontra alguns problemas a serem resolvidos, como: - Aquisicao de equipamentos que como a gente sabe servidores nao sao baratos - Alem de comprar, e necessario manter esta infraestrutura funcionando para o desenvolvimento e tempo e dinheiro - outro ponto e caso ocorra algum problema grave com o equipamento, assim, manter a infraestrutura acaba tendo um alto custo - Baixa utilizacao de recursos - exemplo: comprei um servidor gigantesco e so uso parte destes recursos - para que tive esse custo? - Na questao de recursos compartilhado, lembro que tinhamos servidores VMWARES e ai ja viu - cada projeto precisava de + e + recurso - ate chegar a um ponto de nao conseguirmos suportar mais um ambiente - Gerenciar cresciment - vamos ficar pendurando servidores....complicado - E quando acabar o projeto??? o que eu faco com a maquina?? - Os desenvolvedores falavam assim para mim: ah, usa ai para outros servicos.... entao para mim virava sucata!!
  • Mas os problemas nao estavam somente do lado da TI - o pessoal de desenvolvimento tinha entregas a serem realizadas....e esbarravam exatamente no setor de TI, aqui segue uma breve lista de problemas que eles encontravam: - Muito tempo para planejar aquisicao de servidores - planejar ou chutar - Demora para as novas implementacoes - Processo era burocratico para aquisicao - tinha que passar por varios setores ate efetivar a compra - depois esperar chegar - configurar....nossa era complicado - Todos esses pontos bloqueavam a inovacao que era um dos pontos fortes em que a Dextra buscava e busca sempre Assim, tinhamos um cenario como este:
  • Os setores de TI e desenvolvimento brigando constantemente devido a questao de recursos - vou dizer que a briga era feia viu!!! Entao - o que realmente a empresa precisava para termos um bom funcionamento?
  • - Poder computacional para o desenvolvimento de software
  • - Agilidade para ter este poder computacional
  • - Escalabilidade - preciso de mais processamento/memoria - preciso disso para ontem ou para ja!!!
  • - Ter um ambiente seguro
  • - Ter confianca no que estava sendo fornecido
  • - E claro - com um custo razoavel para realizarmos testes, expansoes, entre outros...
  • Complicado mesmo - estavamos meio que sem saida na epoca....estudamos varias saidas ate que achamos o CLoud da AWS
  • Ufa, muita briga ate chegarmos em um "consenso"
  • Olha so o descritivo do servico da Amazon EC2: - Ler frase... - Nossa, era tudo que precisavamos nao?!?! vamos ver o que mais eles falavam
  • - Elastico - permitindo que vc aumente ou diminua seu poder computacional a qualquer momento
  • - ambiente controlado: voce tem controle total das suas maquinas....instala ou desisntala o que vc quiser - configura da forma que achar melhor
  • - Flexivel - rodando qualquer tipo de plataforma - suprindo demandas variadas ...
  • - A Aws fornece um SLA de 99.95% de disponibilidade em cada regiao....ta otimo
  • - Seguro: alem de fornecer firewall temos alguns servicos como VPC que da para criar uma VPN com a infraestruitura e manter uma subrede na nuvem. Outra, vc instala o que vc quiser na maquina - um iptables e outros....
  • Economico - eu pago so pelo que uso - enquanto a maquina esta ligada ela e cobrada e e muito barata - A AWS faz analogia a uma conta de luz, onde quando vc precisa vc acende a luz e paga por isso. quando vc desliga obviamente para de pagar!
  • Facil utilizacao - simples para iniciar uma instancia e utiliza-la
  • - Entao ta.....vc acha que acabou....rsrs
  • Mais problemas a vista....a questao das maquinas disponivei para testes estavam 100% porem esbarramos em alguns problemas em nossa infra interna que complicava as coisas para gente - sao eles:
  • - Uso desordenado - no comeco todas as maquinas eram ligadas e desligadas pela TI - muitas vezes esqueciamos de desligar a maquina....processo era custoso de entrar em uma interface e fazer isso diariamente
  • - Com isso....os custos aumentaram....chegamos a dizer que a nuvem era mais caro do que manter servidores.....nao nao....fomos insitentes
  • - Reconfiguracao de servicos....nao sabiamos usar todos os poderes da nuvem....o que acarretava em termos a toda hora que reconfigurar servicos para os desenvolvedores nas maquinas....era complicado para gente - A aws tem uma questao que o disco onde esta o SO nao e permanente....quando vc desliga/termina uma maquina vc perde tudo que esta no volume raiz
  • - A questao de todos os dias a TI ter que manter a infraestrutura das equipes de desenvolvimento irritavam os usuarios....alem da TI passar o dia todo modificando itens no painel da AWS... - Era muito complicado isso - pois eles tinham os orcamentos e se estava dentro do orcamento - pq a TI teria que cuidar?
  • Assim, a TI achou mais desafios mas agora em um ambiente menos hostil digamos assim....... mas o desafio era grande e comecamos a destrinchar as ferramentas da AWS...
  • Primeiro ponto para dar autonomia, era conseguir transferir os custos de uso para cada projeto. Para isso, criamos uma conta para cada projeto e para melhorar a gestao dos custos usamos uma ferramenta chamada consolidated for billing fornecido pela a AWS. o que e o faturamento consolidado: - Vc cria uma conta mae e vincula as outras contas a esta - com isso, o pagamento era realizado todos na conta de TI sendo que a AWS descrimina o valor por projeto atraves do seu painel Menos um....
  • Para a questao de reconfiguracao de servicos "descobrimos" o EBS (Elastic block store).... que sao discos persistentes ... mesmo que vc desligue ou termine uma maquina os dados alocados nestes discos serao mantidos....com isso conseguiamos manter as configuracoes e dados nao estaticos de forma saudavel - Para usar os discos era necessario ligar a maquina e vincula-los a maquina -como se fosse um "hd externo" - digamos que o SO estrague - mas seus dados estao armazenados em um disco externo
  • Autonomia - esse era complicado, pois diariamente vinham as perguntas: - Porque dependo da TI para criar estrutura ja que temos - Como automtizar start/stop para otimizar os custos - via interface e muito demorada todo dia tenho que acessar la....iniciar sair E agora o maior dos desafios - dar autonomia para os desenvolvedores sem que eles tenham acessem o painel da AWS para iniciar - vincular discos.....e outros...
  • Para falar como montamos a estrutura e necessario entender como que e a estrutura da Dextra - qual o ambiente que rodamos.... - Todos os desktops de desenvolvedores sao linux....que facilitou muito para automatizarmos o ambiente - Com isso instalamos a API de comando da AWS - E realizamos o desenvolvimento de alguns comandos atraves de export de variaveis para suprir as premissas para utilizacao da API - Com isso - os usuarios poderiam criar maquinas....ligar / desligar / vincular discos EBS / vincular IP Publico / acessar ....entre outros - isso tudo atraves de linhas de comando.....
  • Louco ne - deixa eu mostrar para vc como ficou facil para subir uma maquina.....
  • Escolher a AMI - a AMI nada mais e que o SO que vc vai escolher - linux / windows / ,.... Criar discos EBS - Configurar 1 arquivo chamado machine.conf adicionando a AMI escolhida, os id's dos discos EBS e executar 1 comando...
  • - aws_run projeto –m machine start o que esse comando faz: - vincula os discos EBS a maquina - executa scripts configurando automaticamente instalando os servicos - realiza a conexao atraves do nosso proxy Com isso, conseguimos agendar start/stops atraves do crontab de um dos nossos servidores - com isso nao precisavamos mais acessar o painel de controle da AWS e quando o desenvolvedor chegava - a maquina ja estava ligada - lindo nao?rsrsrs...
  • Com isso - a TI disponibilizou um ambiente onde os desenvolvedores cuidavam da infraestrutura do projeto sem muito custo e tempo - e como consequencia aumentando a produtividade e a qualidade na entrega de softwares.
  • Entao o cenario mudou.....lembram da encarada....agora todos somos amigos e andamos juntos.... Cara - isso e muito bom.....hoje a TI praticamente atua como consultores de solucoes em nuvem para os projetos....melhorou bastante a relacao....
  • Mas nao paramos por ai nao.....hoje utilizamos varias solucoes em nuvem, como: - S3 - servico de storage na nuvem - RDS - servico de banco de dados - Auto scalling - Load Ballancing - entre outros...
  • Aqui sao algumas das ferramentas toda a empresa utiliza que mantemos na nuvem: - Redmine que e ferramenta para gestao de projetos - Software de controle de horas para projetos - Software de base de curriculos - Software de avaliacao de treinamentos - Git para repositorios Hoje diminuimos bastante a quantidade de servidores em nosso CPD.....e essa e a nossa direcao.... retirar da infra interna e levar para a nuvem.....
  • Neste slide mostro cliente onde utilizamos fortemente a AWS para o desenvolvimento de software... - Abril - bicbanco - FAB - Globosat - entre outros....
  • O case da cheetos foi um dos mais complexos que colocamos na nuvem...... o software foi desenvolvido para uma promocao em mais de 12 paises na europa.... A promocao era, vem um codigo no pacote e o cliente cadastrava no site da cheetos.... eram premios legais, desde iphone ate pendrive.,..rs... Aqui e apresentado um paradigma de uma infraestrutura tradicional e a da nuvem que utilizamos... - na tradiciona ........ - na Amazon ,,,,,,,
  • Aqui mostro o escopo e as ferramentas que utilizamos.... - EC2 com EBS....backup em S3....load balancing entre servidores....e cloudwatch para monitoramente..... Foi complicado montar toda esta infra para suprir a demanda que o software tinha.....mas essa foi a estrutura
  • - Aqui a tela que rodou na russia.....onde tivemos varias tentativas de ataque na estrutura - os premios eram bons - lembra...rs...
  • - A tela de israel...
  • Um pouco de dados de uso desde o inicio do uso na nuvem. - temos mais de 64 mil horas de maquinas funcionando na nuvem - Isso e quase 7 anos e meio de uma maquina funcionando - Isso com pelo menos 10 projetos usando em paralelo. Quando a gente para para ver tudo que ja usamos e que nos damos conta……. Nunca tivemos algo grave com o fornecedor, assim a confiabildiade e muito grande.
  • e a pergunta que fica - onde vamos parar? hoje a AWS lanca muita coisa a todo momento..... na semana passada teve um baita evento em SP onde eles mostraram a quantidade de lancamentos.....muita coisa bate com a necessidade crescente que o mercado precisa para TI .
  • - Era isso.....muito obrigado a todos.....fique a vontade para fazer perguntas....

Transcript

  • 1. CLOUD COMPUTINGPlataforma e Desenvolvimento com AWS Eduardo Ximenes Soares duximenes@gmail.com
  • 2. Vamos falar de infraestrutura!!!
  • 3. Infraestrutura Tradicional• Alto custo• Implantações demoradas• Baixa utilização• Manutenção• Burocracia• Contratos• ...
  • 4. Infraestrutura Ideal• Pagar apenas o que uso• Escalável• Ágil• Gestão Simples• …
  • 5. E ai, Complicou?
  • 6. Calma, sempre há uma luz no fim do túnel!
  • 7. Cenário
  • 8. Problemas• TI: – Aquisição – Manter infraestrutura – Baixa utilização dos recursos – Recursos compartilhados – Gerenciar crescimento – E quando acabar o projeto?
  • 9. Problemas• Projetos: – Planejamento de aquisições – Novas implementações – Escalabilidade – Burocracia – Inovação
  • 10. TI vs DES
  • 11. O que a empresa precisava? Capacidade Computacional
  • 12. O que a empresa precisava? Agilidade
  • 13. O que a empresa precisava? Escalabilidade
  • 14. O que a empresa precisava? Segurança
  • 15. O que a empresa precisava? Confiabilidade
  • 16. O que a empresa precisava? Baixo custo
  • 17. Quanta coisa!
  • 18. Cloud Computing
  • 19. Elastic Compute Cloud – EC2 • Serviço WEB que fornece capacidadecomputacional redimensionável na nuvem
  • 20. EC2 Elastic
  • 21. EC2 Ambiente controlado
  • 22. EC2 Flexibilidade
  • 23. EC2 Confiável
  • 24. EC2 Seguro
  • 25. EC2 Econômico
  • 26. EC2 Fácil utilização
  • 27. Acha que terminou???
  • 28. Problemas a vista!!!
  • 29. Problemas Utilização desordenada
  • 30. Problemas Custos
  • 31. Problemas Reconfiguração de serviços
  • 32. Problemas Falta de autonomia
  • 33. Desafios para TI
  • 34. Desafios para TI Gerenciar custos por projeto Faturamento Consolidado
  • 35. Desafios para TI Gerenciar configuração EBS – Elastic Block Store
  • 36. Desafios – TI Autonomia e produtividade -Dependo da TI para criar infra? - Como automatizar start/stop? - Via interface demora!!
  • 37. Desafios – TI Autonomia e produtividade- Desktops Linux- API EC2- Desenvolvimento decomandos- Export variáveis- Infra simplificada
  • 38. Mas como assim? O que precisopara criar uma máquina?
  • 39. Criar uma máquina - Escolha da AMI - Criar discos EBS - Configurar 1 arquivo: machine.conf- Executar 1 comando
  • 40. Criar uma máquinaaws_run projeto –m machine start Attach discos EBS Executa scripts Configuração de serviços Conexão segura Agendamentos - Cron
  • 41. Autonomia Produtividade
  • 42. TI e DES
  • 43. E não paramos por ai!!!!- S3- RDS- VPC- Auto Scaling- Load Balancing- Beanstalk- CloudWatch- ...
  • 44. Cases Internos
  • 45. Desenvolvendo nas nuvens
  • 46. Case – Cheetos DATA CENTER TRADICIONALInvestimento de Despesa de R$ 100 mil R$ 3 mil /mêsSetup Demorado Rápido Setup Sub-utilizaçãoem 80% do tempo Pagamento por uso
  • 47. Case – CheetosServiços Utilizados:- EC2- EBS- S3- Elastic Load Balancing- CloudWatch
  • 48. Tela do sistema na RÚSSIA
  • 49. Tela do sistema em ISRAEL
  • 50. Nossa Experiência - 64500 horas em projetos na AWS - 7 anos de funcionamento - 2 anos de uso- Mais de 10 projetos em paralelo
  • 51. Onde vamos parar?
  • 52. Casos de Sucesso SOFTWARE LIVRE AGILE COM PORTO DE FUNÇÃOCONTRATE ATRAVÉS DE ATA DE REGISTRO DE PREÇO www.dextra.com.br/arp
  • 53. Obrigado duximenes@gmail.com