23
I HUVUDET PÅ EN CLOUDARKITEKT CLOUDCACHE.IO Robin Westin Larsson @wlro

I huvudet på en cloudarkitekt | cloudcache.io

Embed Size (px)

Citation preview

Page 1: I huvudet på en cloudarkitekt | cloudcache.io

I HUVUDET PÅ EN CLOUDARKITEKTCLOUDCACHE.IO

Robin Westin Larsson@wlro

Page 2: I huvudet på en cloudarkitekt | cloudcache.io

JAGUtveckling + Drift =>

Development + Operations =>

DevOp

Page 3: I huvudet på en cloudarkitekt | cloudcache.io

PROBLEMKartläggning av trafik började under 2013 för att konsolidera vår

infrastruktur utan påverka prestanda.

Det vi hittade var en långjäst surdeg med anor från 1969..

Page 4: I huvudet på en cloudarkitekt | cloudcache.io

KRAVSPECIFIKATIONOtydlig från kund vad man vill uppnåOtydlig från leverantörer vad man fårHur intressant är bits och bytes egentligen?

Page 5: I huvudet på en cloudarkitekt | cloudcache.io

KAPACITETSPLANERINGHänsyn till toppar och dalarDyrt att läsa/skriva från diskSamma resurser efterfrågas om och om igenSvårt att uppnå hög densitet

Page 6: I huvudet på en cloudarkitekt | cloudcache.io

TRAFIKMÖNSTERCMS => dynamiskt innehåll?Tunga statiska resurser (CSS, JavaScript & bilder)Många förfrågningar => hur påverkas mobila besökare?Crawlers (goda och onda)

Page 7: I huvudet på en cloudarkitekt | cloudcache.io

ATTACKERBrute force - vanlig och distribueradIntrång eller försök till intrångDatainsamling från webbplatserTillgänglighet för att attackera

Page 8: I huvudet på en cloudarkitekt | cloudcache.io

VISIONTa fram ett transparent lager som fungerar på befintliga

plattformar och som filtrerar, optimerar och snabbar upptrafiken.

Page 9: I huvudet på en cloudarkitekt | cloudcache.io

VERKTYGSLÅDAN

Page 10: I huvudet på en cloudarkitekt | cloudcache.io

VIRTUALBOXVirtualiseringTyp 2 hypervisorOS X, Linux, WindowsGratis

Page 11: I huvudet på en cloudarkitekt | cloudcache.io

VAGRANTWrapperVirtualbox och VMwareVagrantfile per projekt i repoHärja fritt (OBS! /vagrant)

Vagrant.configure("2") do |config| config.vm.box = "saucy64-puppet" config.vm.hostname = "dev.edge.cloudcache.io" config.vm.network :forwarded_port, guest: 80, host: 8088end

robin:~$ vagrant uprobin:~$ vagrant sshrobin:~$ vagrant haltrobin:~$ vagrant destroy

Page 12: I huvudet på en cloudarkitekt | cloudcache.io

PUPPETConfiguration management & provisoneringSnowflakingManifest och modulerHantera konfiguration i repoBeskriver ett "state"

node default { package { "nginx": ensure => installed }}

Page 13: I huvudet på en cloudarkitekt | cloudcache.io

NGINXReverse proxy HTTP & HTTPSLågt minnesavtryckBra för att interagera med resurserEvent-drivenModulärt

Page 14: I huvudet på en cloudarkitekt | cloudcache.io

GOOGLE PAGESPEEDModul för nginx & apache"Web Performance Best Practices"Kräver ingen anpassning av webbplatsenOptimering av CSS, JavaScript & bilderSparar optimeringsresultat i cacheMinskar totala antalet förfrågningar

Page 15: I huvudet på en cloudarkitekt | cloudcache.io

NAXSINAXSI => Nginx Anti Xss & Sql InjectionWAFPoängsättning för olika mönsterEnkelhetLearning modeBlacklist istället för whitelist

Page 16: I huvudet på en cloudarkitekt | cloudcache.io

VARNISHHTTP acceleratorLastbalanseringSupersnabbSamtidiga anslutningarVCL => Varnish Configuration Language

Page 17: I huvudet på en cloudarkitekt | cloudcache.io

UBUNTU LINUXGratisBaserat på DebianNya kernels~2 releaser per årLTS support i 5 år

Page 18: I huvudet på en cloudarkitekt | cloudcache.io

FABRICPython bibliotekExekvera kommandon lokalt och remoteSystemadministration och deploymentfabfile.py

from fabric.api import *env.use_ssh_config = True

def all(): env.hosts = ['edge1', 'node1']

def deploy(): code_dir = '~/cloudcache' with cd(code_dir): run("git pull") run("./scripts/apply_puppet.sh")

robin:~$ pip install fabricrobin:~$ fab deploy

Page 19: I huvudet på en cloudarkitekt | cloudcache.io

FPMDEB & RPM paketEnkelt

REPREPROPaketkatalog för DEBStable / Testing brancher

Page 20: I huvudet på en cloudarkitekt | cloudcache.io

Vi insåg snabbt att detta är något som flera kan ha användningför..

Page 21: I huvudet på en cloudarkitekt | cloudcache.io

CLOUDCACHE.IOEn tjänst som fungerar oberoende av leverantör för optimering,

säkerhet och skalbarhet

... som är enkel!

... och som är gratis!

WebbplatsinnehavareUtvecklareHostingleverantörer

Page 22: I huvudet på en cloudarkitekt | cloudcache.io

FRAMTIDENHjälp oss fortsätta optimeringsarbetet för en bättre webb.

Page 23: I huvudet på en cloudarkitekt | cloudcache.io

KONTAKTRobin Westin Larsson

Twitter: @wlro

E-post: [email protected]