Você está na página 1de 141

Soluções para Desenvolvimento e

Ferramentas de Gerenciamento
Capítulo 1. Azure DevOps

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 1.1. Azure DevOps

Prof. Henrique Eduardo Souza


O que é Azure Devops
O que é Azure Devops

• Entenda o seu tempo de ciclo:


o Ciclo Observar, Orientar, Decidir, Agir
(OODA).

• Torne-se informado pelos dados;

• Esforce-se para uma aprendizagem


validada;

• Reduza o tempo do seu ciclo;

• Otimize a aprendizagem validada.


Tipos de Assinatura
Plano Básico Plano Básico + Test Plans

Azure Pipelines: Inclui a oferta gratuita de Inclui todas as funcionalidades do plano


SERVIÇOS INDIVIDUAIS Básico
Azure Boards: Acompanhamento de item de Testar o planejamento, o acompanhamento
trabalho e quadros Kanban e a execução
Azure Repos: Repositórios Git privados
Testes baseados no navegador com
ilimitados
anotação
Azure Artifacts: 2 GiB gratuitos por
Execução de teste do cliente avançado
organização
Teste de aceitação do usuário

Relatório centralizado
Primeiros 5 usuários Gratuitos Média de 255,00 mês

Após 29,40 por usuário


Criando uma Conta
Conhecendo os recursos
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 2. Controle de Versão

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 2.1. Controle de Versão

Prof. Henrique Eduardo Souza


Controle de Versão

Quando foi lançado, o DevOps era uma forma revolucionária de lançar software
com rapidez e eficiência, mantendo um alto nível de segurança.

O controle de origem (controle de versão) é uma parte crítica do DevOps.

Um sistema de controle de versão permite que os desenvolvedores colaborem no


código e rastreiem as alterações.
Benefícios de se usar
Controle de Versão

Manter o
Trabalhar com Automatizar
Criar workflows Colaboração histórico de
versionamento Tarefas
apresentações
Git
Feature branches Distributed development Pull requests

Community Release cycles


Git no universo empresarial
Feature branching – Todo o desenvolvimento de recursos deve ocorrer em uma
ramificação separada, em vez da ramificação principal.

GitFlow branching – Um modelo de ramificação estrito projetado em torno do


lançamento do projeto.

Forking Workflow – Cada desenvolvedor usa um repositório do lado do


servidor.

Evaluate the workflow:


• Does this workflow scale with team size?
• Is it easy to undo mistakes and errors with this workflow?
• Does this workflow impose any new unnecessary cognitive overhead to the team?
Questões sobre qual fluxo de
trabalho escolher
• Esse fluxo de trabalho se adapta ao tamanho da equipe?

• É fácil desfazer erros e erros com esse fluxo de trabalho?

• Esse fluxo de trabalho impõe alguma nova sobrecarga cognitiva


desnecessária à equipe?
Feature Branch

Abrir um
Cria uma Incluir os Revisar o
pull Deploy Merge
branch commits código
request

O desenvolvimento de recursos de
Todo o desenvolvimento de recursos encapsulamento aproveita as Compartilhe um recurso com outras
deve ocorrer em um branch dedicado solicitações pull, que são uma forma pessoas sem tocar em nenhum código
em vez do branch master de iniciar discussões em torno de um oficial.
branch.
Git Flow

Create a Complete
Release Merge back
branch

Create a Issue Merge back to


Hotfix
Master Develop with the Develop and
branch
branch Master? Master

Create a Complete
Feature Merge back
branch

GitFlow é ótimo para um fluxo de trabalho de GitFlow oferece um canal dedicado para
software baseado em lançamento. hotfixes para produção.
Gerenciando Débito Técnico
Gerenciando Débito Técnico
NDepend é uma extensão do Visual Studio que
avalia a quantidade de dívida técnica que um
desenvolvedor adicionou durante um período de
desenvolvimento recente, normalmente na última
hora.

O ReSharper Code Quality Analysis é uma


ferramenta de linha de comando e pode ser
configurada para falhar automaticamente nas
compilações quando forem encontrados problemas
de qualidade de código.
Trabalhando com Pull Requests

Branch 🡪 As alterações Discussão 🡪 Momento de Merge 🡪 Realize uma


realizadas por um ou mais Realizar revisão do código e mescla entre o código novo e o
desenvolvedores discutir sobre o que foi feito código antigo.

Os pull requests permitem que Revise e realize o merge do Certifique-se de fornecer um


Colaboração usando o modelo
você informe outras pessoas seu código em um único bom feedback e proteger as
de repositório compartilhado
sobre as mudanças. processo colaborativo. filiais com políticas.
Demo

• Instalando e usando Git localmente.

• Trabalhando com Git remoto.

• Gerando seu primeiro pull request.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 3. Azure Pipelines

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 3.1. Azure Pipelines

Prof. Henrique Eduardo Souza


O que é CI - Continuous Integration
Integração contínua (CI) é o processo de automatizar a construção e teste de código.

CI incentiva os desenvolvedores a compartilharem seu código e testes de


unidade, mesclando suas alterações no repositório de controle de versão
compartilhado.

Quando uma mudança é detectada, ele aciona um sistema de compilação


automatizado. O código é construído usando uma definição de construção. Os
desenvolvedores respondem a quaisquer problemas ou bugs.

O CI mantém o branch master limpo, garantindo que os bugs sejam detectados no


início do ciclo de desenvolvimento, o que os torna mais baratos para consertar.
Azure Pipelines
Azure Pipelines é um serviço de nuvem que você pode usar para criar e testar automaticamente
seu projeto de código e disponibilizá-lo para outros usuários.

Funciona muito bem com integração contínua e entrega contínua:


• Trabalhe com qualquer linguagem ou plataforma - Python, Java, PHP, Ruby, C # e Go
• Implementar em diferentes tipos de destino ao mesmo tempo
• Integrar com implantações do Azure - contêineres, máquinas virtuais, serviços do Azure ou qualquer destino
local ou na nuvem (Microsoft Azure, Google Cloud ou AWS)
• Crie em máquinas Windows, Linux ou macOS
• Integrar com GitHub
• Trabalhe com projetos de código aberto
O que é CD - Continuous Deployment
A entrega contínua é mais do que gerenciamento de liberação

A implantação é apenas uma etapa :

• Teste

• Codificação Segura

• Arquitetura

Monólitos são difíceis de entregar por causa de todas as dependências:

• Divida seu Código em fatias menores

• Microservices
O que é CD
Padrões para CD
Blue-green deployments

Canary releases

Dark launching

A/B testing

Feature toggles
Blue Green

www.production.com

Swap
ww
w.t
em
p.p
rod
uct
io n.c
om
Release Canárias
O que é?

Liberar um recurso para um subconjunto limitado de usuários finais;

Quando você deseja implementar gradualmente um recurso para


garantir o sucesso.

Como implementar

Use uma combinação de alternadores de recursos, roteamento de


tráfego e slots de implantação;

Rotear% de tráfego para um slot de implantação com o novo recurso


habilitado;

Segmentar um segmento de usuário específico (por meio de


alternadores de recursos).
Dark launching - Lançamento escuro
Como versões canário, mas o objetivo é avaliar a resposta dos usuários
aos novos recursos

O teste do back-end não é o objetivo principal

Os usuários muitas vezes não estão cientes de que estão sendo usados
como cobaias para o novo recurso
Teste A/B
O teste A / B é um experimento em que duas ou mais variantes são mostradas aos usuários aleatoriamente
e a análise estatística é usada para determinar qual variação tem melhor desempenho para uma
determinada meta de conversão.
Feature toggle
Os alternadores de recursos
precisam ser mantidos

Remova-os quando puder

É uma dívida técnica se você os


mantiver por perto

Fonte : http://martinfowler.com/articles/feature-toggles.html
Agent pools

