Porquê estudar no TECH?

Estude com este Programa avançado de Computação Distribuída e entre nas técnicas mais inovadoras da ciência da computação”

##IMAGE##

Ao falar da proliferação de  smartphones na vida cotidiana ou da chegada dos 5G como o novo padrão de comunicação, um novo campo de possibilidades está se abrindo para todos os cientistas da computação com experiência em Computação Distribuída. Os graus de processamento e velocidade de processamento aumentarão com o passar do tempo, portanto, os profissionais de informática devem estar preparados para programar a um nível superior. 

É aqui que entra em cena este Programa Avançado, que compila precisamente os conhecimentos mais importantes e essenciais da chamada Computação Distribuída. Graças a uma equipe de professores com ampla experiência na gestão e direção de projetos de TI deste tipo, os alunos receberão uma formação completa em todos os aspectos da Computação Distribuída, adaptados às exigências do mercado atual. 

Além disso, o programa é oferecido em um plano de estudos totalmente online, facilitando a sua integração com outras atividades pessoais ou profissionais. Não há aulas presenciais ou horários fixos, no entanto, os próprios cientistas da computação poderão baixar o programa completo e distribuir suas horas de estudo como acharem conveniente. 

Obtenha uma importante promoção em sua carreira profissional, demonstrando sua alta capacidade de programação e gestão distribuída neste Programa Avançado”

Este Programa avançado de Computação Distribuída conta com o conteúdo mais completo e atualizado do mercado. Suas principais características são: 

  • O desenvolvimento de casos práticos apresentados por especialistas em Arquiteturas Paralelas em Computação 
  • Os conteúdos gráficos, esquemáticos e extremamente úteis fornecem informações práticas sobre as disciplinas indispensáveis para o exercício da profissão
  • Exercícios práticos em que o processo de autoavaliação é realizado para melhorar a aprendizagem 
  • Destaque especial para as metodologias inovadoras 
  • Lições teóricas, perguntas aos especialistas e trabalhos de reflexão individual 
  • Disponibilidade de acesso a todo o conteúdo a partir de qualquer dispositivo, fixo ou portátil, com conexão à Internet 

Obtenha as dicas e segredos de profissionais de sucesso, líderes no desenvolvimento de projetos internacionais” 

O corpo docente do curso conta com profissionais do setor, que transferem toda a experiência adquirida ao longo de suas carreiras para esta capacitação, além de especialistas reconhecidos de instituições de referência e universidades de prestígio.

O seu conteúdo multimídia, desenvolvido com a mais recente tecnologia educacional, oferece ao profissional uma aprendizagem contextualizada, ou seja, realizada através de um ambiente simulado, proporcionando uma capacitação imersiva e programada para praticar diante de situações reais.

Este programa se fundamenta na Aprendizagem Baseada em Problemas, onde o profissional deverá resolver as diferentes situações de prática profissional que surgirem ao longo do programa. Para isso, contará com a ajuda de um sistema inovador de vídeo interativo realizado por especialistas reconhecidos nesta área.

Você poderá acessar a aula virtual 24 horas por dia e escolher onde, quando e como estudar todo o material didático”

##IMAGE##

A TECH lhe dará o impulso necessário para atingir seus objetivos profissionais mais ambiciosos”

Plano de estudos

A estrutura e o conteúdo deste Programa avançado foi organizado com o objetivo de oferecer o máximo de praticidade e eficiência ao estudante. Os 3 módulos estão divididos em 10 tópicos diferentes cada um. Estes tópicos abrangem desde as características e projeto de Sistemas Distribuídos até programação e aplicações orientadas à Computação Distribuída no cenário atual. 

##IMAGE##

Você terá acesso a uma infinidade de recursos multimídia, incluindo vídeos resumidos, detalhados e motivacionais criados pelos próprios professores”

Módulo 1. Sistemas distribuídos em computação

1.1. Sistemas distribuídos 

1.1.1. Sistemas distribuídos (SD) 
1.1.2. Demonstração do teorema da CAP (ou Teorema de Brewer) 
1.1.3. Falácias da Programação sobre Sistemas Distribuídos 
1.1.4. Computação ubíqua 

1.2. Sistemas distribuídos. Características 

1.2.1. Heterogeneidade 
1.2.2. Extensibilidade 
1.2.3. Segurança 
1.2.4. Escalabilidade 
1.2.5. Tolerância a falhas 
1.2.6. Concorrência 
1.2.7. Transparência 

1.3. Redes e interconexão de redes distribuídas 

1.3.1. Redes e Sistemas Distribuídos. Desempenho das redes 
1.3.2. Redes disponíveis para criar um sistema distribuído. Tipologia 
1.3.3. Protocolos de rede distribuída x Centralizados 
1.3.4. Interconexão de redes. Internet 

