Infraestruturas são modelos de segmentação e suporte que garatem o bom funcionamento de sistemas e eles podem ser bem variados. Especificamente neste repositório visaremos a infraestrutura de TI e como monta-la por meio de código.
Esta infraestrutura tem por base modelos preventivos do fluxo de dados e aplicações em seu ecosistema. Onde o encarregado deve saber de tecnicas de DevOps e TI para que desenvolva tecnicas e testes de cada aplicação ou código inserido no sistema além do seu monitoramento.
Saber de tecnicas de engenharia de dados ou software Aplicar boas práticas Garantir a segurança e o acesso das informações.
Um dos objetivos da infraestrutura como código é garantir a segurança de toda sua pipeline, para isso existe algumas Boas práticas que nos ajudam a garantir esse objetivo. A ferramenta que iremos utilizar para este gerenciamento é AWS IAM e em sua documentação ja nos concede algumas dessa boas práticas.
- CONCEDA PRIVILÉGIO MÍNIMO SEMPRE.
- ABUSE DA CRIAÇÃO DE GRUPOS PARA ESCALONAR AS PERMISSÕES.
- ANALISE OS EVENTOS QUE ESTÃO ACONTECENDO
- VALIDE SUAS POLITICAS.
-
Criar ambientes de armazenamento
AWS S3, AWS Redshift, AWS RDS (postgreSQL)
-
Gerir permições e criação de roles e User's acess
Automatizar arquiteturas de permições com AWS IAM
-
Realizar testes das aplicações antes da realização do deployments
Inicialmente boas práticas de Unit Tests
-
Criar uma arquitetura de Continuous Monitoring = versionamento + CI + CDelivery + CDeployment
Github Actions
Jinja templates
AWS CDK
-
Garantir a integração de ferramentas que irão tratar as informações.
Spark, Airflow, DataBricks, AWS Glue, AWS athena, AWS SageMaker
Para aplicar estes conceitos vamos realizar duas abordagens: