126 lines
2.7 KiB
Markdown
126 lines
2.7 KiB
Markdown
# OCI 2da Parte
|
|
|
|
## Bases de datos
|
|
|
|
- Video OCI [Database](https://youtu.be/F4-sxIsnbKI) -
|
|
[Docs](https://docs.oracle.com/es-ww/iaas/Content/home.htm)
|
|
|
|
- [MongoDB](https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/mongo-using-oracle-database-api-mongodb.html)
|
|
|
|
Para la app de ejemplo
|
|
[doguito](https://github.com/alura-es-cursos/1911-OCI2-doguito-app)
|
|
se crea una base de data autonoma basada en JSON
|
|
|
|
### Paquetes necesarios de Oracle Linux 8
|
|
|
|
no están disponibles para Oracle Linux 9
|
|
|
|
```sh
|
|
sudo yum install oracle-instantclient-release-el8 oracle-instantclient-basic
|
|
sudo yum install @nodejs:18 git
|
|
```
|
|
|
|
```sh
|
|
sudo mkdir alura_app
|
|
cd $_
|
|
|
|
git clone https://github.com/alura-es-cursos/1911-OCI2-doguito-app
|
|
|
|
npm install
|
|
npm audit fix --force
|
|
npm start
|
|
|
|
sudo firewall-cmd --permanent --add-port=3000/tcp
|
|
sudo firewall-cmd --reload
|
|
```
|
|
|
|
### Servicio systemd
|
|
|
|
en `/lib/systemd/system/doguito-api.service`
|
|
|
|
```sh
|
|
[Unit]
|
|
Description=Doguito API Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
Environment="DB_USER=<USER>"
|
|
Environment="DB_PASSWORD=<PASSWORD>"
|
|
Environment="CONNECT_STRING=<STRING>"
|
|
Type=simple
|
|
User=opc
|
|
ExecStart=/usr/bin/node /home/opc/alura_app/bin/www
|
|
Restart=on-failure
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
|
|
```sh
|
|
sudo systemctl deamon-reload
|
|
sudo systemctl enable doguito-api.service
|
|
sudo systemctl start doguito-api.service
|
|
sudo systemctl status doguito-api.service
|
|
```
|
|
|
|
# Almacenamiento
|
|
|
|
- Persistencia
|
|
- Tipo de datos
|
|
- Tipo de performance
|
|
- Capacidad de almacenamiento
|
|
- Operaciones I/O por segundo
|
|
- Velocidad de transferencia
|
|
- Durabilidad
|
|
- Forma de conexión
|
|
- Protocolo
|
|
|
|
### Almacenamiento de bloques
|
|
|
|
- Disco virtual
|
|
|
|
### Almacenamiento de archivos
|
|
|
|
- NFS
|
|
|
|
### Almacenamiento de objetos
|
|
|
|
- Bucket: llave-valor
|
|
|
|
Object Storage [Docs](https://docs.oracle.com/es-ww/iaas/Content/home.htm) -
|
|
[Video](https://www.youtube.com/watch?v=IePCpBGza0k)
|
|
|
|
## Niveles de almacenamiento
|
|
|
|
- Estandar 🔥️
|
|
- Acceso Infrecuente ❄️
|
|
- Archivo 🥶️
|
|
|
|
# IaC
|
|
|
|
Infrastructure as code
|
|
|
|
- Arquitectura Monolítica, convencional. Limita el uso de tecnologías según
|
|
el proyecto
|
|
- Arquitectura de microservicios, permite utilizar multiples tecnologias, pero
|
|
vuelve mas compleja la mantención
|
|
|
|
IaC establece una "receta" para levantar la infraestructura
|
|
|
|
- Api Gateway
|
|
|
|
## Developer Services
|
|
|
|
1. Creación de Pila
|
|
2. Creación de Plan
|
|
3. Aplicar
|
|
|
|
Luego de aplicar el plan, se crea la infraestructura, posterior a ello corren
|
|
las instrucciones especificadas en `cloud-init.yaml` bajo el `runcmd`. Esto
|
|
puede demorar aproxmadamente 10 minutos (para la app de prueba)
|
|
|
|
- Resource Manager [video](https://www.youtube.com/watch?v=btnRgK36LnE) -
|
|
[docs](https://docs.oracle.com/es-ww/iaas/Content/home.htm)
|
|
|
|
- Alura blog [Terraform](https://www.aluracursos.com/blog/conociendo-terraform)
|