Você está na página 1de 92

INTRODUÇÃO E

CONFIGURAÇÕES INICIAIS
Prof. Victor Sales Silva
victorssbh@hotmail.com

1
Apresentação

FORMAÇÃO ACADÊMICA​ ATUAÇÃO NO MERCADO​

Estagiário Help Desk / Estagiário DBA


/ DBA / Analista de Business
Técnico em informática e redes – Intelligence – Take.Blip (2011 - 2017)
SENAI(2002)​ Especialista de Business
Intelligence Financeiro – AlmavivA do
Brasil LTDA (2017 - 2018)
Especialista em Business Intelligence
– Montreal Informática LTDA (2018 -
Engenheiro de Computação – PUC Minas
2019)
(2009 – 2014)​
• Ferrous Resource do Brasil LTDA
(adquirida pela Vale S.A.)
Especialista em Dados / Tech Lead –
MBA em Banco de Dados – CEFET-
A3Data Consultoria LTDA (2019 –
MG (2015 – 2017)​
atualmente)

2 Introdução e configurações iniciais


Sobre a disciplina
O que iremos estudar?
• Conceitos e técnicas de ingestão de dados
– CDC / Complex Event Processing / Real-Time Process / Batch Process
• Atualizações de dados
– Slowly Change Dimension / Técnicas de atualização baseadas em diferenças temporais
• Tratamento de eventos
• Mecanismos de inferência de tipagem
– Schema assert
• Monitoramento de camadas de ingestão de dados
• Organização de áreas de dados RAW
• Ferramentas e tecnologias para ingestão de dados
• Setup de infraestrutura de rede

3 Introdução e configurações iniciais


Sobre a divisão de pontos

Atividade​ Pontuação​ Tipo de Atividade​

Exercício 1 – Criação de Serviços na 10 Individual


plataforma Microsoft Azure
Exercício 2 – Scripts de normalização e 15 Individual
tratamento de dados
Exercício 3 – Ingestão de dados BATCH 15 Individual

Exercício 4 – Ingestão de dados 15 Individual


STREAMING
Exercício 5 – Catalogação / Visualização de 15 Individual
Dados
Trabalho Prático – Projeto de Big Data 30 Grupo

4 Introdução e configurações iniciais


Programação

OU

Domingo​ Segunda-feira​ Terça-feira​ Quarta-feira​ Quinta-feira​ Sexta-feira​ S

1 2

4 5 6 7 8 9

11 12 13 14 15 16

18 19 20 21 22 23

25 26 27 28 29 30

5 Introdução e configurações iniciais


Programação

OUTUBRO
Domingo​ Segunda-feira​ Terça-feira​ Quarta-feira​ Quinta-feira​ Sexta-feira​ Sábado​

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29
Introdução e configurações iniciais

30 31
Criação de recursos em nuvem

6 Introdução e configurações iniciais


Programação

NOVEMBRO
Domingo​ Segunda-feira​ Terça-feira​ Quarta-feira​ Quinta-feira​ Sexta-feira​ Sábado​

1 2 3 4 5

6 7 8 9 10 11 12
Técnicas de normalização /
Atualização e tratamento de dados

13 14 15 16 17 18 19
Criação de processos Batch

20 21 22 23 24 25 26
Criação de processos Streaming

27 28 29 30

7 Introdução e configurações iniciais


Programação

DEZEMBRO
Domingo​ Segunda-feira​ Terça-feira​ Quarta-feira​ Quinta-feira​ Sexta-feira​ Sábado​

1 2 3

4 5 6 7 8 9 10
Catalogação de dados /
Validação de fluxo de dados

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

8 Introdução e configurações iniciais


Na aula de hoje...

• Dado, informação, conhecimento e sabedoria


• O que é ingestão de dados
• O que é Big Data
• Tecnologias de ingestão em Batch
• Tecnologias de ingestão em Streaming
• Infraestrutura como Código
• Computação em nuvem
• Criação de ambiente em nuvem na plataforma Microsoft Azure

9 Introdução e configurações iniciais


VAMOS COMEÇAR?
Dado, informação, conhecimento e sabedoria

OS DADOS SÃO O MAIOR ATIVO DAS PESSOAS (E DE UMA

EMPRESA). CONHECIDOS COMO O “NOVO PETRÓLEO”, SÃO

FUNDAMENTAIS PARA DIRECIONAR ORGANIZAÇÕES, EQUIPES E

PESSOAS PARA A CULTURA DATA DRIVEN, TÃO FALADA NOS

ÚLTIMOS TEMPOS.

11 Introdução e configurações iniciais


Dado, informação, conhecimento e sabedoria
• O que é dado?

12 Introdução e configurações iniciais


Dado, informação, conhecimento e sabedoria
• O que é dado?

Figura 2: Número de interações nas plataformas citadas no intervalo de 1 minuto em algum momento do ano de 2021

13 Introdução e configurações iniciais


Dado, informação, conhecimento e sabedoria
• O que é dado?

Fonte: Adaptado de FORBES, 2015

14 Introdução e configurações iniciais


Dado, informação, conhecimento e sabedoria
Dado: Registro que é gerado diante de uma ação
Pirâmide DIKW (DICS)
ou evento. Armazenado em sua forma bruta em
alguma estrutura (banco de dados, arquivos e
outras coisas mais). Normalmente, não possuem
um significado que permita tomada de decisão.
Informação: Representa uma coleção de dados
tratados. Conseguem nos dar uma compreensão
do conteúdo dos dados analisados para
determinadas situações.
Conhecimento: Ao analisar as informações,
compreender seus valores, aspectos e padrões,
pode-se tomar decisões estratégias para o cenário
analisado.
Sabedoria: A percepção de todo o conhecimento
das informações contidas nos dados.
Fonte: FRICKÉ, 2009

15 Introdução e configurações iniciais


Dado, informação, conhecimento e sabedoria
• Para alcançar os níveis da pirâmide, é necessário realizar etapas
de acesso, coleta, tratamento, manipulação, limpeza,
padronização e outras operações de enriquecimento de dados.
• Existem processos definidos na área de dados que fazem essas
etapas. As metodologias de Business Intelligence, existentes há
tempos são muito empregadas para manipular dados já
conhecidos e com uma estrutura bem definida, enquanto as
tecnologias de Big Data, mais recentes, focam em permitir
avançadas análises exploratórias, facilitar a criação de modelos de
ciência de dados e explorar dados com diversas perspectivas.

16 Introdução e configurações iniciais


O que é Big Data
• Para falar de Big Data, é importante entender o que é Business
Intelligence e como eles se diferenciam.
– O termo Business Intelligence (muitas vezes abreviado para B.I.) define um conjunto de
técnicas e de ferramentas de coleta, transformação, armazenamento e visualização de
dados para ajudar os consumidores de dados a tomarem decisões estratégicas baseadas
no monitoramento dos resultados capturados dos sistemas de origem.
– As ferramentas que fazem a captura, transformação e armazenamento dos dados de
sistemas transacionais são conhecidas como ETL (Extraction, Transformation and Load –
Extração, Transformação e Carga).
– Os dados coletados são tratados de acordo com os conceitos de modelagem dimensional
(discutidos por Inmon e Kimball) e são armazenados em estruturas de banco de dados
analíticas (OLAP), conhecidas como Data Warehouses (D.W.) e / ou Data Marts (D.M.).

17 Introdução e configurações iniciais


O que é Big Data
OLTP OLAP

ETL ETL
Staging Area Data Warehouse
Data Mart

18 Introdução e configurações iniciais


O que é Big Data
• O termo refere-se à um conjunto complexo, muito volumoso e
variável de dados estruturados, semiestruturados ou não
estruturados, gerados com uma grande velocidade. Tem-se falado
de Big Data desde a década de 2000.
• O termo é frequentemente associado ao que é conhecido como
“V’s” do Big Data. Inicialmente, era associado à 3 fatores:
– Volume
– Velocidade
– Variedade
• Atualmente, algumas variações dessa definição podem ser
encontradas na literatura.

