Skip to content

Latest commit

 

History

History
188 lines (123 loc) · 2.49 KB

mesos.md

File metadata and controls

188 lines (123 loc) · 2.49 KB

build-lists: true footer: Fagkveld Webstep Fokus 24. november 2016

[fit] Deployment i

[fit] Origo-prosjektet


Hvordan hostes ofte apps?

  • Applikasjon inni IIS
  • Applikasjonspakke på PaaS
  • Docker
  • Virtuell maskin

^ IIS: minimal isolasjon PaaS (Heroku, Appharbor, Azure PaaS): litt mer isolasjon, dårlig kompatibilitet Docker: Full isolasjon, bra kompatibiltet Virtuell maskin: Full isolasjon, men tungt


[fit] Docker


Docker

  • Isolert fra omgivelsene
  • Plattformuavhengig*
  • Lettvekts containere

inline

^ Windows-issues, men de kan man leve med


Kjøring av Dockercontainere

  • docker run ...
  • Hva med skalering?
  • Og overvåkning/logger?
  • AWS, Azure, Digital Ocean++
  • Men internt..?

^ Lett å kjøre på egen maskin.. Men hvordan overvåke og skalere? Mange fine skytjenester med ferdig opplegg for det. Men hva med internt?


[fit] Apache Mesos

(en innendørs sky)


Mesos

  • En distribuert kernel
  • Kjører på et sett med maskiner
  • Tilbyr en pool med ressurser
  • Native støtte for Docker

Konsepter i Mesos

  • Agenter rapporterer ressurser til en master
  • Masteren tilbyr ressurser til et framework
  • Frameworkets scheduler gir tasks til masteren
  • Masteren allokerer tasks til en ledig agent

inline

Ressursallokering i Mesos


[fit] Mesosphere Marathon

(et mesosrammeverk)


Marathon

  • Start/Stopp/Skalering
  • Persistens
  • Administrasjons-UI

inline


[fit] Deployment i

[fit] Origo-prosjektet


Litt om oss

  • Søk i videoer (og lyd) i NRK
  • Import/Eksport til og fra redigeringsverktøy
  • Workflows
  • Behov for rask tilgang til PB med data

Verktøy vi bruker

  • NPM-script
  • TeamCity
  • Octopus Deploy
  • Marathon
  • Mesos


NPM Script

{
  "start": "...",
  "test": "..",
  "build-docker": ".."
}
  • Alt trigges via NPM
  • Kan bygge alt lokalt

^ Ikke optimal windows-opplevelse..


TeamCity


TeamCity

  • Kjører CI-bygg
  • Bygger og pusher docker-image
  • Lager release i Octopus

Octopus Deploy


Octopus Deploy

  • Oversikt over miljø/versjon
  • Auto-deploy til dev/stage
  • Promotering til Prod
  • Konfigurasjon
  • Deployer vha POST til Marathon

Marathon

  • Eies av drift
  • Loadbalancing/DNS
  • Pusher til Mesos

Mesos

  • Hosting av applikasjoner
  • Logging (stdout til ES/Kibana)

inline


[fit] Spørsmål?