Vagrant – Development environments made easy – Et typisk utviklermiljø



Vagrant – Development environments made easy – Et typisk utviklermiljø

0 0


vagrant-slides

Vagrant presentation at Bouvet

On Github martinp / vagrant-slides

Vagrant

Development environments made easy

Martin Polden, Bouvet ASA19. mars 2014

Et typisk utviklermiljø

(basert på egen erfaring)

  • Komplisert
  • Manuelt oppsett med mange steg
  • Avhengigheter på ulike tjenester og biblioteker
  • Utdatert og mangelfull dokumentasjon
  • Høy terskel for å komme i gang

Teknikker fra driftsmiljøet

Snowflake Servervs. Phoenix Server

  • Unngå unike servere
  • Unngå «drift» i konfigurasjon
  • Automatiser konfigurasjonssteg
  • Reproduserbare servere (vha. virtualsering)

Configuration as Code

  • Konfigurasjon i versjonskontroll
  • Inkrementell utvikling
  • Verktøy: Puppet, Chef, Ansible, Salt, CFEngine

Vagrant

Uniformt grensesnitt for virtualisering og konfigurasjonsstyring

Virtualisering

Utviklingsmiljøet kjøres i en virtuell maskin

  • Isoleres fra resten av systemet
  • Isoleres fra andre prosjekter man jobber med
  • Isoleres fra annen programvare på maskinen
  • Unngår «dependency hell»

Deterministisk oppsett

Automatisk konfigurasjon av virtuell maskin

  • Benytter f.eks Puppet eller Ansible
  • Konfigurasjon følger kode
  • Reproduserbart miljø
  • Kan gjenbruke driftsoppsett

I praksis

  • Færre problemer relatert til oppsett
  • Reduserer tid brukt på oppsett
  • Skalerer godt med økende ant. avhengigheter
  • Konfigurasjon følger alltid koden
  • Identisk miljø reduserer variasjon i konfigurasjon
  • Unngår «works for me»-situasjoner

Lenker