Pool A Pool B

Machine Machine

Agent Agent Agent Agent Agent

Você pode organizar agentes Um pool de agentes define o No Azure Pipelines, os pools de agentes têm como
em pools de agentes. limite de compartilhamento. escopo a organização Azure DevOps; então, você
pode compartilhar um pool de agentes entre
projetos.
Agentes Pool Pré-Definidos
Hosted VS2019

Hosted VS2017

Hosted Ubuntu 20.04

Hosted Ubuntu 18.04

Hosted Ubuntu 16.04

Hosted macOS X Catalina 10.15

Hosted macOS X Mojave 10.14


CI/CD with deployment rings
Demo

• Criar um Fluxo de CI.

• Criar um Fluxo de CD.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 4. Azure DevTest Labs

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 4.1. Azure DevTest Labs

Prof. Henrique Eduardo Souza


O que é Azure DevTest Labs

• Provisione rapidamente ambientes de desenvolvimento e de teste;

• Minimize desperdícios com cotas e políticas;

• Configure desligamentos automatizados para minimizar custos;

• Compile ambientes Windows e Linux.


Principais vantagens

Definição de Definição de Usar imagens


Criar fórmulas
Politicas Limites personalizadas
Exemplo de Uso
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 5. Ferramentas para Gerenciamento e Configuração de Ambientes no Azure

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 5.1. Ferramentas para Gerenciamento e Configuração de Ambientes no Azure

Prof. Henrique Eduardo Souza


Ferramentas de Gestão

Portal do Azure Azure PowerShell

Aplicativo Móvel do Interface de Linha de


Azure Comando (CLI)

API REST do Azure Azure Cloud Shell

Azure Resource Manager


(ARM)
Portal Azure

Portal do Azure
Azure PowerShell

Azure PowerShell
Azure CLI

Interface de Linha de Comando (CLI)


Azure Cloud Shell

Azure Cloud Shell


Modelos do Azure Resource
Manager (ARM) Template
Os modelos do Azure Resource Manager (ARM) são
arquivos JavaScript Object Notation (JSON) que
podem ser usados para criar e implantar a
infraestrutura do Azure sem precisar gravar
comandos de programação.
• Sintaxe declarativa
• Resultados reproduzíveis
• Orquestração
• Arquivos modulares
• Validação integrada
• Código exportável
Demo

• Criando uma Máquina Virtual com Azure Portal

• Criando uma Máquina Virtual com PowerShell

• Criando uma Máquina Virtual com Azure CLI

• Criando uma Máquina Virtual com Cloud Shell

• Criando uma Máquina Virtual com ARM Templete


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 6. Soluções para Infraestrutura como Código (IaC) no Azure

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 6.1. Soluções para Infraestrutura como Código (IaC) no Azure

Prof. Henrique Eduardo Souza


O que é o Ansible
Ansible é uma plataforma de código aberto que automatiza o provisionamento em
nuvem, gerenciamento de configuração e implantações de aplicativos.

Permite automatizar a implantação e configuração de recursos em seu ambiente,


como redes virtuais, armazenamento, sub-redes e grupos de recursos.

Ao contrário do Puppet, o Ansible não tem agente, então você não precisa
instalar software nas máquinas gerenciadas.

A Ansible também modela sua infraestrutura de TI, descrevendo como todos os


seus sistemas se relacionam, em vez de gerenciar apenas um sistema por vez.
Ansible workflow
O fluxo de trabalho e o diagrama de
componentes a seguir descrevem como os
manuais podem ser executados em diferentes
circunstâncias, um após o outro.

1. Provisionar recursos 2 . Configure o aplicativo 3. Gerenciar configurações futuras para escalar


Ansible components
Alguns dos principais componentes do Ansible incluem:

Control Machine. Esta é a máquina a partir da qual as configurações são executadas.

Managed Nodes. Estes são os dispositivos e / ou máquinas e ambientes que estão sendo gerenciados.

Playbooks. Playbooks são listas ordenadas de tarefas, escritas em YAML, que foram salvas para que você
possa executá-las na mesma ordem repetidamente.

Modules. O Ansible funciona conectando-se aos seus nós e, em seguida, enviando para os pequenos
programas (ou unidades de código) do nó, chamados de módulos. Módulos são as unidades de código que
definem a configuração. Eles são modulares e podem ser reutilizados em playbooks.
Installing Ansible
Para permitir que uma máquina atue como a máquina de controle a partir da qual executa os manuais, você
precisa instalar o Python e o Ansible

Python: Ansible:
Must install either Python 2 (version 2.7), or Python 3 (versions Só precisa instalar o Ansible em uma máquina, que pode ser uma

3.5 and higher) estação de trabalho ou um laptop - você pode gerenciar uma frota
inteira de máquinas remotas a partir desse ponto central. Pode ser
Linux, macOS ou Windows.

Nenhum banco de dados é instalado como parte da configuração


do Ansible.

Nenhum daemons é necessário para iniciar ou continuar em


execução.
O que é Terraform?
HashiCorp Terraform é uma ferramenta de código aberto que permite provisionar, gerenciar e criar
versões da infraestrutura em nuvem

Terraform’s a interface de linha de comando (CLI) Suporta cenários de várias nuvens, o que permite
fornece um mecanismo simples para implantar e que os desenvolvedores usem as mesmas
criar uma versão dos arquivos de configuração ferramentas e arquivos de configuração para
para o Azure. gerenciar a infraestrutura em vários provedores de
nuvem.
Components do Terraform
Alguns dos principais componentes do Terraform incluem:

Arquivos de configuração - Os arquivos de configuração baseados em texto permitem que você


defina a configuração da infraestrutura e do aplicativo e termine na extensão .tf ou .tf.json.

Terraform CLI - Uma interface de linha de comando a partir da qual você executa as
configurações. Você pode executar comandos como a aplicação do Terraform e o plano do
Terraform, junto com muitos outros.

Modules - Pacotes independentes de configurações do Terraform que são gerenciados como um


grupo
Demo

• Como implementar uma infra as com Ansible.

• Como implementar uma infra as com Terraform.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 7.1. Azure App Service

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 7.1. Azure App Service

Prof. Henrique Eduardo Souza


App Service Plan

.NET Java Ruby Node.JS

PHP Python

O serviço para hospedar aplicativos da web, APIs REST


e back-ends, pode ser desenvolvido em muitas
linguagens.
Web Apps
❑ Hospedagem escalável para aplicativos da web:
Fornece uma maneira rápida de hospedar seu aplicativo da web na nuvem.

Permite que você dimensione seu aplicativo da web sem a necessidade de redesenhar para escalabilidade.

Integra-se com Visual Studio.

Fornece uma plataforma aberta para muitas linguagens de programação diferentes.

❑ Vantagens:
Implantação quase instantânea.

SSL e nomes de domínio personalizados disponíveis em alguns níveis.

WebJobs fornecem processamento em segundo plano para escalonamento independente.

Pode ser dimensionado para máquinas maiores sem reimplantar aplicativos.


Web Apps
❑ Segurança e compliance:
App Service is ISO, SOC and PCI compliant.
❑ Application templates:
Vários Templates no Azure Marketplace, como WordPress, Joomla and Drupal.
❑ Integração com Visual Studio:
Simplifique o trabalho de criação, implantação e depuração.
❑ API:
APIs, habilitar e desabilitar Cross-Origin Resource Sharing (CORS) suporte para cenários de API RESTful com
autenticação, sincronização de dados offline, push notifications, entre outros recursos.
❑ Serverless code:
Execute o código sob demanda sem ter que provisionar ou gerenciar explicitamente a infraestrutura.
App Service Plan

Web app

App Service plan

Web app

Web app
Criando Web App por Azure CLI
# gerar um nome único e armazenar como uma variável de shell
webappname=IGTI$RANDOM
# criar um grupo de recursos
az group create --location westeurope --name myResourceGroup
# Criando um App Service plan
az appservice plan create --name $webappname --resource-group myResourceGroup --sku FREE
# Criando um Web App
az webapp create --name $webappname --resource-group myResourceGroup --plan $webappname
App Service no Linux
Por que Linux ?
• Muitas aplicações são otimizadas para rodar em Linux:
• Ruby/Rails, PHP, Node, Python entre outros.
• Frequentemente, ferramentas melhores estão disponíveis no Linux.
• Geralmente, as features são construídas primeiro para Linux e depois para Windows.
• Portabilidade de contêineres Docker.
• O Linux está na vanguarda das inovações em arquitetura de nano e microsserviços.
Suporte a Docker
Testing/Staging on-premises

Production in Azure
Development on local machine

Container
image
Monitoramento
Escala Automática
A principal vantagem da nuvem é o dimensionamento elástico (a capacidade de usar
a capacidade necessária):

• Escalonando conforme a carga aumenta.

• Escalonando quando a capacidade extra não é necessária.

Muitos serviços do Microsoft Azure oferecem a capacidade de escalar manual e


automaticamente.
Métricas de Escala Automática

Metric Metric identifier Description

CPU CpuPercentage A quantidade média de tempo de CPU usado em todas as instâncias do plano

Memory MemoryPercentage A quantidade média de memória usada em todas as instâncias do plano

Data in BytesReceived A largura de banda média de entrada usada em todas as instâncias do plano

Data out BytesSent A largura de banda média de saída usada em todas as instâncias do plano

O número médio de solicitações HTTP que tiveram que ficar na fila antes de serem
HTTP queue HttpQueueLength atendidas. Um comprimento de fila HTTP alto ou crescente é um sintoma de um
plano sob uma carga pesada.
O número médio de solicitações de leitura e gravação que foram enfileiradas no
armazenamento. Um comprimento de fila de disco alto é uma indicação de um
Disk queue DiskQueueLength
aplicativo que pode estar ficando lento devido ao excesso de E / S de disco.
Padrões de Escala
• Escala baseada em CPU.

• Escala de forma diferente em dias de semana e fins de semana.

• Escala de forma diferente durante as feriados e ou férias da


equipe.

• Escala com base em métricas personalizadas.


Fluxo de Escala Automática
Resources Autoscale

Metrics
Rule
Criteria met

Actions
Time +/- VMS
Azure email
Infrastructur
webhook
e

Automate
Automation
Runbook

Function

Logic Apps

rd 3rd Party URL


3 (ex PagerDuty)
Deployment slots
Produção
• Aplicativos ao vivo com seus próprios:
• Host names.
• Conteúdo.
• Configuração.
Podem ser trocados entre si. Por exemplo: swappable

• Staging ⬌ Production
• Production ⬌ Staging
• Dev ⬌ Test
• Test ⬌ QA
• QA ⬌ Staging
Staging QA Teste Dev
Demo
• Como implementar uma infra as com Ansible.

• Como implementar uma infra as com Terraform.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 8.1. Azure Functions

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 8.1. Azure Functions

Prof. Henrique Eduardo Souza


O que Azure Functions fazem?
Com quais linguagens?

C# JAVA PHP PY JS

PS SH
Integrações das Functions

Notification Hubs Event Grid Event Hubs Cosmos DB

Twilio

Azure
Storage Service Bus
Functions

Queue Blob Table Topics Queues


Ambientes Passives

Development Hosting

Local dev machine Azure Functions service Azure Functions service Azure Functions service

Platform +
●●●
Core Tools + favorite editor Consumption plan App Service plan Premium plan

App delivery

Code or container Code Code or container Code or container

OS

Windows, macOS, or Linux Windows or Linux Windows or Linux Windows or Linux


Funcionamento

Service

Input bindings
Output bindings

Output bindings

Trigger
Function

Input bindings

Service Service
Durable Function

F F3
1

