REAL LIFE, END-TO-END BUILDING, TESTING AND DEPLOYING OF A BUZZWORD-HEAVY APPLICATION

Eugene Romero

Senior Cloud and DevOps Engineer

Capgemini Norway

who am i?

15+ years working with infrastructure and software development

EUGENE ROMERO

Linux nerd

Restoring and modifying old gaming systems

PROJECT DESCRIPTION

Automating a tedious, manual process

Online solution for sailors to obtain licenses

Norwegian Maritime Authority

BUZZWORDS?

...

infrastructure-as-code

Azure

Kubernetes

microservices

CI/CD

cloud-native

micro-frontends

Terraform

containers

devops

  • Simplicity

  • Provider availability

  • Syntax

  • Documentation

WHY TERRAFORM?

Project components

Same Terraform code

Multiple identical environments

Different variables per environment

Compliance and integration testing in Dev

System and acceptance testing in Test

Reduce complexity

separate infrastructure and app pipelines

Avoid dependency issues

API Management Azure Container Registry Kubernetes cluster
Storage accounts SQL Elastic Pool Networking
Azure Key Vault Elasticsearch Logging sink
DNS CDN Profiles ...

infrastructure code and pipeline

Builds, tests and deploys the Azure infrastructure

APIs Microservices Databases
Kubernetes components Database migrations ...

APP code and pipeline

Builds, tests and deploys the application components

azuread

azurerm

 

Creation of Azure resources, integration with Azure AD

random

tls

chilicat/pkcs12

 

Generation and renewal of TLS certificates and randomized strings

helm

kubernetes

gavinbunney/kubectl

 

Kubernetes deployment and configuration

terraform providers

external

null


DB migrations, custom scripts

challenges

  • Changes on Azure API
  • Updates to the Kubernetes API
  • Unmaintained custom providers
  • Edge cases requiring custom scripts
  • Local development against remote state

wins

speed

Reduced deployment times from days to minutes

trust

Increased trust in environments and disaster recovery

visibility

Increased understanding on the workings of infrastructure

GET IN TOUCH

@theEugeneRomero

https://damn.engineer