19 Introdução e configurações iniciais


O que é Big Data
Volume: Quantidade de dados coletados/armazenados e que
podem ser analisados. Estamos falando de escala de Terabytes
para cima.
Volume
Velocidade: Quantos dados são
gerados/armazenados/analisados por segundo (real-time) ou
em outras escalas temporais (batch).
Variabilidade Velocidade
Variedade: Quais tipos/formatos de dados podem ser
analisados.
Valor: Que tipo de valor/vantagem eu posso ter com todos os
meus dados?

Visualização Variedade
Veracidade: Meus dados são verídicos? Confiáveis? São
relevantes?
Visualização: Quando exibo os meus dados, eles fazem
sentido? Ao visualizar o conjunto de informações, consigo tomar
alguma decisão?
Veracidade Valor
Variabilidade: Com a variedade de informações que possuo,
quantas interpretações/entendimentos posso inferir baseado no
conjunto?

Fonte: Adaptado de TechBlogger

20 Introdução e configurações iniciais


O que é Big Data
• Diferentemente do que é realizado em Business Intelligence, a
abordagem em Big Data foca em permitir análises exploratórias
usando diferentes perspectivas dos dados de origem.
• A ideia é que os dados originais sejam carregados “como são” em
locais de armazenamento de acesso rápido e capazes de suportar
diferentes formatos. O tratamento desses dados é feito na
camada de visualização ou para criação de diferentes análises
exploratórias. Esses locais são chamados de Data Lake.

21 Introdução e configurações iniciais


O que é Big Data
Data Sources Data Capture Storage Data Analysis Data Visualization

BATCH

STREAMING
(REAL TIME)

Orquestração

22 Introdução e configurações iniciais


O que é Big Data
OLTP
Big Data Analytics

Data Mart Data Mart

ELT

Enterprise Data
Warehouse

23 Introdução e configurações iniciais


O que é Big Data
DATA WAREHOUSE vs DATA LAKE

Estruturados e processados DADOS Estruturados, semi estruturados e


não estruturados
Schema-on-write PROCESSAMENTO Schema-on-read

Designado para grandes volumes de ARMAZENAMENTO Designado para armazenamento de


dados estruturados, custo depende da qualquer tipo de dados, possui baixo
quantidade de registros e tratamento dos custo de armazenamento
dados
Dificuldade de alteração de estrutura. ACESSIBILIDADE Facilidade de acesso e de
Acesso rápido, porém, com poucas atualização de dados e estrutura.
formas de acesso onde, normalmente, a Várias ferramentas e linguagens de
linguagem SQL é a predominante programação conseguem acessar
Maduro SEGURANÇA Em amadurecimento

Profissionais de negócio USUÁRIOS Cientistas de dados, profissionais de


negócio
Dados em utilização PROPÓSITO DOS DADOS Dados em utilização, ainda não
determinados

24 Introdução e configurações iniciais


O que é ingestão de dados
• A ingestão de dados é a etapa de coleta e armazenamento de
dados. Os registros de uma ou mais fontes de dados são extraídos
através de ferramentas disponíveis no mercado (sejam open
source ou sob licença paga), scripts criados em diversas linguagens
de programação e armazenados em algum ambiente que permita
analisar seu conteúdo (bancos de dados / data lakes / sistemas de
arquivos et. al).
• Para a ingestão de dados, diversos métodos devem ser
considerados para identificar a melhor estratégia de carga dos
dados
• Algumas perguntas podem ajudar a identificar a melhor forma de
realizar a ingestão dos dados
25 Introdução e configurações iniciais
O que é ingestão de dados
• Que tipo de dado será manipulado?
• Em quanto tempo será necessário ter acesso aos dados?
• Os dados sofrem atualizações? Existem campos de controle de
alteração?
• Quem poderá visualizar os dados?
• Por quanto tempo esses dados deverão ser armazenados?
• Como garantir segurança dos dados?
• Como garantir escalabilidade no processo de ingestão de dados?