F2
Durable Function

ProcessApproval

RequestApproval

Escalate
Demo
• Criar uma Azure Function no portal.

• Criar uma Azure Function no Visual Studio.

• Persistir a mensagem em uma Storage Queue.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 9. Logic Apps

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 9.1. Logic Apps

Prof. Henrique Eduardo Souza


O que é o Azure logic apps
• Solução de fluxo de trabalho de automação:
o Designer sem código para criação rápida de soluções de
integração.
o Modelos pré-construídos para simplificar os primeiros passos.
o Suporte pronto para uso para software como serviço (SaaS)
popular e integrações locais.

• Definição de fluxo de trabalho baseada em JSON:


o Pode ser implantado usando modelos do Azure Resource
Manager.
Workflow

Action Action Connector

Trigger

Action Connector Action

1. Provisionar recursos 2 . Configure o aplicativo 3. Gerenciar configurações futuras para escalar


Conectores
Conectores
Designer do Logic Apps
Designer do Logic Apps
Designer do Logic Apps
Demo
• Criar um logic App para receber um #twitter.

• Criar um logic App para receber mensagens da Storage Queue:

• Usar o conector para envio de e-mail para enviar o item que


foi baixado da fila.
• Remover a mensagem da fila.
Installing Ansible
Para permitir que uma máquina atue como a máquina de controle a partir da qual executa os
manuais, você precisa instalar o Python e o Ansible

Python: Ansible:
Must install either Python 2 (version 2.7), or Python 3 (versions Só precisa instalar o Ansible em uma máquina, que pode ser uma

3.5 and higher) estação de trabalho ou um laptop - você pode gerenciar uma frota
inteira de máquinas remotas a partir desse ponto central. Pode ser
Linux, macOS ou Windows.

Nenhum banco de dados é instalado como parte da configuração


do Ansible.

Nenhum daemons é necessário para iniciar ou continuar em


execução.
O que é Terraform?
HashiCorp Terraform é uma ferramenta de código aberto que permite provisionar, gerenciar e criar
versões da infraestrutura em nuvem.

Terraform’s a interface de linha de comando (CLI) Suporta cenários de várias nuvens, o que permite
fornece um mecanismo simples para implantar e que os desenvolvedores usem as mesmas
criar uma versão dos arquivos de configuração ferramentas e arquivos de configuração para
para o Azure. gerenciar a infraestrutura em vários provedores de
nuvem.
Components do Terraform
Alguns dos principais componentes do Terraform incluem:

Arquivos de configuração - Os arquivos de configuração baseados em texto permitem


que você defina a configuração da infraestrutura e do aplicativo e termine na extensão .tf
ou .tf.json.

Terraform CLI - Uma interface de linha de comando a partir da qual você executa as
configurações. Você pode executar comandos, como a aplicação do Terraform e o plano
do Terraform, junto com muitos outros.

Modules - Pacotes independentes de configurações do Terraform que são gerenciados


como um grupo
Demo
• Como implementar uma infra as com Ansible.

• Como implementar uma infra as com Terraform.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 10. IoT Hub

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 10.1. Conceitos Básicos IoT Hub

Prof. Henrique Eduardo Souza


Conceitos Básicos Sobre IoT Hub
Conceitos Básicos Sobre IoT Hub
Azure IoT Hub oferece suporte a recursos nas seguintes áreas:

Segurança Escalabilidade Rotas

Gerenciamento de
Serviço de Integração Monitoramento
Dispositivos
Conceitos Básicos Sobre IoT Hub

Recurso Plano Basic Plano Free/Standard


Device-to-cloud telemetry Sim Sim

Per-device identity Sim Sim

Message routing, message enrichments, and Event Grid integration Sim Sim

HTTP, AMQP, and MQTT protocols Sim Sim

Device Provisioning Service Sim Sim

Monitoring and diagnostics Sim Sim

Cloud-to-device messaging Sim

Device twins, Module twins, and Device management Sim

Device streams (preview) Sim

