Apresentação do Curso

259 views
179 views

Published on

Apresentação do Curso Introdução a Sistemas Distribuídos da Estácio.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
259
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apresentação do Curso

  1. 1. Introdução a Sistemas DistribuídosIntrodução ao CursoEduardo de Lucena Falcão
  2. 2. Apresentações● Eduardo de Lucena Falcão– Lattes - http://lattes.cnpq.br/8335184809043358– Blog - http://edufalcao.com● Sobre vocês– Formação?– O que esperam do curso?
  3. 3. Visão geral do curso● Sistemas Distribuídos– “Um sistema distribuído é um conjunto decomputadores independentes entre si que seapresenta a seus usuários como um sistema único ecoerente.” Tanembaum, A.– “Coleção de computadores autônomos interligadosatravés de uma rede de computadores e equipadoscom software que permita o compartilhamento dosrecursos do sistema: hardware, software e dados.”Coulouris, G.
  4. 4. Visão geral do curso● Qual a importância dos Sistemas Distribuídos?1. Otimização de nossos programas;2. A população mundial cresce exponencialmente;3. No mercado só há (ou pelo menos só deveria haver)espaço para quem trabalha de maneira escalável;4. Arquitetura modularizada/segmentada;5. Maior tolerância a falhas.
  5. 5. Visão geral do curso● Objetivos:1.Apresentar os conceitos fundamentais de SistemasDistribuídos;2.Apresentar os principais conceitos úteis para odesenvolvimento prático de uma aplicação que envolvetécnicas de Sistemas Distribuídos, mais especificamentetécnicas de Cloud Computing;3.Apresentar de forma conceitual e prática os principaiscomponentes da Amazon Web Services (AWS), que permitiráa construção de um sistema escalável e tolerante a falhas;
  6. 6. Visão geral do curso● Objetivos:4. Apresentar técnicas e ferramentas para monitoramentodo sistema na nuvem AWS;5. Com o decorrer do curso, o aluno deverá aplicar astécnicas aprendidas na disciplina em um projetoindividual.
  7. 7. ● Ementa:– Introdução a Sistemas Distribuídos. Introdução a AWS. Configuraçãodo Ambiente de Desenvolvimento. Elastic Cloud Computing (EC2).Amazon Machine Images (AMI). Elastic Block Storage (EBS). ElasticIps. Relational Database Service (RDS) – apenas o conceito. SimpleStorage Service (S3). Amazon Cloud Front. Como tornar o sistemaescalável. Elastic Load Balancing (ELB). Auto Scaling. ElasticBeanstalk. Como desacoplar os componentes do sistema. SimpleQueue Service (SQS). SimpleDB. Simple Notification Service (SNS).Como detectar e lidar com falhas. Como tornar o sistema menossuscetível a falhas. Como gerenciar os componentes de seu sistema.Visão geral do curso
  8. 8. Pré-requisitos● Programação (C, C++, Java, etc.)● Conhecimentos básicos de Sistemas Operacionais(Linux, Windows Server)● Conhecimentos básicos de Redes
  9. 9. Tópicos abordados no curso● Analisando o problema a ser resolvido;● Sistemas Distribuídos: Clusters, Supercomputadores, Grids, Cloud Computing;● Introdução à Cloud Computing;● Introdução à AWS;● Configuração do Ambiente de Desenvolvimento;● EC2: como criar e configurar uma nova instância;● Tornando o sistema escalável;● Desacoplamento entre os componentes do sistema;● Como detectar e lidar com falhas;● Tornando o sistema menos suscetível a falhas;● Gerenciando os componentes do seus sistema.
  10. 10. Recursos Computacionais● AWS– Opção 1: crie sua conta AWS e usufrua do AWS Fee Usage Tier● Vantagem: você terá acesso ao AWS Management Console :)● Desvantagem: você pode ter custos adicionais - poucos maispode :(– Opção 2: requisite sua chave de acesso ao professor● Vantagem: você não terá nenhum custo adicional :)● Desvantagem: você não terá acesso ao AWS ManagementConsole :(– Opção 3: use as 2 opções anteriores =D
  11. 11. Recursos Computacionais● AWS Free Usage Tier - http://aws.amazon.com/pt/free/● EC2:– 750 horas do Amazon EC2 para Linux Uso de Microinstância (613 MBde memória e suporte à plataforma de 32 e 64 bits) – horas suficientespara executar continuamente todos os meses– 750 horas do Amazon EC2 para Microsoft Windows Server Uso deMicroinstância (613 MB de memória e suporte à plataforma de 32 e 64bits) – horas suficientes para executar continuamente todos os meses– 750 horas de Elastic Load Balancer além de 15 GB de processamentode dados– 30 GB de Amazon Elastic Block Storage, além de 2 milhões de E/S e 1GB de armazenamento de snapshot
  12. 12. Recursos Computacionais● AWS Free Usage Tier - http://aws.amazon.com/pt/free/● Simple Storage Service - S3:– 5 GB de armazenamento padrão do Amazon S3, 20.000 solicitações GET e2.000 solicitações PUT*● Simple Queue Service (SQS) e Simple Notification Service (SNS)– 1.000.000 de solicitações de Amazon SQS– 1.000.000 de solicitações, 100.000 notificações de HTTP e mil notificações dee-mail para Amazon SNS● CloudWatch– 10 métricas do Amazon Cloudwatch, 10 alarmes e 1.000.000 solicitações de API● Transferência de dados– 15 GB de largura de banda para fora agregado em todos os serviços AWS*
  13. 13. AvaliaçãoAs seguintes atividades serão utilizadas para avaliação:– Participação (PART.) das aulas;– Apresentação inicial da proposta de projeto (PROP. I) do sistemadistribuído (25/05);– Apresentação final do projeto (PROP. II) do sistema distribuído (08/06);– Implementação do projeto (PROJ.) de sistema escalável implantado noAWS (15/06);– Relatório (REL.) contendo a descrição do projeto e as melhoriasproporcionadas pela implantação do projeto na nuvem AWS (15/06).● Média: (0.1*PART) + (0.05*PROP.I) + (0.05*PROP.II) + (0.2*REL.) +(0.6*PROJ.)
  14. 14. Cronograma de AvaliaçãoAula 1 Aula 2 Aula 3 Aula 4PART. PART.PROP. IPART.PROP. IIREL. + PROJ.À priori, mas pode ser mudado com o decorrer do curso.Com aviso prévio.
  15. 15. Sugestões de Projetos● Ideal: remodelar projetos já existentes da autoria de vocês ou desuas empresas, como Sistemas Distribuídos e escaláveis na AWS● Alternativos:– Algoritmos simples submetidos a grandes cargas de requisição● Ex.: algoritmos de ordenação, algoritmos de busca, …– Algoritmos um pouco mais pesados devem requerer outrastécnicas, como o Map-Reduce● Processamento de áudio, imagens, e vídeos
  16. 16. Resultados esperados ao fim do curso● Entender a importância de Sistemas Distribuídos;– Entender as diferenças entre computação em cluster,em grades, em nuvem, e supercomputação;● Entender como construir sistemas distribuídos de largaescala e tolerante a falhas;● Ser capaz de analisar um sistema já existente eremodelá-lo como um Sistema Distribuído;● Ser capaz de utilizar a AWS para implementar de formaprática um Sistema Distribuído.
  17. 17. Referências1.Vliet, J., and Paganelli, F.; Programming Amazon EC2.OReilly.2.Slides das aulas. Links presentes nos slides.
  18. 18. Recursos e Contato● Lista de discussão:– isd-estacio@googlegroups.com● Site da disciplina:– https://sites.google.com/site/introsistemasdistribuidos/● Me escreva:– eduardolfalcao@gmail.com
  19. 19. Dúvidashttps://sites.google.com/site/introsistemasdistribuidos/Eduardo de Lucena Falcãoeduardolfalcao@gmail.com@dudufalcao

×