Tekniska milstolpar och framgångar 2012

SR’s webbavdelning har gjort det, liksom Aftonbladet’s, och även TV4 var inne på det: sammanfattat 2012 – ur tekniskt perspektiv. Dags för oss att göra detsamma!

Jag vill fokusera på resan vi gjorde med alla plattformsbyten, som vi inte skrivit om så mycket ännu. Lite halvseriöst, så skulle man kunna sammanfatta denna resan så här:

  • Under 2012 så bytte vi på SVTi flygplansmotor under flygresans gång. Tre gånger….(!)
  • Det var turbulent, men planen krashade inte och flygpersonal och passagerare mår givet omständigheterna bra
  • Vi tappade fart, men aldrig kurs, under denna period och numera flyger vi snabbare, högre och mer bränslesnålt än nånsin tidigare
  • Och 2013 kommer alla andra att märka att vi har fina nya motorer… 😉

2012 – plattformsbytenas år

Rotfyllning? Skattedeklaration? Att byta teknisk plattform är minst lika “populärt” här på SVTi, och det har alltid varit lätt för oss att hitta goda skäl till att inte ta tag i det. Till slut så blev 2012 året när konsekvenserna av tidigare framåtflyttningar kom ikapp oss.

motor #1: nytt CMS

Efter att ha klagat på vårt hemmasnickrade Polopoly8-system i många år, hade vi äntligen upphandlat ett nytt CMS och börjat utbilda folk och bygga några sajter med den under 2010-2011. Därför kunde vi inleda 2012 med en tydlig prioritet: Alla sajter, alla redaktioner och alla tjänster måste migreras från Polopoly till det nya systemet Escenic. Nu!

Och så jobbade vi oss igenom det, stegvis, och med ökande takt. Först kom Uppdrag Granskning (2011) sen TV-tablån, nyhetssajt och förstasida, SVT Play, alla program- och barnsajter, ett ‘litet’ OS emellan, Om SVT, hjälpsidor, textv och väder. Sedan, till slut, äntligen, så var det dags:

Sachin Anandin Gharge, support ingeniör på Akamai
Terminator.

 

Terminated.

Den 1. nov kl 14.34 tog Akamai:s supportingenjör Sachin Ananda Gharge bort alla trafikregler som slussar anrop till Polopoly’s produktionsmiljö med ett knapptryck. Så enkelt var det till slut att släcka Polopoly – efter 10 år i bruk hos SVT.

motor #2: nytt CDN

En annan “rotfyllning” som vi var tvungna att ta tag i 2012 var upphandling av CDN-leverantör. SVT lyder under lagen om offentlig upphandling (LOU) och avtalet med vår trogna CDN-partner under många år, QBrick, var på väg att löpa ut under 2012. Och enligt LOU, så fick vi inte förlänga avtalet ytterligare.

I slutet av april blev upphandlingsprojektet klart och tilldelningsbeslutet gick till Akamai, som hade det bästa anbudet. Och plötsligt blev vi tvungna att genomföra ett plattformsskifte till: Flytten från QBrick till Akamai.

migrering av alla VOD-filer och införande av nytt livestreamingmiljö

Migreringen innebar en hel del jobb, den med! SVT Play hade hunnit bli ganska ‘tjock’ sedan omlanseringen 2008. Det fanns ungefär 10.000 programepisoder, 5.000 Öppet Arkiv-klipp och ca 50.000 övriga klipp (nyheter, sport, barn mm) publicerat i SVT Play-tjänsten när vi inledde flytten.

Men med hjälp av anpassningar till vårt automatiserade videopubliceringssystem och olika specialutvecklade python-script kunde vi migrerar alla programepisoder och de senaste två årens klipp. Ett specialbyggt, redaktionellt migreringsverktyg hjälpte oss att migrera alla äldre klipp som bedömdes av redaktörer att vara fortsatt värdefulla.

Nya livestreamingmiljö: ingen propp kan stoppa mig

I samband med upphandlingen fick vi också en ny livestreamingmiljö på plats, med högre redundans och kapacitet. Och med det är vi mycket väl rustade att streama ännu mer live på webben och i ännu högre kvalitet.

införande av ‘web site acceleration’

I CDN-upphandlingen ställde vi även krav på en tjänst för acceleration av leveransen av html och statiska objekt såsom javascript, bilder mm till våra kunders webbläsare.

Vi jobbade oss igenom massor av trafikregler i våra lastbalanserare, finslipade febrilt på cachningsregler och införde den nyupphandlade, molnbaserade site acceleration-tjänsten på bara några få veckor. Se i diagrammet vilken påverkan detta hade på våra sidladdningstider:

less is more!!

Vi lyckades reducera den genomsnittliga sidladdningstiden för t.ex hela svt.se – bilder, flash, javascript, css mm. – från ~4.5 sekunder till ~1.5 sekunder! Alla våra webbplatser är numera snabba och tillgängliga på nivåer vi aldrig upplevt tidigare:

green == good

Med detta blev vi också korad till Nordens (världens?) snabbaste OS-sajt, enligt en undersökning från Compuware. Som IDG.se rapporterade efter OS:

Enligt Compuware har SVT en genomsnittlig svarstid på 1 sekund, vilket är den snabbaste OS-sajten.

motor #3: ny produktionsmiljö

Men som om det var inte nog med två plattformsskiften, så innebar 2012 ytterligare en teknisk övergång för oss: Vi hade tidigare fattat beslut om att flytta driftmiljöer och driftansvar för Escenic från vår mångåriga driftspartner Mogul till våra kollegor på SVT Teknik.

Det främsta skälet till beslutet var att SVT Teknik under de senaste åren investerat i en modern IT-infrastruktur: uppdaterad redundant nätverksinfrastruktur och redundant internt molnmiljö baserad på VMware ESX. I detta interna datamoln driftas allt fler av SVT’s ‘mission critical’ IT-applikationer numera.

Vi på webben bestämde oss att lägga även våra applikationer i denna moderna, färdigbäddade säng – också med följande baktankar:

  • för att slippa ytterligare en tidskrävande LOU-upphandling (vårt avtal med Mogul var också på väg att löpa ut)
  • för att vi vill jobba närmare våra fina kollegor på SVT Teknik
  • och inte minst: för att uppnå interna synergier och spara tid och pengar framöver

Efter en del miljöbyggande, många lasttester och torrövningar genomförde vi årets sista plattformsbyte en tisdag förmiddag sent i november.

teamet som byter flygplansmotorn på en tisdag förmiddag

Och trots att alla redaktörer fick avstå från nya publiceringar under cirka två timmar denna förmiddag, så hade detta sista plattformsbytet ingen negativ publikpåverkan. Sajterna var tillgängliga fullt ut under hela tiden, något som bl.a. vårt övervakningsverktyg IP-Label intygar:

nothing to see here

Förändringar som gjorde detta möjligt

Jag kan inte berätta om dessa plattformsskiften utan att lyfta fram de förändringar inom teknikavdelningen på SVTi som vi har jobbat länge med, och som visade sig vara viktiga förutsättningar för att ta oss igenom detta år.

Men för att inte göra inlägget allt för långt, så vill jag här bara skissa upp förändringsresan i kortformat (inspirerad från Wired):

table { background-color: transparent; border-collapse: collapse; border-spacing: 0; max-width: 100%; } .table { margin-bottom: 20px; width: 100%; } .table th, .table td { border-top: 1px solid #DDDDDD; line-height: 20px; padding: 8px; text-align: left; vertical-align: top; } .table th { font-weight: bold; } .table thead th { vertical-align: bottom; } .table caption + thead tr:first-child th, .table caption + thead tr:first-child td, .table colgroup + thead tr:first-child th, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child th, .table thead:first-child tr:first-child td { border-top: 0 none; } .table tbody + tbody { border-top: 2px solid #DDDDDD; } .table .table { background-color: #FFFFFF; } .table-condensed th, .table-condensed td { padding: 4px 5px; } .table-bordered { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-collapse: separate; border-color: #DDDDDD #DDDDDD #DDDDDD -moz-use-text-color; border-image: none; border-radius: 4px 4px 4px 4px; border-style: solid solid solid none; border-width: 1px 1px 1px 0; } .table-bordered th, .table-bordered td { border-left: 1px solid #DDDDDD; } .table-striped tbody > tr:nth-child(2n+1) > td, .table-striped tbody > tr:nth-child(2n+1) > th { background-color: #E8E8E8; }

 

Tired Wired
duktiga individer välpresterande, korsfunktionella team
klart = incheckad klart = testad & deployad
stora releaser (3-4ggr / år) continuous delivery + feature toggles (1gg /
vecka)
ingen vet byggstatus, teststatus, produktionsstatus alla ser olika “information radiators” med relevanta dashboards
dev vs. ops devops
mäta ingenting mäta allting, med graphite, new relic, collectd, m.fl
beställa, montera och konfigurera servrar (tar veckor) kör chef i VMware eller EC2 (tar minuter)
bristande kvalitetsansvar på väg mot kaizen (改善)
m.fl. m.fl.

Det finns mycket mer att skriva om denna förändringsresa – som vi fortfarande är igång med. Vi har mycket kvar att lära oss och kommer nog aldrig sluta att förbättra och finslipa våra verktyg och processer.

information radiator på SVTi

Det skall bli tema för framtida blogginlägg!

Gick verkligen allting bra 2012?

Nej. Tyvärr inte. Vi och våra kunder fick genomleva en del teknisk turbulens under resan.

inte. bra. alls.

Under maj och juni drabbades vi för första gången på länge av några oplanerade nedtider (kortare brownouts och blackouts) på svt.se och svtplay.se. Det visade sig att vi inte hade testat olika anropsmönster till sökservern fullt ut under last innan övergången till Escenic.

SOLR svarstid går genom taket
:-(
en fest för pressen, en mardrömskväll för oss och våra kunder

Och 2013 då?

Vi gick in i det nya året med god vind i seglen. 2012, detta tuffa teknikår, slutade nämligen väldigt framgångsrikt: Tack vare en populär julkalender (Mysteriet på Greveholm – Grevens återkomst) så slog vi alla tidigare rekord i följande kategorier med stor marginal:

  • unika besökare per dygn
  • unika besökare per vecka
  • antal playstarter per vecka
  • antal playstarter per dygn
  • återbesöksfrekvens
  • genomsnittlig tittningstid per besök
  • streamad data per månad
från rekord
till rekord

Under 2013 så har vi inga (stora) plattformsbyten på kartan. Och förutom att vi har fullt fokus på vidareutveckling av alla våra tjänster, så har vi även en del fantastiska, nya lanseringar inplanerade.

Om bara några dagar kommer vi att lansera våra linjära TV kanaler i SVT Play!! Det, och mycket annat kommer vi att fortsätta berätta om på denna blogg.

Jag vill sluta med att tacka alla medarbetare och konsulter som har varit med på denna resan, för stora personliga insatser, mod, tålamod och “grace under pressure”.  Vårt lärande kommer att fortsätta 2013, medan vi fortsätter på den inslagna vägen mot en ännu mer modern, rolig, smidig och framgångsrik teknikverksamhet.

Vill DU vara med på denna resan, tveka inte att kontakta mig!