1.4. Comunicação entre processos distribuídos 

1.4.1. Comunicação entre nós de uma S.D Problemas e falhas 
1.4.2. Mecanismos a serem implementados no RPC e RDMA para evitar falhas 
1.4.3. Mecanismos a serem implementados no software para evitar falhas 

1.5. Desenvolvimento de Sistemas Distribuídos 

1.5.1. Desenvolvimento eficiente de Sistemas Distribuídos (SD) 
1.5.2. Padrões para a programação em Sistemas Distribuídos (SD) 
1.5.3. Arquitetura orientada a serviços (Service Oriented Architecture SOA)
1.5.4. Service Orchestration e Microservices Data Management 

1.6. Operação de Sistemas Distribuídos 

1.6.1. Monitoramento dos sistemas 
1.6.2. Implementação de um Sistema de Registro (Logging) eficiente em um S.D
1.6.3. Monitoramento em redes distribuídas 
1.6.4. Uso de uma ferramenta de monitoramento para um S.D: Prometheus e Grafana 

1.7. Replicação de sistemas 

1.7.1. Replicação de Sistemas. Tipologia 
1.7.2. Arquiteturas imutáveis 
1.7.3. Sistemas de contêineres e de virtualização como Sistemas Distribuídos 
1.7.4. As redes Blockchain como Sistemas Distribuídos 

1.8. Sistemas multimídia distribuídos 

1.8.1. Troca distribuída de imagens e vídeos. Problemática 
1.8.2. Servidores de objetos multimídia 
1.8.3. Topologia de rede para um sistema multimídia 
1.8.4. Análise dos Sistemas Multimídia Distribuídos: Netflix, Amazon, Spotify, etc. 
1.8.5. Sistemas Distribuídos Multimídia na Educação 

1.9. Sistemas de arquivos distribuídos 

1.9.1. Troca distribuída de arquivos. Problemática 
1.9.2. Aplicabilidade do teorema da CAP às bases de dados 
1.9.3. Sistemas de arquivos web distribuídos: Akamai 
1.9.4. Sistemas de arquivo documental distribuído IPFS 
1.9.5. Sistemas de banco de dados distribuídos 

1.10. Abordagens de Segurança em Sistemas Distribuídos 

1.10.1. Segurança em Sistemas Distribuídos 
1.10.2. Ataques conhecidos a sistemas distribuídos 
1.10.3. Ferramentas para testar a segurança de um SD 

Módulo 2. Modelos e semântica formal. Programação orientada à computação distribuída 

2.1. Modelo Semântico de dados 

2.1.1. Modelos semânticos de dados 
2.1.2. Modelos semânticos de dados. Propósitos 
2.1.3. Modelos semânticos de dados. Aplicações 

2.2. Modelo semântico de linguagens de programação 

2.2.1. Processamento de linguagens 
2.2.2. Tradução e interpretação 
2.2.3. Linguagens híbridas 

2.3. Modelos de computação 

2.3.1. Computação monolítica 
2.3.2. Computação paralela 
2.3.3. Computação distribuída 
2.3.4. Computação colaborativa (P2P) 

2.4. Computação paralela 

2.4.1. Arquitetura paralela 
2.4.2. Hardware 
2.4.3. Software 

2.5. Modelo distribuído. Grid Computing o computação em grade 

2.5.1. Arquitetura Grid Computing 
2.5.2. Arquitetura Grid Computing. Análise 
2.5.3. Arquitetura Grid Computing. Aplicações 

2.6. Modelo distribuído. Cluster Computing ou computação em Cluster 

2.6.1. Arquitetura Cluster Computing 
2.6.2. Arquitetura Cluster Computing. Análise 
2.6.3. Arquitetura Cluster Computing. Aplicações 

2.7. Cluster Computing. Ferramentas atuais para implementá-lo. Hipervisores 

2.7.1. Concorrentes do mercado 
2.7.2. VMware Hipervisor 
2.7.3. Hyper-V 

2.8. Modelo distribuído. Cloud Computing ou computação em cloud 

2.8.1. Arquitetura Cloud Computing 
2.8.2. Arquitetura Cloud Computing. Análise 
2.8.3. Arquitetura Cloud Computing. Aplicações 

2.9. Modelo distribuído. Cloud Computing Amazon 

2.9.1. Cloud Computing Amazon. Funcionalidades 
2.9.2. Cloud Computing Amazon. Licenças 
2.9.3. Cloud Computing Amazon. Arquitetura de referência 

2.10. Modelo distribuído. Cloud Computing Microsoft 

2.10.1. Cloud Computing Microsoft. Funcionalidades 
2.10.2. Cloud Computing Microsoft. Licenças 
2.10.3. Cloud Computing Microsoft. Arquitetura de referência 

Módulo 3. Aplicações da Computação Paralela e Distribuída 

3.1. A Computação Paralela e Distribuída nas aplicações atuais 

3.1.1. Hardware 
3.1.2. Software 
3.1.3. Importância dos tempos 

3.2. Clima. Mudança climática 

3.2.1. Aplicações do clima. Fontes de dados 
3.2.2. Aplicações do clima. Volumes de dados 
3.2.3. Aplicações do clima. Tempo real 

3.3. GPU computação paralela 

3.3.1. GPU computação paralela 
3.3.2. GPU x CPU. Uso de GPU 
3.3.3. GPU. Exemplos 

3.4. Smart Grid. Computação nas redes elétricas 

3.4.1. Smart Grid 
3.4.2. Modelos conceituais Exemplos 
3.4.3. Smart Grid. Exemplo 

3.5. Motor distribuído. ElasticSearch 

3.5.1. Motor distribuído. ElasticSearch 
3.5.2. Arquitetura com Elasticsearch. Exemplos 
3.5.3. Motor distribuído. Casos de uso 

3.6. Big Data Framework 

3.6.1. Big Data Framework 
3.6.2. Arquitetura de ferramentas avançadas 
3.6.3. Big Data em Computação Distribuída 

3.7. Banco de dados em memória 

3.7.1. Banco de dados em memória 
3.7.2. Solução de Redis. Casos de sucesso 
3.7.3. Implantação de soluções de banco de dados em memória 

3.8. Blockchain 

3.8.1. Arquitetura Blockchain. Componentes 
3.8.2. Colaboração entre nós e consensos 
3.8.3. Soluções Blockchain. Implementações 

3.9. Sistemas Distribuídos em medicina 

3.9.1. Componentes de arquitetura 
3.9.2. Sistemas Distribuídos em medicina. Funcionamento 
3.9.3. Sistemas Distribuídos em medicina. Aplicações 

3.10. Sistemas distribuídos no setor de aviação 

3.10.1. Design de arquitetura 
3.10.2. Sistemas distribuídos no setor de aviação. Funcionalidades dos componentes 
3.10.3. Sistemas distribuídos no setor de aviação. Aplicações 

##IMAGE##

Você será capaz de contextualizar toda a teoria ministrada graças aos inúmeros exercícios que você encontrará em cada um dos tópicos” 

Programa Avançado de Computação Distribuída.

A computação distribuída é um campo da ciência da computação que se concentra no uso de vários sistemas de computação interconectados para trabalhar juntos como se fossem uma única entidade. Na computação distribuída, os recursos de sistemas de computação interconectados, como processamento, armazenamento e memória, são usados ​​juntos para realizar tarefas específicas.

O desenvolvimento da computação distribuída envolve o uso de técnicas para coordenar e gerenciar os recursos de sistemas interconectados. Os sistemas distribuídos usam protocolos de comunicação para coordenar a troca de dados, controlar o acesso aos recursos e gerenciar o balanceamento de carga entre diferentes sistemas.

Aplicativos que usam computação distribuída.

Pesquisa na Web: Os mecanismos de pesquisa usam computação distribuída para indexar e pesquisar informações na Web.

Pesquisa científica: os cientistas usam a computação distribuída para lidar com grandes conjuntos de dados e executar simulações complexas.

Redes sociais: Os sistemas de redes sociais usam computação distribuída para suportar um grande número de usuários e lidar com grandes quantidades de informações.

Para desenvolver aplicações de computação distribuída é necessário ter uma compreensão ampla dos princípios fundamentais da computação distribuída. Isso inclui conhecimento de protocolos de comunicação, como TCP e UDP, arquiteturas de sistemas distribuídos, sistemas de armazenamento distribuídos, como Hadoop, e sistemas de banco de dados distribuídos. Também é necessária experiência em linguagens de programação como Java, Python, C++ e Ruby, comumente utilizadas no desenvolvimento de aplicações de computação distribuída, além de ferramentas e tecnologias específicas para diferentes sistemas distribuídos, como Apache Spark e Kafka para Apache Hadoop.

A computação distribuída é um campo da ciência da computação que se concentra no uso de vários sistemas interconectados para trabalhar juntos como se fossem uma única entidade. O desenvolvimento da computação distribuída implica o uso de técnicas para coordenar e gerenciar os recursos de sistemas interconectados, e requer conhecimento em protocolos de comunicação, arquiteturas de sistemas distribuídos, linguagens de programação e ferramentas específicas para diferentes sistemas distribuídos.

"