All Projects → IF1007 → if1007

IF1007 / if1007

Licence: MIT license
Desenvolvimento de Aplicações com Arquitetura Baseada em Microservices

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to if1007

if1004
Desmistificando DevOps: Projetando Arquiteturas Efetivamente Escaláveis
Stars: ✭ 63 (-19.23%)
Mutual labels:  ci-cd, ufpe, containerization, cin
Microservices Recipes A Free Gitbook
“If you are working in an organization that places lots of restrictions on how developers can do their work, then microservices may not be for you.” ― Sam Newman
Stars: ✭ 393 (+403.85%)
Mutual labels:  spring-cloud, cloud-native, microservices-architecture
if977
Repositório da disciplina de Engenharia de Software voltada ao curso de Sistemas de Informação.
Stars: ✭ 60 (-23.08%)
Mutual labels:  course, ufpe, cin
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+1862.82%)
Mutual labels:  spring-cloud, cloud-native
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-15.38%)
Mutual labels:  spring-cloud, microservices-architecture
Spring Cloud Cloudfoundry
Integration between Cloudfoundry and the Spring Cloud APIs
Stars: ✭ 83 (+6.41%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Commons
Common classes used in different Spring Cloud implementations
Stars: ✭ 493 (+532.05%)
Mutual labels:  spring-cloud, cloud-native
Java Microservices Examples
Java Microservices: Spring Boot, Spring Cloud, JHipster, Spring Cloud Config, and Spring Cloud Gateway
Stars: ✭ 194 (+148.72%)
Mutual labels:  spring-cloud, microservices-architecture
Spring Cloud Config
External configuration (server and client) for Spring Cloud
Stars: ✭ 1,740 (+2130.77%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Azure
Spring Cloud integration with Azure services
Stars: ✭ 197 (+152.56%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Kubernetes
Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc...
Stars: ✭ 2,894 (+3610.26%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (+801.28%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Contract
Support for Consumer Driven Contracts in Spring
Stars: ✭ 569 (+629.49%)
Mutual labels:  spring-cloud, cloud-native
User Guide Springcloud
[Cloudframeworks]Microservices Architecture with Spring Cloud - user guide / [云框架]基于Spring Cloud的微服务架构-用户指南
Stars: ✭ 1,403 (+1698.72%)
Mutual labels:  spring-cloud, microservices-architecture
Spring Cloud Release
Spring Cloud Release Train - dependency management across a wide range of Spring Cloud projects.
Stars: ✭ 543 (+596.15%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (+78.21%)
Mutual labels:  spring-cloud, cloud-native
Java Microservice
A full microservice project using Spring and many others tools
Stars: ✭ 235 (+201.28%)
Mutual labels:  spring-cloud, microservices-architecture
Advanced Java
😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
Stars: ✭ 59,142 (+75723.08%)
Mutual labels:  spring-cloud, microservices-architecture
Spring Cloud Zookeeper
Spring Cloud Zookeeper
Stars: ✭ 481 (+516.67%)
Mutual labels:  spring-cloud, cloud-native
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+525.64%)
Mutual labels:  spring-cloud, cloud-native

Desenvolvimento de Aplicações Nativas da Nuvem com Arquitetura Baseada em Microservices

IF1007

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

Instrutores

Disciplinas

  • Pós-Graduação: IN1062 - Tópicos Avançados em Sistemas Distribuídos 3
  • Graduação: IF1007 - Tópicos Avançados em Sistemas de Informação 4

Local

  • Centro de Informática, horários: segunda (17:00-18:40) e quarta (18:50-20:30), sala E-112, Bloco E.
  • Aulas práticas, quando ocorrerem, serão no Lab G2 (preferencialmente).

Comunicação

  • Temos um canal no Slack para uma comunicação mais dinâmica: IF1007 & IN1062 (para entrar, tem que utilizar o e-mail institucional do CIn).

Edições passadas

Ementa

Microservice é um estilo e padrão de arquitetura de software em que sistemas complexos são decompostos em serviços menores que trabalham em conjunto para formar serviços maiores. Os Microservices são serviços autônomos, independentes e independentemente implantáveis. No mundo de hoje, muitas empresas usam microservices como principal padrão para a construção de aplicativos corporativos grandes e orientados a serviços.

O framework Spring é um framework de programação popular com a comunidade de desenvolvedores por muitos anos. O Spring Boot removeu a necessidade de ter um conteiner leve de aplicação e forneceu um meio para implantar aplicativos leves e sem servidor. O Spring Cloud combina muitos componentes e junto com o OSS Netflix e fornece um ecossistema para executar e gerenciar microservices em grande escala. Ele fornece recursos como balanceamento de carga, registro de serviço, monitoramento, gateway de serviço e assim por diante.

No entanto, os microservices vêm com seus próprios desafios, como monitoramento, gerenciamento, distribuição, dimensionamento, descoberta, etc., especialmente quando se implanta em escala. A adoção de microservices sem abordar os desafios dos microservices comuns levaria a resultados catastróficos. A parte mais importante deste curso é discutir um modelo de capacidade de microservice agnóstico em termos de tecnologia que busca ajudar a resolver os desafios mais comuns do mundo de microservice.

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 do desenvolvimento de aplicações baseadas na arquitetura de microservices, juntamente com as boas práticas e técnicas de implantação nos princípios de DevOps e as vantagens e desafios do uso e imersão na Computação em Nuvem 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.

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 simples com arquitetura de microsserviços.
  • 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.

Projetos

Recursos

Microservice-Based Applications Demo

  • Sock Shop: A Microservices Demo Application
  • Hispter Shop (Online Boutique): A cloud-native microservices demo application form Google (10 microservices)
  • Stan's Robot Shop: A sample microservice application you can use as a sandbox to test and learn containerised application orchestration and monitoring techniques
  • TrainTicket: A Benchmark Microservice System (41 microservices)
  • DeathStarBench: Open-source benchmark suite for cloud microservices (5 microservices)
  • TeaStore: A microservice reference and test application to be used in benchmarks and tests (5 microservices)
  • A curated list of Open Source projects developed with a microservices architectural style

Tópicos

  • Welcome, Methodology, Course Introduction (Core Topics)
  • Introduction to Microservices Concepts
  • Demystifying Microservices
  • Building Microservices with Spring Boot
  • Applying Microservices Concepts
  • Microservices Evolution – A Case Study
  • Scaling Microservices with Spring Cloud
  • Autoscaling Microservices
  • Logging and Monitoring Microservices
  • Containerizing Microservices with Docker
  • Managing Dockerized Microservices with Mesos and Marathon
  • Kubernetes orquestration enviroment
  • The Microservices Development Life Cycle

Plano de aulas 2020.1

# Class Topics Assignments
01 Mar-02 Welcome, Methodology, Course Introduction (Core Topics)
02 Mar-04 Introduction to Microservices Concepts HW1
03 Mar-09 Demystifying Microservices 1/2
04 Mar-11 Demystifying Microservices 2/2 HW2
05 Mar-16 Building Microservices with Spring Boot 1/2
06 Mar-18 Building Microservices with Spring Boot 2/2 HW3
07 Mar-23 Applying Microservices Concepts 1/2
08 Mar-25 Applying Microservices Concepts 1/2 HW4
09 Mar-30 Microservices Evolution – A Case Study 1/2
10 Apr-01 Microservices Evolution – A Case Study 2/2 HW5
11 Apr-06 Scaling Microservices with Spring Cloud 1/2
12 Apr-08 Scaling Microservices with Spring Cloud 2/2 HW6
13 Apr-13 Autoscaling Microservices 1/2
14 Apr-15 Autoscaling Microservices 2/2 HW7
15 Apr-20 Background: Operations (Chapter 3 from Len Bass' book) HW9
16 Apr-22 The Deployment Pipeline (Chapter 4 from Len Bass' book)
17 Apr-27 Logging and Monitoring Microservices 1/2
18 Apr-29 Logging and Monitoring Microservices 2/2 HW8
19 May-04 Containerizing Microservices with Docker 1/2
20 May-06 Containerizing Microservices with Docker 2/2 HW11.1, HW11.2
21 May-11 Managing Dockerized Microservices with Mesos and Marathon 1/2
22 May-13 Managing Dockerized Microservices with Mesos and Marathon 2/2 HW12
23 May-18 Introduction to Kubernetes 1/2
24 May-20 Introduction to Kubernetes 2/2
25 May-25 The Microservices Development Life Cycle 1/2
26 May-27 The Microservices Development Life Cycle 2/2
27 Jun-01 Migrando Aplicações para Arquiteturas Nativas de Nuvem
28 Jun-03 Follow-up of project execution
29 Jun-08 Project execution time
30 Jun-10 Follow-up of project execution
31 Jun-15 Project execution time
32 Jun-17 Follow-up of project execution
33 Jun-22 Project presentation
34 Jun-24 Project presentation
35 Jun-29
36 Jul-01 Publication of final results

Disciplinas correlatas e/ou influenciadas

Após a iniciativa de construção desta disciplina, outras nasceram motivadas por este movimento ou inspiradas nos tópicos aqui cobertos. São elas:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].