26 Introdução e configurações iniciais


O que é ingestão de dados
Exemplos de ferramentas de ingestão de dados

27 Introdução e configurações iniciais


O que é ingestão de dados
• A etapa de ingestão de dados requer a escolha de uma
arquitetura que seja resiliente e escalável, pois é um dos
processos mais importantes da análise dos dados e impactará
diretamente na visualização dos consumidores de informações.
• As metodologias desenvolvidas para a coleta, transformação,
limpeza e armazenamento de dados entre sistemas transacionais
e analíticos mais utilizadas no mercado são BATCH e STREAMING

28 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• BATCH é o processo de carga de dados em lotes (blocos de dados).
Historicamente, grande parte das ferramentas existentes no
mercado fazem a ingestão de dados usando essa metodologia e,
normalmente, são relacionadas como a etapa de ingestão de um
projeto de Business Intelligence.
• Na abordagem BATCH, os dados são “amontoados” em blocos que
podem ser agrupados por fatores temporais, segmentações de
grupos e outras coisa mais. Em seguida, uma rotina definida pelo
usuário processa esses blocos de acordo com os horários
agendados e definidos com os consumidores/técnicos.

29 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• Processos em BATCH são indicados em ambientes onde o usuário
não tem necessidade de visualizar os dados em tempo real (dados
quentes – exatamente quando são gerados), quando grandes
volumes de dados estão sendo executados por algoritmos
complexos (agregações, cursores e por assim vai), quando é
necessário analisar todo o volume de dados e quando os dados
são formados através de junções de tabelas.

30 Introdução e configurações iniciais


Tecnologias de ingestão em Batch

Query

Dados Camada de
armazenamento /
Periodicidade análise
Horas para dias
Lote Lote Lote Lote Lote Lote Lote Lote

Processamento batch
Data Sources

31 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• Atualmente, são utilizadas duas abordagens para executar carga
de dados utilizando a metodologia BATCH

– CARGA INCREMENTAL:
São utilizadas técnicas para coletas de informações que não foram previamente

carregadas para ambientes analíticos. Normalmente, essa metodologia é utilizada
para carga histórica de informações que não sofrem alterações no decorrer do
tempo.
– CARGA COMPLETA:
• Nessa metodologia, os dados são carregados sempre que o processo é executado,
sobrescrevendo dados já existentes ou, se for um novo objeto, dando novas visões.
Esse processo normalmente é aplicado em ambientes com grande atualização de
dados e que não tenham mecanismos simples de identificar a alteração de itens.

32 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• BATCH
– CARGA INCREMENTAL

ETL
Verifica o último Insere os novos
registro inserido registros na
pela data ou pelo ID camada de
sequencial armazenamento

Filtra os registros que


Lê todos os
estão na planilha e não
registros da estão na tabela
planilha

33 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• BATCH
– CARGA COMPLETA

ETL

Lê todos os
registros da
planilha
Se a tabela/arquivo já existir, todo o
seu conteúdo é apagado e os dados
são inseridos. Se a tabela/arquivo não
existir, cria e adiciona os registros
lidos

34 Introdução e configurações iniciais


Tecnologias de Ingestão em Streaming
• STREAMING é o processo de carga de dados em real-time
(processamento dos dados no exato momento que são gerados
no sistema transacional). O delay está em prazo de milissegundos,
tal que o usuário que possui acesso aos dados praticamente
consegue manipula-los em tempo real.
• É indicado em ambientes de missão crítica (onde os dados são
cruciais para detecção de anomalias – sensores, aviação, fábricas,
fraudes), e-commerce, análises médicas, monitoramento do clima
e outros cenários.

35 Introdução e configurações iniciais


Tecnologias de Ingestão em Streaming

Query

Dados Camada de
armazenamento /
Periodicidade análise
Milissegundos a
Contínua segundos

Processamento Streaming
Data Sources

36 Introdução e configurações iniciais


Tecnologias de ingestão em Batch
• Atualmente, são utilizadas duas abordagens para executar carga
de dados utilizando a metodologia STREAMING

– LOGS:
• Os eventos nos sistemas geram dados que podem ser coletadas no instante que são
criados e analisados por ferramentas que tenha baixa latência e capacidade de
processamento de dados em larga escala. Altamente empregada em ambientes de e-
commerce, sistemas bancários, informações de redes sociais, serviços geoespaciais e
outras coisas mais.
– PUB/SUB (MENSAGERIA):
• O mecanismo de mensagens, conhecido como PUB/SUB, cria tópicos que recebem e
“escutam” chamadas de serviços e envia para seus “assinantes”, que realização ações
de acordo com a configuração definida. É uma técnica amplamente empregada em
aplicações IoT (Internet of Things), mas pode ser utilizada em vários outros
segmentos.

37 Introdução e configurações iniciais


Tecnologias de ingestão em Streaming
• STREAMING
– LOGS

ELT
Insere os registros
no sistema analítico
Cadastros Buscas

Geração contínua de dados


Tempo
Compras de
Acesso Fluxo de todas as interações do usuário
(cadastro, busca, compras, tempo de
acesso e outras coisas mais).

38 Introdução e configurações iniciais


Tecnologias de ingestão em Streaming
• STREAMING
– PUB/SUB

Publisher A Publisher B

Mensagem 1 Mensagem 2

Tópico A Tópico B

Pub|Sub
Subscriber A Subscriber B

Subscriber A1 Subscriber A2 Subscriber B1 Subscriber b2

39 Introdução e configurações iniciais


Durante a disciplina, iremos utilizar
ambas as abordagens
Infraestrutura como Código
• Infraestrutura como código (ou IaC) é uma metodologia de
automação de infraestrutura de TI usada inicialmente por equipes
de DevOps (desenvolvedores e operação conjunta) para gerenciar
e provisionar recursos por meio de código.
• Essa abordagem pode ser utilizada tanto em recursos físicos,
virtuais ou em Cloud. Ela é uma abordagem de entrega ágil de
infraestrutura, usando de codificação simples e objetiva.
• A tecnologia é similar aos scripts de programação que são usados
para automatizar processos. Porém, nessa modalidade, são
usados para automatizar etapas de configuração que devem (ou
podem) ser repetidas várias vezes em vários servidores.
41 Introdução e configurações iniciais
Infraestrutura como Código
• Para a nossa aula, iremos utilizar o Terraform by HashiCorp

42 Introdução e configurações iniciais


Infraestrutura como Código
• Acesse o site Terraform.io, clique em “Download CLI”.

43 Introdução e configurações iniciais


Infraestrutura como Código
• Faça o download do Terraform para a versão do seu sistema
operacional e arquitetura do processador (32 bits = 386 / 64 bits =
Amd64).

44 Introdução e configurações iniciais


Infraestrutura como Código
• O Terraform está disponível para ser utilizado no Windows, Linux,
MacOS e outros sistemas operacionais. A HashiCorp distribui
apenas um arquivo binário e já compilado, não sendo necessário
fazer a instalação pelos métodos tradicionais. Basta fazer o
download do arquivo e incluir o local onde o executável está na
variável de sistema “PATH”.
• Os links abaixo orientam sobre como configurar e utilizar o
Terraform na AWS, Azure e GCP, respectivamente.
– Get Started - AWS | Terraform - HashiCorp Learn
– Get Started - Azure | Terraform - HashiCorp Learn
– Get Started - Google Cloud | Terraform - HashiCorp Learn

45 Introdução e configurações iniciais


Infraestrutura como Código
• Descompacte o arquivo .zip numa pasta de fácil acesso (sugestão:
C:\terraform\). Um arquivo com extensão .exe deverá ser criado
na pasta mencionada.

46 Introdução e configurações iniciais


