Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Self-Service Infrastruktur für Softwareentwickler

Avatar for Mazin Power Mazin Power
December 15, 2021

Self-Service Infrastruktur für Softwareentwickler

Für HashiCorp DACH Dezember 2021

Avatar for Mazin Power

Mazin Power

December 15, 2021
Tweet

Other Decks in Technology

Transcript

  1. • ~80 im Tech Team ◦ UK, Deutschland, Österreich, Niederlande,

    Portugal, u.a. • ~1200 Requests / Sekunde • Einer der größten online Blumengeschäfte in Europa. • Ruby on Rails Monolith, Angular Frontend • Mehrerer kleine bzw. Mittelgroße Services
  2. Worum geht’s hier? • Keine einheitliche Platform um neue Services

    zu bauen • Jeder neue service hat eine lange Anlaufbahn
  3. Worum geht’s hier? Entwickler*innen wollen Features bauen bzw Services betreiben,

    und nicht sich tagelang mit Security, Observability, CI Pipelines usw. Plagen. Terraform ist einigermassen OK - but not too much!
  4. Backend Engineers wollen bei Ruby bleiben Wir sind ein Terraform

    shop Alle Frameworks auf CloudFormation basiert Eingeschränkte “Interoperability” Beansprucht “privileged access” 01 02 03 04 05
  5. • Enge Kupplung zwischen Infrastruktur und Application Code ◦ Ein

    deployment braucht privilegierten Zugang ◦ Security mitigations werden teuer • Zu Abstrakt ◦ Eine funktion ist ein Service, viele funktionen sind viele Services ◦ Bauen die Entwickler dann mini-monoliths? • Self-service teams?
  6. • Bauen private “Lambda Funktion” Module ◦ SQS, SNS, HTTP,

    CloudWatch etc… • Leicht Anwendbar, Gut Dokumentiert • Einfacher Code
  7. module "orders_lambda" { source = "app.terraform.io/BloomAndWild/lambda-sqs" version = "~>1.0.6" env

    = var.env service = var.service name = "orders" # Other inputs optional }
  8. ➜ /bin/lambda Commands: lambda deploy -e, --env=ENV # Deploys lambda

    functions. lambda generate [SUBCOMMAND] # Generator subcommand. lambda help [COMMAND] # Help lambda local [SUBCOMMAND] # Run your functions locally lambda version # Display Generator version Options: [--verbose], [--no-verbose]