davimonteiro / if1004

Desmistificando DevOps: Projetando Arquiteturas Efetivamente Escaláveis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Desmistificando DevOps: Projetando Arquiteturas Efetivamente Escaláveis

IF1004

Sistemas de Informação, Centro de Informática, (UFPE)

Instrutores

Disciplinas

  • Pós-Graduação: IN0980 - Tópicos Avançados em Engenharia de Software 3
  • Graduação: IF1004 - Seminários em Sistemas de Informação 3

Local

Centro de Informática, horários: segunda (17:00-18:40) e quarta (18:50-20:30), sala E113.

Aulas práticas, quando ocorreram, serão no Lab G2.

Edições passadas

Comunicação

Ementa

As modernas organizações de desenvolvimento de software exigem equipes inteiras de DevOps para automatizar e manter processos de engenharia de software e infraestrutura vitais para a organização. Nesta disciplina, os alunos terão exposição prática às habilidades, ferramentas e conhecimentos necessários para automatizar processos e infraestruturas de engenharia de software. Os alunos terão a chance de criar novas, ou ampliar, ferramentas existentes de engenharia de software e projetar um pipeline DevOps.

Bibliografia Sugerida

Não há livro texto obrigatório. Entretanto, a seguir estão alguns livros que podem ser recomendados:

Bibliografia Complementar

Bibliografia sobre Ferramentas, Frameworks e Tecnologias

Blogs, Disciplinas, Treinamentos

Business Cases

Research Trends

Objetivos

Espera-se que os alunos vivenciem exposição prática a ferramentas, processos e princípios de engenharia de software através de projetos práticos, enquanto compreendem modelos e ideias de pesquisa por trás das ferramentas e processos. As aulas incluirão experiências de aprendizagem no estilo de workshops, onde os alunos irão trabalhar em um problema e receberão comentários do professor, colaboradores convidados e outros colegas de classe. Quando possível, palestras convidadas da indústria ajudarão a ilustrar exemplos de como a tecnologia é implantada na prática.

Metodologia

Na disciplina, será utilizada uma mistura de aulas tradicionais com atividades e workshops em sala de aula. Durante as aulas, abordaremos conceitos básicos relacionados aos tópicos a serem tratados na disciplina. Durante os workshops em sala de aula, realizaremos exemplos de exercícios com ferramentas relevantes que reforçam o material de aula. As avaliações serão baseadas nas aulas, exercícios dirigidos, workshops e o projeto final.

Pré-Requisitos

Para participar deste curso é desejável que os participantes tenham:

  • Conhecimento básico de inglês técnico para leitura, estudo e acompanhamento das atividades propostas, uma vez que a maior parte do material disponível está em inglês.
  • Conhecimento básico de arquitetura de computador, sistemas operacionais, redes, engenharia de software e banco de dados.
  • Conhecimento de modelos de processo de desenvolvimento de software, em especial Metodologias Ágeis, testes de software. COnhecimento em TDD e BDD serão uma vantagem. Maiores informações podem ser consultadas no site da disciplina de Engenharia de Software (IF977).
  • Experiência em sistemas de computação, armazenamento, infraestruturas de rede e computação em nuvem será uma vantagem.

Recursos

Artigos

Glossário de Ferramentas

Referências de outros cursos correlatos

Avaliação

  • Projeto em equipe com até 3 membros [70%]
    • Caráter puramente acadêmico e educacional. O projeto vai tratar de diversos aspectos do desenvolvimento de uma aplicação, serviço ou solução de apoio ao paradigma DevOps no ciclo de vida de software.
    • O projeto é constituído da solução e todos os artefatos que a compõem (i.e. código fonte, imagens, arquivos de configuração, scripts, documentações de apoio, entre outras), um relatório técnico final contendo a contextualização, escopo, tomadas de decisão, documentação da arquitetura da solução, projeto de implantação, etc.
    • A apresentação oral do projeto também conta como uma parte da avaliação do mesmo, todos os membros do time devem estar presentes.
    • Observações:
      • Entrega fora do prazo: redutor de 1 ponto por dia de atraso.
      • Atraso máximo: 1 (uma) semana. Após esse prazo, será dada nota zero para a respectiva atividade de avaliação.
      • Trabalhos com referências bibliográficas inconsistentes terão um redutor no conteúdo técnico.
      • Trabalhos “CTRL-C + CTRL-V” terão nota zero (vale tanto para cópia de colegas, como para trabalhos copiados da internet).
  • Exercício Escolar Teórico Individual e/ou Atividades Práticas Individuais [30%]
    • Exercício com questões objetivas
  • Como atividade de recuperação é proposta a aplicação de um Exercício Escolar abordando os temas apresentados e discutidos em classe.

Plano de aulas

Classes Topics Resources Assignments
Aug-13 Welcome, Methodology, Course Introduction (Core Topics) Paper-01 & Post-01 HW1
Aug-15 Background: What is DevOps (Chapter 1 from Len Bass' book) Paper-02 HW2
Aug-20 Background: The Cloud as a Platform (Chapter 2 from Len Bass' book) Suggestion Paper-03
Aug-22 Background: Operations (Chapter 3 from Len Bass' book) Paper-04 HW3
Aug-27 The Deployment Pipeline: Overall Architecture (Chapter 4 from Len Bass' book)
Aug-29 The Deployment Pipeline: Building and Testing (Chapter 5 from Len Bass' book) HW4
Sep-03 The Deployment Pipeline: Deployment (Chapter 6 from Len Bass' book) HW12
Sep-05 Containerizing with Docker Docker CheatSheet

Docker Commands — The Ultimate Cheat Sheet
HW13
Sep-10 Docker Fundamentals (exercises 1-18) HW13
Sep-12 Docker Fundamentals (exercises 1-18) HW13
Sep-17 Seminar "The Deployment Pipeline: Scalability Issues" Paper-05 and Paper-06
Sep-19 Seminar "The Deployment Pipeline: Scalability Issues" Paper-05 and Paper-06
Sep-24 Crosscutting Concerns: Monitoring (Chapter 7 from Len Bass' book)
Sep-26 Crosscutting Concerns: Monitoring Exercises
Oct-01 Crosscutting Concerns: Security and Security Audits (Chapter 8 from Len Bass' book)
Oct-03 Other *Ilities (Chapter 9 from Len Bass' book) Paper-07 HW6
Oct-08 Managing Dockerized Microservices with Mesos and Marathon 1/2
Oct-10 Managing Dockerized Microservices with Mesos and Marathon 2/2
Oct-15 Introduction to Kubernetes 1/2
Oct-17 Introduction to Kubernetes 2/2
Oct-22 Presentation and project PROJECT
Oct-24 Read Architectural Design Decisions Papers Paper-8 & Paper-9
Oct-29 Migrating Applications to Native Cloud Architectures Post-02 HW8
Oct-31 Migrating Applications to Native Cloud Architectures Post-03 HW9
Nov-05 Business Considerations (Chapter 10 from Len Bass' book) HW10
Nov-07 Moving into the Future & The Future of DevOps (Chapters 14 & 15 from Len Bass' book)
Nov-12
Nov-14
Nov-19
Nov-21
Nov-26
Nov-28
Dec-03
Dec-05
Dec-10
Dec-12

About

Desmistificando DevOps: Projetando Arquiteturas Efetivamente Escaláveis

License:MIT License