Azure IoT Edge Sim

IoT Plug and Play Preview Sim


Conceitos Básicos Sobre IoT Hub
Taxa de transferência Taxa de envio
A taxa de transferência do IoT Hub é Plano
sustentada sustentado
diferenciada por edições
Média de 278 mensagens
Até 1111 KB / minuto por
/ minuto por unidade
B1, S1 unidade (1,5 GB / dia /
(400.000 mensagens /
Você pode fazer upgrade ou downgrade unidade)
dia por unidade)

de edições a qualquer momento


Média de 4.167
Até 16 MB / minuto mensagens / minuto por
B2, S2 por unidade (22,8 GB unidade (6 milhões de
Em uma edição, você paga por um certo mensagens / dia por
/ dia / unidade)
unidade)
número de unidades

Média de 208.333
O escalonamento automático é possível Até 814 MB / minuto mensagens / minuto por
B3, S3 por unidade (1144,4 unidade (300 milhões de
por meio de uma implementação do GB / dia / unidade) mensagens / dia por
unidade)
Azure Functions
Conceitos Básicos Sobre IoT Hub

Dispositivos Gerando Dados Insights Ações


Baseado nos dados gerados pelos Baseado nos Insights
dispositivos
Conceitos Básicos Sobre IoT Hub

Áreas Para
Aplicações com
IoT Hub Retail Health Energy Government
Demo

• Trabalhando com Emuladores e IoT Hub.

• Registrando Dispositivos.
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 11. IoT Central

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 11.1. Introdução ao IoT Central

Prof. Henrique Eduardo Souza


Introdução ao IoT Central
Uma plataforma de aplicativos IoT totalmente gerenciada que reduz muito tempo construção e
manutenção de soluções IoT

✔ Altamente seguro

✔ Nível empresarial

✔ Preços previsíveis Conecte-se Permaneça conectado Transformar


Conecte dispositivos IoT à nuvem Reconfigure e atualize dispositivos Preencher a lacuna com
mais rápido do que qualquer com gerenciamento centralizado conectores e APIs de
✔ Com foco na indústria outra plataforma de dispositivos extensibilidade

Existing solution builders


Introdução ao IoT Central
Introdução ao IoT Central

Modelos de aplicativos Plataforma SaaS, pode Suporte do Azure IoT Suporte API Suporte para IoT Novo modelo de preços
para setores da conter sua marca Edge Plug and Play em 2 camadas
indústria

2 primeiros dispositivos incluídos Camada 1 Camada 2


(aplicam-se taxas de mensagens em 5.000 mensagens / mês / dispositivo 30.000 mensagens / mês / dispositivo
camadas)

free dispositivos adicionais: $ 0,40 (USD) cada. dispositivos adicionais: $ 0,70 (USD) cada.
Introdução ao IoT Central
Demo

• Como implementar uma infra as com Ansible.

• Como implementar uma infra as com Terraform.


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 12. Azure Sphere

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 12.1. O que é o Azure Sphere

Prof. Henrique Eduardo Souza


O que é o Azure Sphere
Azure Sphere são hardwares homologados pela Microsoft
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 12.2. Cenários para uso do Azure Sphere

Prof. Henrique Eduardo Souza


Cenários para uso do Azure Sphere
Cenários para uso do Azure Sphere
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 12.3. Principais Funcionalidades

Prof. Henrique Eduardo Souza


Principais Funcionalidades

Segurança Flexibilidade de implantação

Atualizações
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento
Capítulo 13. Power Patform

Prof. Henrique Eduardo Souza


Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 13.1. Power Apps

Prof. Henrique Eduardo Souza


Power Platform
A plataforma que exige pouco código e conecta Office 365, Azure,
Dynamics 365 e aplicativos autônomos

Power BI Power Apps Power Automate Power Virtual Agents


Análise de negócios Desenvolvimento de Automação de processos. Agentes virtuais inteligentes
aplicativos

Conectores de dados AI Builder Dataverse


