Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apresentação do Curso

395 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

×