Infraestrutura como Código
• Acesse as variáveis de
sistema para mapear o
executável como aplicação
padrão e permitir a sua
chamada sem precisarmos
fornecer o caminho exato de
onde foi descompactado.
• Pesquise por “Variáveis de
ambiente” no sistema
Windows (procedimentos
similares devem ser feitos em
outros SO’s).

47 Introdução e configurações iniciais


Infraestrutura como Código
• Em propriedades do
Sistema, na guia Avançado,
clique em “Variáveis de
ambiente”.

48 Introdução e configurações iniciais


Infraestrutura como Código
• Na sessão “Variáveis do
sistema”, procure pela variável
“Path” e clique em Editar.
• Clique em “Novo” e, em seguida,
informe o diretório onde o
arquivo terraform.exe foi
descompactado.
• Acesse o prompt de comando e
digite terraform --version.
• Se estiver tudo certo, você verá
informações sobre o
executável.

49 Introdução e configurações iniciais


Todas as tecnologias comentadas
podem ser executadas em
ambientes físicos controlados pelo
cliente (chamados de on premises ou
em nuvem)
Computação em nuvem
• Cloud Computing remete à possibilidade de acessar arquivos,
executar programas e até mesmo criar uma infraestrutura
utilizando ferramentas ofertadas por alguns provedores desses
serviços, precisando apenas de uma conexão com a Internet.
• Isso implica em não termos a necessidade de ter uma estrutura
física de hardware, incluindo local de armazenamento, custo com
energia elétrica, manutenção, segurança do CPD (Central de
processamento de dados), cabeamento e outras coisas.

51 Introdução e configurações iniciais


Computação em nuvem
• Microsoft OneDrive, Dropbox, Google Drive e similares são
exemplos de tecnologias de armazenamento em nuvem. Com
esses, os usuários podem armazenar quaisquer dados e acessá-
los de vários lugares e em vários dispositivos (Computadores,
smartphones, tablets etc.), necessitando apenas de Internet (em
alguns casos, é possível até acessar Off-line).

52 Introdução e configurações iniciais


Computação em nuvem
• Além do armazenamento, há empresas mundialmente conhecidas
que fornecem soluções de computação de uso geral
(processamento, entrega de conteúdo, redes, segurança,
integração e análise de dados, backup e muitas outras coisas)
como PaaS (platform as a service), SaaA (software as a service) e
IaaS (infrastructure as a service).

53 Introdução e configurações iniciais


Computação em nuvem
Alguns dos provedores de computação em nuvem no mercado

54 Introdução e configurações iniciais


Computação em nuvem
• Os provedores de computação em nuvem possuem uma
variedade de serviços, cada um com seu método de precificação.
Verifique na página do serviço / provedor escolhido as
informações de uso e custo.
• Em PUBLIC CLOUD SERVICES COMPARISON, é possível analisar
os serviços de cada nuvem e quais são seus similares nas
concorrentes.
• Para a realização das nossas aulas, iremos utilizar o MICROSOFT
AZURE. Cada aluno da PUC Minas tem direito a uma assinatura de
estudante com um voucher de $100. Será suficiente para nossos
trabalhos.
55 Introdução e configurações iniciais
Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Para seguir com as próximas atividades, será necessário
configurar a conta Microsoft Azure e criar uma assinatura de
estudante.
• Acesse o portal MICROSOFT AZURE e siga os passos a seguir:

56 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Faça login com seu usuário e senha da PUC (os mesmos para
acessar os laboratórios).

57 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Em seguida, iremos criar uma assinatura para estudantes. Para
isso, em serviços do Azure, procure por Assinaturas.

58 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Clique em Adicionar para criar uma assinatura.

59 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Selecione a opção “Azure para Estudantes”.

60 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Na página para qual será redirecionado, clique em “Início gratuito”

61 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Será solicitado que
informe um número de
telefone para receber
uma confirmação via SMS
para criar a sua conta.
Informe um telefone para
contato.

62 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Digite o código recebido
via SMS e clique em
“Verificar código”. Caso
não tenha recebido,
clique em “Não recebi
nenhum código” para
reiniciar o processo.

