Alura > Cursos de DevOps > Cursos de OCI > Conteúdos de OCI > Primeiras aulas do curso Oracle Cloud Infrastructure: banco de dados e infraestrutura como código

Oracle Cloud Infrastructure: banco de dados e infraestrutura como código

Bancos de dados na OCI - Apresentação

Olá, bem-vindo à segunda parte do nosso treinamento sobre Oracle Cloud. Para que você possa acompanhá-lo, é necessário que já tenha realizado a primeira parte, o curso de Oracle Cloud Infrastructure: implantação de uma aplicação na nuvem, em que aprendemos os conceitos básicos de OCI.

Naquele primeiro treinamento, implantamos uma rede virtual através do menu da OCI, na lateral esquerda, na área "Rede". Em seguida, criamos as instâncias de computação através no menu "Computação". E nossa última tarefa foi a criação de um load balancer, também na área "Rede", para permitir que nossa aplicação escale horizontalmente.

Agora, vamos continuar nossa missão de implantar o Doguito Pet Shop a partir de onde paramos. Inicialmente, precisamos definir como realizar o armazenamento dos dados dinâmicos do Doguito, o que será feito através de um banco de dados. No menu lateral da OCI, temos as opções "Oracle Database" e "Banco de Dados". Vamos estudar os diferentes tipos de bancos de dados oferecidos pela OCI e verificar qual melhor se encaixa em nossas necessidades.

Em seguida, veremos também as opções de armazenamento à nossa disposição, no menu lateral da OCI, em "Armazenamento" — ou "Storage, caso esteja usando a ferramenta em inglês. Analisaremos as características desses armazenamentos, suas peculiaridades, casos de uso, assim como as possibilidades de uso pela nossa própria aplicação, o Doguito.

Por fim, praticamente toda implementação de ambiente cloud deve ter algum mecanismo de automação e reprodutibilidade para que possamos versionar e implantar com bastante segurança nossa infraestrutura, evitando procedimentos manuais que são bastante propensos a erros. Com esse objetivo, aprenderemos a usar o gerenciador de recursos, que podemos encontrar no menu da OCI na área "Serviços de Desenvolvedor".

Vamos implementar a infraestrutura do Doguito como código através de scripts Terraform.

Espero que você esteja bastante animado para começar esse curso, porque temos bastante a fazer. Vamos lá!

Bancos de dados na OCI - Bancos de dados na OCI

Olá. Nesta aula, veremos quais os tipos de serviços de banco de dados que a OCI oferece. Clicando no ícone do menu da OCI (no canto superior esquerdo da tela), teremos duas divisões que nos interessam: "Oracle Database" e "Bancos de Dados".

Num primeiro momento, vamos explorar a aba "Oracle Database". Dentro dela, selecionaremos a opção "Bare Metal, VM e Exadata". Em seguida, clicaremos no botão "Criar Sistema de BD" — ainda não faremos a criação, vamos entrar apenas para analisar seu conteúdo.

Nessa nova página, há uma série de campos a serem preenchidos com informações básicas do sistema. Por enquanto, vamos examinar os três tipos de forma que podemos selecionar.

A primeira opção é "Máquina Virtual" (ou Virtual Machine, se estiver navegando em inglês), que nos dá a oportunidade de um provisionamento muito rápido. Nesse caso, o próprio sistema da Oracle gerenciará o volume de dados. A segunda opção é "Bare Metal", que significa que teremos um servidor físico dedicado, resultando numa melhor performance. A terceira opção é o "Exadata", direcionado para sistemas com grande volume de transações. Ele consegue suportar até 2.5 petabytes de dados, com altíssima performance, ou seja, é interessante para grandes clientes, grandes casos de uso.

Vamos voltar ao menu da OCI e selecionar "Oracle Database > Autonomous Database". Em português, bancos de dados autônomos. Em seguida, clicaremos no botão "Criar Autonomous Database". Dessa vez, vamos analisar alguns tipos de carga de trabalho e os tipos de implantação disponíveis.