Power Apps
Crie aplicativos de tela altamente Consuma aplicativos totalmente
Gere aplicativos orientados por modelos a
personalizados com base em tarefas e acessíveis pela Web e por dispositivos
partir de seus modelos de dados e
funções com dados de uma ou múltiplas móveis, integrados ou autônomos, de
processos de negócios
fontes qualquer dispositivo
Power Apps
Plataforma que precisa de pouco ou nenhum código para a criação de aplicativos

Trabalhe com os dados onde eles se encontram

Tipos de Power Apps:


Aplicativos de tela: crie um aplicativo a partir de uma tela em branco

Aplicativos orientados por modelo: crie com base em dados no Microsoft Dataverse

Portais: sites externos

Aplicar inteligência artificial ao seu aplicativo sem código


O modelo de predição: usando o AI Builder, crie um modelo para prever uma resposta
sim ou não com base nos dados históricos
Aplicativos de tela
Os aplicativos de tela são uma ótima opção quando você
quer criar um aplicativo a partir de uma tela em branco.
Para começar, você escolhe o tamanho da tela: tablet ou
celular. Depois é possível criar a partir de uma tela em
branco.

Você pode adicionar fontes de dados para interagir com


os dados no seu aplicativo. Arraste e solte vários controles
e escreva fórmulas de estilo do Excel para adicionar a
funcionalidade desejada. Com os aplicativos de tela, você
tem total flexibilidade na criação de aplicativos.
Aplicativos orientados por modelo
Aplicativos orientados por modelo criados a partir de dados no
Microsoft Dataverse. O Power Apps criará um aplicativo
totalmente funcional e atrativo para interagir com esses dados.
Em aplicativos orientados por modelo, você não precisa escolher
o tamanho do aplicativo; ele é responsivo, o que significa que
funciona no celular ou tablet sem necessidade de trabalho extra.

Você define as relações, formas, exibições, regras de negócios e


muito mais na camada de dados, dentro do Dataverse. Com
isso, você tem controle suficiente para obter o resultado do seu
negócio sem precisar escrever todas as fórmulas.
Portais
Os portais levam o poder das soluções sem
código para a criação de sites externos. Na
interface do Power Apps, você pode criar um site
anônimo ou autenticado para os usuários
interagirem com os dados mantidos no Dataverse.

A mesma experiência de arrastar e soltar que você


tem ao criar aplicativos está disponível para criar
esses sites interativos.
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 13.2. Power Automate

Prof. Henrique Eduardo Souza


Power Automate
Cenários e recursos comuns:
Automatizar tarefas repetitivas;

Orientar um usuário por um processo;

Conectar-se a fontes de dados externos;

Automatizar processos baseados em desktop.


Aprovação de uma ordem de compra
Aprovação de uma ordem de compra
Tipos de Fluxo

• Fluxos controlados por eventos

• Fluxos de processo empresarial

• Fluxos de desktop
Soluções para Desenvolvimento e
Ferramentas de Gerenciamento

Aula 13.3. Power BI

Prof. Henrique Eduardo Souza


O que é Power BI
Plataforma de autoatendimento que ajuda você a
As visualizações são relatórios interativos e escalonáveis
descobrir, analisar e visualizar dados para compartilhar
com base em coleções de diferentes fontes de dados.
insights e colaborar com seus colegas.
Fontes de Dados
• Arquivos do Excel
• Bancos de dados
• Dados do Azure
• AppSource
• Dynamics 365
• Provedores de SaaS
– Salesforce
– Facebook
– Google Analytics
– Outros serviços SaaS
Onde podemos usar
• Desktop
• Móvel
• Serviço
Visualizações e modelagem de dados
No Power BI Desktop, você
começará a criar relatórios
na Exibição de relatórios.
Você trabalhará em cinco
áreas principais:

1. Faixa de opções

2. Exibição de relatório ou tela

3. Guia Páginas

4. Painel Visualizações

5. Painel Campos

Você também pode gostar