63 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Preencha todas as
informações pessoais
solicitadas (Nome,
endereço, e-mail,
telefone, CEP). Note que
não será solicitado cartão
de crédito. O campo CNPJ
não é obrigatório.

64 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Caso exibida, aceite o contrato (é importante ler para ter ciência
de que a Microsoft pode utilizar de informações compartilhadas!).

65 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Se tudo ocorrer corretamente, você será redirecionado para a
página de Educação do Portal Azure.

66 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Acesse novamente o Portal Azure para ser redirecionado à pagina
inicial e acesse o serviço “Assinaturas”.

67 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Mantenha o ID da Assinatura seguro (NÃO COMPARTILHE ESTE
REGISTRO). Precisaremos dele mais a frente!

68 Introdução e configurações iniciais


PARA UTILIZAR IAC, SERÁ NECESSÁRIO INSTALAR O
AZURE CLI E UMA IDE PARA DESENVOLVIMENTO DE
SCRIPTS. AS INFORMAÇÕES PARA CADA SISTEMA
PODEM SER ACESSADAS NO LINK A SEGUIR:
INSTALL THE AZURE CLI | MICROSOFT DOCS
Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Selecione uma opção para instalar a Azure CLI de acordo com a
versão do seu sistema operacional.

70 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Após instalar a Azure CLI, acesse o serviço Windows Power Shell
(ou prompt de comando) como administrador. Para verificar se
está configurado, digite:
az --version

71 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Para autenticar o ambiente com
a sua conta Azure, digite az
login. Você será redirecionado
para a página de login do portal.
Informe seu usuário e senha.
• Se tudo ocorrer bem, uma
mensagem informará que você
logou com sucesso na sua conta
e o Windows PowerShell exibirá
informações da sua conta. O
mesmo processo irá ocorrer em
quaisquer sistemas
operacionais compatíveis com a
CLI.

72 Introdução e configurações iniciais


PARA O DESENVOLVIMENTO DE SCRIPTS,
RECOMENDO A UTILIZAÇÃO DO VISUAL STUDIO
CODE.
PARA BAIXAR, ACESSE: VISUAL STUDIO CODE - CODE
EDITING. REDEFINED
Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Escolha a versão compatível com o seu sistema operacional.

74 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Instale as extensões do Terraform no Visual Studio.
– Aperte CTRL + SHIFT + X ou clique no ícone de extensões no Visual Studio Code:

75 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Instale as extensões do Terraform no Visual Studio.
– Procure e instale seguintes extensões:
• Terraform (by Anton Kulikov)
• HashiCorp Terraform (by HashiCorp)
• Azure Terraform (by Microsoft)

76 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Antes de continuar, vamos verificar uma região de disponibilidade
da plataforma Azure que seja compatível com a sua assinatura
• Abra o prompt de comando do Windows / Terminal no Linux ou
MacOS
• Execute o seguinte comando:
az vm list-skus --size Standard_B2ms --output table

• Este comando verificará as regiões onde a máquina do tipo


“Standard_B2ms” (que será utilizada nas aulas) está disponível
para uso.

77 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Copie o valor do campo Locations uma região que tenha, no
mínimo, 2 zonas de disponibilidade e que esteja com o campo
Restrictions com valor igual a None

78 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• A plataforma Microsoft Azure trabalha com o conceito de grupo de
recursos (uma carteira onde serviços podem ser configurados). É
obrigatório que haja um grupo de recursos antes de qualquer
serviço ser criado.
• Eles podem ser utilizados para separar ambientes de
desenvolvimento, homologação, produção e afins.
• Iremos criar um grupo de recursos e uma conta de
armazenamento para as atividades que serão realizadas em sala
de aula.

79 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Crie uma pasta (sugestão de nome: Terraform_Aula) em seu
computador em algum diretório que seja de fácil localização
(sugestão: Pasta de documentos do usuário).
• Abra a pasta através do Visual Studio Code
• Crie os seguintes arquivos:
– provider.tf
– variables.tf
– resourcegroup.tf
– storageaccount.tf

80 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure

81 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• No arquivo provider.tf, insira o código a seguir:

# We strongly recommend using the required_providers block to set


the
# Azure Provider source and version being used
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "=3.0.0"
}
}
}

# Configure the Microsoft Azure Provider


provider "azurerm" {
features {}
}

82 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• No arquivo variables.tf, insira o código a seguir:

variable tags {
default = {
Aluno = "Insira seu nome completo"
Disciplina = "Preparação e Catalogação de Dados"
Matrícula = "Coloque seu número de matrícula"
Email = "@sga.pucminas.br"
Professor = "Victor Sales Silva"
}
}

variable localizacao {
description = "Localização geográfica dos recursos Azure"
default = "mude para a região disponível para uso da máquina
Standard_B2ms"
}

83 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Ainda arquivo variables.tf, insira o código a seguir:

variable gruporecursos_aula {
description = "Grupo de recursos utilizados durante as aulas"
default = "resourcegroup_aulas"
}

variable contaarmazenamento {
description = "Conta de armazenamento dos dados usados
durante as aulas"
default = "storageaccountXXXXXX" # Substituir o XXXXXX pelo
código de matrícula
}

84 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• No arquivo resourcegroup.tf, insira o código a seguir:

# Create a resource group


resource "azurerm_resource_group" "resourcegroup_aulas" {
name = var.gruporecursos_aula
location = var.localizacao
tags = var.tags
}

85 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• No arquivo storageaccount.tf, insira o código a seguir:

resource "azurerm_storage_account" "storageaccount_aulas" {


name = var.contaarmazenamento
resource_group_name = var.gruporecursos_aula
location = var.localizacao
account_tier = "Standard"
account_replication_type = "GRS"
tags = var.tags
depends_on = [
azurerm_resource_group.resourcegroup_aulas
]
}

86 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Execute o terminal no Visual Studio Code e realize os
procedimentos de criação de um projeto de IaC, conforme visto na
disciplina de DevOps

– terraform init: Inicializar o projeto com o provider escolhido). Só é necessário executar


para vincular o provider escolhido com o Terraform
– terraform plan: Planejar a implantação dos recursos definidos nos arquivos
– terraform apply: Implantar os recursos que foram planejados no provider definido.
Lembre-se de confirmar a alteração digitando yes quando solicitado

– Para destruir toda a infraestrutura, utilize o comando terraform destroy


– Para destruir um recurso específico, comente o conteúdo ou renomeie a extensão do
arquivo para qualquer coisa diferente de .tf que possui o recurso que será removido e
execute os comandos terraform plan e terraform apply, respectivamente

87 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Verifique se o grupo de recursos foi criado na plataforma
Microsoft Azure

88 Introdução e configurações iniciais


Criação de ambiente em nuvem na plataforma Microsoft
Azure
• Verifique se aconta de armazenamento foi criada na plataforma
Microsoft Azure

89 Introdução e configurações iniciais


DÚVIDAS?
OBRIGADO!

91
REFERÊNCIAS BIBLIOGRÁFICAS
• FORBES. “20 fatos sobre a internet que você (provavelmente) não sabe".
Disponível em: <20 fatos sobre a internet que você (provavelmente) não sabe
- Forbes Brasil>. Acesso em 16 mai. 2021.

• FRICKÉ, Martin. "The Knowledge Pyramid: a Critique of the DIKW Hierarchy".


Disponível em: <Knowledge pyramid (IEKO) (isko.org)>. Acesso em 16 mai.
2021.

• LEWIS, Lori. “2020: This is What Happens In An Internet Minute". Disponível


em: <https://twitter.com/lorilewis/status/1237753508201402371>. Acesso em
16 mai. 2021.

• TechBlogger. “8 characteristics of Big Data". Disponível em: <characteristics of


big data - know the 8 V's of big data (contenteratechspace.com)>. Acesso em
16 mai. 2021.
92 Introdução e configurações iniciais

Você também pode gostar