Esses bancos de dados autônomos utilizam aprendizagem de máquina para otimização do processo de segurança, back-up, atualizações e outras atividades rotineiras que tradicionalmente são feitas pelos administradores de bancos de dados.

Nessa categoria de bancos de dados autônomos, há uma divisão. O "Data Warehouse" serve para fazer análise de dados para grandes volumes de informações. Já "Processamento de Transações" (ATP) é mais operacional, para transações executadas muito rapidamente. Ou seja, o primeiro é mais voltado para volumes e o segundo, para transações. De forma oculta, esses bancos de dados utilizam Exadata — mas, no caso, a própria OCI faz esse gerenciamento.

Quanto aos tipos de implantação, temos duas opções. Com a "Infraestrutura Compartilhada", seremos responsáveis por gerenciar somente o banco de dados autônomo, enquanto a OCI gerenciará a implantação dos dados em si. Com a "Infraestrutura Dedicada", teremos o uso exclusivo do hardware e do Exadata, resultando numa performance mais alta.

Os bancos de dados autônomos são ditos self-driving, porque todo gerenciamento da infraestrutura, incluindo a monitoração e otimização, é automatizada. Eles também são ditos self-securing, significando que esses bancos possuem recursos automáticos que protegem contra ataques externos, usuários maliciosos internos, entre outras questões. Por fim, os bancos de dados autônoms também são ditos self-repairing, o que quer dizer que os bancos se previnem automaticamente de quaisquer indisponibilidades que possam ocorrer.

Desse modo, na aba "Oracle Database", vimos as opções de "Bare Metal, VM e Exadata" e "Autonomous Database". Esses bancos variam em questões de performance, de necessidade de gerenciamento e também de custo — em geral, quanto mais dedicada for a máquina, maior a tarifa de operação.

Além dessas opções, na aba "Bancos de Dados" no menu da OCI, temos como alternativas "MySQL" e "Oracle NoSQL Database". O MySQL será fornecido como um serviço totalmente gerenciado pela OCI e suportado pelo próprio time do MySQL que trabalha na Oracle. Já o NoSQL Database suportará cargas sob demanda, trabalho com tabelas JSON e dados do tipo chave-valor. Além disso, ele tem garantia de transações com latência inferior a 10 milissegundos — algo bem interessante.

Voltando a "Oracle Database > Autonomous Database" e clicando novamente no botão "Criar Autonomous Database", temos o "APEX" que servirá para aplicações de baixo código (ou low code), também com gerenciamento automático. E, por fim, temos o "JSON" que deixamos por último porque é justamente com o qual vamos trabalhar nesse curso — ele é um banco de dados NoSQL que incluiremos na nossa aplicação Doguito Pet Shop.

Focaremos no JSON porque nossa aplicação é feita em Node, que trabalha muito bem essa junção entre NoSQL e JSON, facilitando nossa programação.

Bancos de dados na OCI - Criando um banco autônomo

Para o caso do Doguito, vamos utilizar o banco de dados no formato JSON, uma API bastante amigável, fácil para desenvolvermos.

Então, vamos criar nosso banco de dados. Partindo da primeira tela da OCI, acessaremos o menu e clicaremos em "Oracle Database > Autonomous Database" e pressionaremos o botão "Criar Autonomous Database".

Na nova tela, vamos fornecer alguns dados. Primeiramente, selecionaremos o compartimento de desenvolvimento. Em seguida, vamos definir "DOGUITODB" tanto como nome de exibição quanto o nome do banco de dados. No tipo de carga de trabalho, vamos selecionar o JSON — criado para desenvolvimento de aplicativos baseados em JSON, APIs de documento amigáveis para o desenvolvedor e armazenamento JSON nativo. Quanto ao tipo de implantação, escolheremos a infraestrutura compartilhada, que é o que temos disponível na nossa conta free trial.

Os próximos dados são as configurações do banco de dados. De início, vamos ativar a opção Always Free e seremos informados de que: "Se o seu Always Free Autonomous Database ficar sem atividade por 7 dias consecutivos, o banco de dados será interrompido automaticamente. Seus dados serão preservados e você poderá reiniciar o banco de dados para continuar utilizando-o. Se o banco de dados ficar parado por 3 meses, ele será recuperado".

