Docker och Kubernetes hos Café - Elseif · Gitflow bash/kubectl/ helm/chart pipeline Dev-git PVC...

Preview:

Citation preview

Docker och Kubernetes hos Café.se

2019-02-13WordPress Stockholm

Andreas Ek

Workshop

VersionshanteratPakethanteratKontinuerlig leverans

Strukturerad WordPress-utveckling

Fredrik Lack, k8sHenric Romlin, CTO

https://elseif.se/egmont

Andreas Ek, Elseif

EGMONT

12 år, eget CMSMonolit50 sajterKrävande förvaltningLåsta titlarCafe.se

Enterprise EGMONT

EGMONT

ModulärtSkalbartStandardÖppen källkodModernt

Nästa generation EGMONT

Nästa generation EGMONT

Före 1992 hette företaget Egmont…

En sak till... EGMONT

Gutenberghus

DEVDocker

DEV

Replikera “dev” snabbtLika i hela teametVersionshanteratDEV == PRODFlexibelt

Docker

DEV

Workshop:

“Lokal utvecklingsmiljö WPmed docker”

DEV

ComposerRoots BedrockGutenbergReactGitflow

Fokus för teamet

IaCINFRASTRUCTURE AS CODE

IaC

TerraformVersionshanterad hostingKonfigurationsfiler (tf/json)ProvidersPlan / apply

Infrastructure as Code

IaC

?

LeverantörerTerraform

IaC

PRODGoogle Cloud Platform

DockerStatelessBucketsPROD == DEVObundenKluster

PRODGjorda val

KlusterhanterareÖppen källkodDriftsättningSkalningFelsäkerMinikube

KUBERNETES (k8s) PROD

KUBERNETES PROD

Nginx 1-nWeb php, 1-nRedisElasticsearchWP-Cron

Containers PROD

Load BalancerCloud SQLCloud StorageCloud KMSContainer RegistryDNS / LetsEncrypt

Resurser GCP PROD

WP-StatelessRedis cacheWP-CronElasticPressEgmont-X

WordPress PROD

Prometheus + GrafanaNew RelicPingdomDetectifyGA och WooRank

Monitorering PROD

Monitorering PROD

“visa Grafana”

“visa New Relic”

PIPELINEBitbucket / Gitflow

Branch “staging” till staging“Master/tag” till produktionBitbucket pipelineBashGoogle Cloud SDK

Gitflow PIPELINE

BuildPushHelm / chartContainerbyteRollback

Deploy PIPELINE

Kodexempel pipeline PIPELINE

PIPELINE

PIPELINEgitflowbashkubectlhelmchart

PROD (GCP)

DEV

K

8

S

Lets

En

cryp

t

Container Registry

Cloud KMSCloud SQL

Load Balancer

Cloud Storage UploadsAssets

WP-Cron

Redis

htt

ps:

//el

seif.

se/e

gm

ont

Docker

Bedrock

WordPress

React-block

Elasticsearch PVC

Prometheus GrafanaPVC

Web 1 - n

Nginx 1 - n

Composer

IaC IaC-gitState

Dev-git

Applikationer separatService-arkitekturAPILaravelLätta plugins i WP

Motverka monoliten

DriftsäkertModulärtAutomatisktRoligtFokus: Gutenberg / Redaktion

SAMMANFATTNING

Andreas Ek, Elseif

Henric Romlin, CTOFredrik Lack, k8s

https://elseif.se/egmont

Vad kostar ett kluster?Är det svårt att lära sig?Passar detta till min blogg?Hur hittar jag resurser?Vilka kända kör kluster?

FAQ

Tack!

Gamla skisser...

Google Cloud Platform

IaC

k

8

s

LetsEncrypt

DEV

Docker

Composer

Bedrock

WordPress

Container RegistryIaC-git

Cloud KMS

Cloud SQL

Cloud Storage

Load Balancer

Uploads

Assets

Elasticsearch

WP-Cron

Redis

State

https://elseif.se/egmont

Prometheus Grafana

React-block

Gitflowbash/kubectl/helm/chartpipeline

Dev-gitPVC

PVC

Web 1 - n

Nginx 1 - n

DEV

PIPELINEgitflowbashkubectlhelmchart

k

8

s

Lets

En

cryp

t

Container Registry

Cloud KMSCloud SQL

Load Balancer

Cloud Storage UploadsAssets

WP-Cron

Redis

htt

ps:

//el

seif.

se/e

gm

ont

Docker

Bedrock

WordPress

React-block

Elasticsearch PVC

Prometheus GrafanaPVC

Web 1 - n

Nginx 1 - n

Composer

PROD (GCP)

IaC IaC-gitState

Dev-git

Recommended