No campo "Versão do banco de dados", podemos manter o número padrão, que é a versão 19 da Oracle. A contagem de OCPUs e o volume de armazenamento têm valores travados.

O próximo ponto importante é escolher a senha do usuário. Para fins didáticos, vamos colocar uma senha bem simples, "Doguito12345". Num cenário real, utilizaríamos uma senha mais elaborada, mais segura.

Em seguida, em tipo de acesso à rede, selecionaremos "Acesso seguro de todos os lugares", que permite que usuários com credenciais do banco de dados acessem o banco de dados pela internet. Essa opção nos obriga a fazer um TLS mútuo (mutual TLS), que é interessante, pois poderemos conectar até a nossa máquina local com o próprio sistema da Oracle, desde que tenhamos esse certificado instalado. Isso implica um passo a mais no processo, mas não é muito complicado.

A seguir, vamos manter a licença incluída. Não é preciso preencher o campo de e-mail para contato. Na parte inferior esquerda, temos a possibilidade de definir configurações mais avançadas, por ora não vamos explorar essa parte. Podemos clicar no botão "Criar Autonomous Database".

Seremos direcionados a outra página em que veremos o status de provisionamento, à esquerda. Inicialmente, teremos um quadrado amarelo com o texto "PROVISIONANDO"; após alguns segundos, o status será alterado para "DISPONÍVEL", com um quadrado verde.

Para avançar, é preciso permitir as janelas pop-ups. Caso estejam bloqueadas no seu navegador, basta clicar no ícone de pop-up à direita da barra de endereço e conceder a permissão para o site da Oracle.

Com o banco provisionado, vamos clicar em "Ações do Banco de Dados". Uma nova aba será aberta e veremos uma variedade de operações disponíveis, como importação de dados, SQL, gráficos etc. No momento, estamos interessados na opção JSON, para gerenciar nosso banco de dados de documentos JSON.

Entrando nessa opção, vamos clicar em "Criar Coleção". No caso de banco de dados NoSQL baseados em JSON, coleções são análogas às tabelas dos bancos de dados convencionais relacionais. Então, criaremos uma coleção com nome "clientes" (note que há um exemplo de dados, porém não é editável) e, em seguida, clicaremos no botão "Criar" ao fim da página.

Está criada a nossa coleção "clientes", como podemos verificar no painel à esquerda. A partir desse momento, já conseguimos incluir dados, pressionando o ícone de "Novo Documento JSON", no topo da página:

{
    "nome": "Paulo",
    "email": "paulo@gmail.com"
}

Após clicar em "Criar", no painel inferior podemos confirmar os documentos gerados. Vamos criar mais um documento JSON:

{
    "nome": "Tiago",
    "email": "tiago@gmail.com"
}

Novamente, podemos verificar a listagem de entidades criadas.

À direita dessa lista, há algumas operações à disposição. A primeira delas é a opção de editar, vamos testá-la modificando o último documento criado:

{
    "nome": "Tiago Lage",
    "email": "tiago@gmail.com"
}

Além disso, por essa interface podemos clonar, exportar e excluir as entidades. A título de exemplo, vamos apagar o documento referente ao cliente "Tiago Lage". Note que, ao clicar na opção de exclusão, será mostrado o ID da entidade em questão.

Nesse vídeo, criamos o nosso banco de dados e já conseguimos fazer algumas manipulações, operando em algumas entidades. Na próxima aula, vamos conectar uma aplicação, porque ficar mexendo no banco de dados diretamente pela interface web não é muito interessante — imagine se tivéssemos centenas ou milhares de usuários! De qualquer modo, podemos entrar, visualizar e fazer operações básicas.

Sobre o curso Oracle Cloud Infrastructure: banco de dados e infraestrutura como código

O curso Oracle Cloud Infrastructure: banco de dados e infraestrutura como código possui 167 minutos de vídeos, em um total de 43 atividades. Gostou? Conheça nossos outros cursos de OCI em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda OCI acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas