”Molntjänster - inte bara teknik”
Per Åström, TV4
Valtech 2011
20 år sedan
TV4-historia
                                                              4 länder
                                                             31 kanaler
                                                      25 lokal-TV stationer
 En kanal      Nischkanalsstrategi                        ...många siter




 1990          .se
1990                             2003                                         2010
                                            TV4 Vision AB           Mobilab




                                     TV4 Sverige AB
Några TV4-siter




                  + Lattjolajban, Soko,
                  Hockeykanalen, mer
                  än 150 bloggar och
                  lite till..
Trafiktoppar

               Topp

  Medel?              Natt
Tid




Kvalitet




                 Kostnad
#1: En vision - Vart vill vi?
! Några exempel
  ! Mycket trafik ska inte vara ett problem.
  ! Ständig förbättring! Av tjänster och deltjänster.
  ! Deployer: snabbt, ofta och enkelt.
  ! Återuppfinn inte hjulet (”Stand on the shoulder of giants”).
  ! Inga fasta kostnader.
  ! Mindre drift och förvaltning.
  ! Skapa en plattform för vårt innehåll.
#2: Ett team - Utvecklingsavdelningen Digitala Medier
                                                                      d   ig
                                                   a re        r a le       by
                                                ed           ä ld        Ru
                                            ktl          För          ch             v
                                        j e            %           ao           t- t
                     CTO           Pr o            80          Jav         Te x




                       s            a re          by                           tv
                s s /j            d            Ru                        t-
          ml
             /c
                           ekt
                               le           ch                      Te x
        t                j               ao
      h             Pro             Jav
From: http://www.darkgreyindustries.com/index.php/site/zone_mapping_chart/
#3: En metod - gärna agil!
! Bestäm nästa steg men planera inte för långt
! Mindre tjänster är enklare att förändra
! Använd en metod - och förbättra den
Planering          Dagliga morgonmöten




             Tidsuppskattning                    Retrospektiv
#4: Kvalitet - ett ständigt kvalitetsarbete
Teknisk skuld
#5: Investera - kunskap, människor, process

!   Välj rätt lösning för rätt problem!
!   Kultur
!   Kunskap
!   Metoder och processer
!   Automatisering
!   Följ standarder
!   Produktifiera
!   Få bort teknisk skuld
!   Ekosystemen (människor, plattform, teknik)
Fokusera - välj bort


            hardware         OS     patches
  network      infrastructure    scaling failover
 redundancy       antivirus   upgrades   capacity
   backup      installation   planning firewall
 specification     design    coding configuration
      operations       gui    SLA     maintenance
                   new features
Förvaltning




              Utveckling
Förvaltning




              Utveckling
Utvecklingen av publiceringsplattformar
Generation #1 - Statiska filer
!   Statisk html - redaktörer behövde kunna html
!   Ingen databas
!   Ingen återpublicering av innehåll
!   Ingen kanalpublicering


! Typisk egenskap: Server Side Include och ftp
! Dödsorsak: För statiskt och för begränsat
Utvecklingen av publiceringsplattformar
Generation #2 - Hemmabygge med CMS
!   Databas!
!   Hemmabygge! - oftast egenutvecklat
!   Beroende av ett fåtal utvecklare
!   I långa loppet: dyrt och komplicerat att vidareutveckla


! Typisk egenskap: Skräddarsytt och anpassat efter egna behoven
! Dödsorsak: För komplicerat att underhålla (EOL)
Utvecklingen av publiceringsplattformar
Generation #3 - Ett CMS
!   Ett CMS - en produkt
!   Flerkanalspublicering
!   Ofta baserat på någons egenutvecklade plattform
!   Sluten källkod (licensierad)
!   Dyrt(?)


! Typisk egenskap: en swiss army knife - anpassad till behoven
! Dödsorsak: Långsam utveckling och komplicerade uppgraderingar
Utvecklingen av publiceringsplattformar
Generation #4 - Öppna plattformar
!   Flera olika produkter och verktyg - ”Legobitar”
!   API:er (egna och öppna)
!   Byggt för att integrera eller integreras
!   Klart för molntjänster
!   Öppen källkod(?)


! Typisk egenskap: öppet för integration och ständig förbättring
! Dödsorsak: ?
TV4-plattformar

   Förut          Nu              Sen
   Polopoly       Polopoly        ?
   Xcap           Wordpress
   Basefarm       Disqus
   svn            Addthis

                  Polldaddy

                  Google API

                  Cover it Live

                  Basefarm

                  Akamai

                  Heroku

                  Amazon AWS

                  Github m.fl.
Strategi

   Förut   Nu
Samma tema på alla bloggar (>150 stycken)
Andra pluginer

!   All in One SEO Pack      !   WP-SpamFree
!   DISQUS Comment System    !   Domain mapping
!   Maintenance Mode         !   Vipers Video Quicktags
!   My Custom Widgets        !   WP Super Cache
!   PollDaddy Polls          !   WPMU Blog Defaults
!   Report Comments          !   PubSubHubbub
!   WP-PageNavi              !   Bambuser Auto Poster
!   Custom Fields Template
SaaS
Software as a Service
Bildhantering via API




                                               }
                                   flip
                                   resize
                                   rotate
                                   format
                                   background
                                   quality



http://img.lightspun.com/?flip=h&rotate=-45&background=ff00ff&format=png&resize=200x200&key=7d0dc95a-
dcb6-4bfa-b9d3-c3e3c429080b&source=http://www.tv4.se/polopoly_fs/1.1899558.1289397260!image/
2116905483.jpg_gen/derivatives/w450/2116905483.jpg
Addthis - Analytics
Alla kommentarer med Disqus
Förbättringar sedan vi började använda Disqus
!   Mobil-version av Disqus
!   iPhone-app för moderering (två olika)
!   Gilla-knappar
!   Säkerhetsförbättringar
!   Redesign på gränssnittet
!   Uppdaterad Wordpress-plugin (synkar också kommentarer)
!   ”Early Adopter”-version (går att slå av/på)
!   html-kod för snabbare sidladdning
!   Förbättrat spamfilter och funktioner för att stänga trådar med automatik.
!   Inline-moderering
!   Yahoo och Facebook-login (och Twitter, OpenId och Disqus sedan tidigare)
22 kr
        -app:
   hone
iP
!Enkel installation
!Enkel konfiguration
!Ingen drift
!Det skalar
!Ständiga förbättringar
PaaS
Platform as a Service
Besökare




               CDN




          Webbserver


Databas
Origin vs. Delivery



                      Avlastning:
                      Genomsnitt 90%
                      Bilder 97%




                                          Delivery
                                 Origin
Idol Auditions 2010



Delivery



  Origin
En plattform........
En annan plattform........
$ git push heroku master

      -----> Heroku recieving push
      -----> Rails app detected
      -----> Launching..... done
ASF          http://www.soko.se deployed
Det finns fler än Heroku: phpFog, Djangy, Dotcloud, Engine Yard.......
!Fokuserar på en uppgift
!Enkel konfiguration
!Ingen drift
!Det skalar
!Ständiga förbättringar
IaaS
Infrastructure as a Service
EC2+ELB+RDS+S3=
!EC2 = Servrar
!ELB = Lastbalanserare
!RDS = Databas (mySQL)
!S3 = Statistika resurser

        => Hela driftsmiljön
!Frihet!
!Eget ansvar
!Det skalar
!Betala för förbrukning
....kaffe?
Gamla och nya TV4Play
Gamla TV4Play                  Nya TV4Play




iPhone        Plex   OTT           Android             Plex       etc.
                           TV4Play.se         iPhone      Boxee
   TV4Play.se


                                        API
    Backend
                                  Backend
API
Vad är ett API?

 Fråga                         Svar
 /video/programs/most_viewed   <div>
                               !    Militos magnifika klack till 3-0
                               </div>
                               <div>
                               !    Fångarna på fortet del 4
                               </div>
                               <div>
                               !    Kolla in det osannolika 50-metersmålet
                               </div>
                               <div>
                               !    Sveriges mästerkock I 1
                               </div>
                               <div>
                               !    Här hamnar Real i underläge
                               </div>
                               <div>
                               !    Drömfrispark av Eto'o till 4-0
                               </div>
                               <div>
                               !    Här är Tevez härliga slalommål
                               </div>
Vad är ett API?
API4




{Sök

     Statistik

Rättigheter

         Kunder
                   Metadata

                          Redaktionellt

                 Enkodering   Affärsregler
Sök med Solr

   Förut            Nu




                      e


                                e


                                          e


                                                   e


                                                            e


                                                                     e
                    lav


                               lav


                                      lav


                                               lav


                                                        lav


                                                                 lav
                  lr S


                            lr S


                                     lr S


                                              lr S


                                                       lr S


                                                                lr S
                 So


                          So


                                     So


                                              So


                                                       So


                                                                So
                Solr Master


Index Server    Index Server


 Polopoly        Polopoly
API4
http://www.tv4play.se/   }   Ruby on Rails



                  => Open source
                     Mogen produkt
                     Stort och levande ekosystem
                     Snabbutvecklat (stödjer agil utveckling)
                     ”Convention over Configuration”
HTML5   => Kommande html-standard
           Support för video (och lager, offline, drag/drop) m.m.
           Support för geopositionering
           Fungerar redan idag....
Besökare




         Heroku     PaaS


API4
       Amazon AWS   IaaS
$ git push heroku master

      -----> Heroku recieving push
      -----> Rails app detected
      -----> Launching..... done
ASF          http://www.tv4play.se deployed
$ heroku dynos 1

      tv4play-production now running on 1 dyno


ASF
$ heroku dynos 24

      tv4play-production now running on 24 dynos


ASF
$ heroku dynos 100

      tv4play-production now running on 100 dynos


ASF
Does it scale?
”For dynos - there is no real limit. If you need more, we can
up that limit to just about any number you need. Let us
know a week in advance at least, and we'll get your limit
increased. If you're going to need a few thousand, it's best
if we can work with you to understand your demand.”
There’s an app for that....
Trafik

          Topp

  Medel          zzzzzzzzzzzz
”Vänta, det är ju precis som el?!”
What is the cloud?
The definition of cloud computing according to Wikipedia is:

Cloud computing is Internet-based computing, whereby
shared resources, software, and information are provided
to computers and other devices on demand, like the
electricity grid.
What is the cloud?
Continued...:
Cloud computing is a paradigm shift following the shift
from mainframe to client–server in the early 1980s.

Details are abstracted from the users, who no longer have
need for expertise in, or control over, the technology
infrastructure "in the cloud" that supports them.

Cloud computing describes a new supplement,
consumption, and delivery model for IT services based on
the Internet, and it typically involves over-the-Internet
provision of dynamically scalable and often virtualized
resources.
Ok, så om data ~ el...
!Kostnad
!Driftsäkerhet
!Övervakning
!Säkerhet
!SLA
With great power comes great responsibility
,RCp4D,G8CcyjK7gp97=(39E
”Reputation is more important than SLA”
>0 && <1
    => testa!
!Sätt upp en blogg (Wordpress)
!Utforska Citycloud.se eller Amazon AWS
!Testa olika API:er
!Ge kreditkort till utvecklarna och uppmuntra
!Läs på
!Dra igång ett projekt
!Sätt upp en testmiljö
!Kör en ”hackday”
!Iterera
!Fråga efteråt
vs.


=> jämför rätt saker
$ git push heroku master



                   => Högre kvalitet
                   => Lägre kostnad
                   => Snabbare
Tid



                           => Högre kvalitet
                           => Lägre kostnad
Kvalitet
                           => Snabbare


                 Kostnad
Tack för att ni lyssnade!

http://http.tv4.se

Molntjänster - inte bara teknik

  • 1.
    ”Molntjänster - intebara teknik” Per Åström, TV4 Valtech 2011
  • 2.
  • 3.
    TV4-historia 4 länder 31 kanaler 25 lokal-TV stationer En kanal Nischkanalsstrategi ...många siter 1990 .se 1990 2003 2010 TV4 Vision AB Mobilab TV4 Sverige AB
  • 4.
    Några TV4-siter + Lattjolajban, Soko, Hockeykanalen, mer än 150 bloggar och lite till..
  • 5.
    Trafiktoppar Topp Medel? Natt
  • 6.
  • 7.
    #1: En vision- Vart vill vi? ! Några exempel ! Mycket trafik ska inte vara ett problem. ! Ständig förbättring! Av tjänster och deltjänster. ! Deployer: snabbt, ofta och enkelt. ! Återuppfinn inte hjulet (”Stand on the shoulder of giants”). ! Inga fasta kostnader. ! Mindre drift och förvaltning. ! Skapa en plattform för vårt innehåll.
  • 8.
    #2: Ett team- Utvecklingsavdelningen Digitala Medier d ig a re r a le by ed ä ld Ru ktl För ch v j e % ao t- t CTO Pr o 80 Jav Te x s a re by tv s s /j d Ru t- ml /c ekt le ch Te x t j ao h Pro Jav
  • 9.
  • 10.
    #3: En metod- gärna agil! ! Bestäm nästa steg men planera inte för långt ! Mindre tjänster är enklare att förändra ! Använd en metod - och förbättra den Planering Dagliga morgonmöten Tidsuppskattning Retrospektiv
  • 11.
    #4: Kvalitet -ett ständigt kvalitetsarbete
  • 13.
  • 14.
    #5: Investera -kunskap, människor, process ! Välj rätt lösning för rätt problem! ! Kultur ! Kunskap ! Metoder och processer ! Automatisering ! Följ standarder ! Produktifiera ! Få bort teknisk skuld ! Ekosystemen (människor, plattform, teknik)
  • 15.
    Fokusera - väljbort hardware OS patches network infrastructure scaling failover redundancy antivirus upgrades capacity backup installation planning firewall specification design coding configuration operations gui SLA maintenance new features
  • 16.
    Förvaltning Utveckling
  • 17.
    Förvaltning Utveckling
  • 18.
    Utvecklingen av publiceringsplattformar Generation#1 - Statiska filer ! Statisk html - redaktörer behövde kunna html ! Ingen databas ! Ingen återpublicering av innehåll ! Ingen kanalpublicering ! Typisk egenskap: Server Side Include och ftp ! Dödsorsak: För statiskt och för begränsat
  • 19.
    Utvecklingen av publiceringsplattformar Generation#2 - Hemmabygge med CMS ! Databas! ! Hemmabygge! - oftast egenutvecklat ! Beroende av ett fåtal utvecklare ! I långa loppet: dyrt och komplicerat att vidareutveckla ! Typisk egenskap: Skräddarsytt och anpassat efter egna behoven ! Dödsorsak: För komplicerat att underhålla (EOL)
  • 20.
    Utvecklingen av publiceringsplattformar Generation#3 - Ett CMS ! Ett CMS - en produkt ! Flerkanalspublicering ! Ofta baserat på någons egenutvecklade plattform ! Sluten källkod (licensierad) ! Dyrt(?) ! Typisk egenskap: en swiss army knife - anpassad till behoven ! Dödsorsak: Långsam utveckling och komplicerade uppgraderingar
  • 21.
    Utvecklingen av publiceringsplattformar Generation#4 - Öppna plattformar ! Flera olika produkter och verktyg - ”Legobitar” ! API:er (egna och öppna) ! Byggt för att integrera eller integreras ! Klart för molntjänster ! Öppen källkod(?) ! Typisk egenskap: öppet för integration och ständig förbättring ! Dödsorsak: ?
  • 22.
    TV4-plattformar Förut Nu Sen Polopoly Polopoly ? Xcap Wordpress Basefarm Disqus svn Addthis Polldaddy Google API Cover it Live Basefarm Akamai Heroku Amazon AWS Github m.fl.
  • 23.
    Strategi Förut Nu
  • 24.
    Samma tema påalla bloggar (>150 stycken)
  • 26.
    Andra pluginer ! All in One SEO Pack ! WP-SpamFree ! DISQUS Comment System ! Domain mapping ! Maintenance Mode ! Vipers Video Quicktags ! My Custom Widgets ! WP Super Cache ! PollDaddy Polls ! WPMU Blog Defaults ! Report Comments ! PubSubHubbub ! WP-PageNavi ! Bambuser Auto Poster ! Custom Fields Template
  • 28.
  • 29.
    Bildhantering via API } flip resize rotate format background quality http://img.lightspun.com/?flip=h&rotate=-45&background=ff00ff&format=png&resize=200x200&key=7d0dc95a- dcb6-4bfa-b9d3-c3e3c429080b&source=http://www.tv4.se/polopoly_fs/1.1899558.1289397260!image/ 2116905483.jpg_gen/derivatives/w450/2116905483.jpg
  • 34.
  • 35.
  • 38.
    Förbättringar sedan vibörjade använda Disqus ! Mobil-version av Disqus ! iPhone-app för moderering (två olika) ! Gilla-knappar ! Säkerhetsförbättringar ! Redesign på gränssnittet ! Uppdaterad Wordpress-plugin (synkar också kommentarer) ! ”Early Adopter”-version (går att slå av/på) ! html-kod för snabbare sidladdning ! Förbättrat spamfilter och funktioner för att stänga trådar med automatik. ! Inline-moderering ! Yahoo och Facebook-login (och Twitter, OpenId och Disqus sedan tidigare)
  • 39.
    22 kr -app: hone iP
  • 40.
    !Enkel installation !Enkel konfiguration !Ingendrift !Det skalar !Ständiga förbättringar
  • 41.
  • 42.
    Besökare CDN Webbserver Databas
  • 43.
    Origin vs. Delivery Avlastning: Genomsnitt 90% Bilder 97% Delivery Origin
  • 44.
  • 46.
  • 47.
  • 49.
    $ git pushheroku master -----> Heroku recieving push -----> Rails app detected -----> Launching..... done ASF http://www.soko.se deployed
  • 55.
    Det finns flerän Heroku: phpFog, Djangy, Dotcloud, Engine Yard.......
  • 56.
    !Fokuserar på enuppgift !Enkel konfiguration !Ingen drift !Det skalar !Ständiga förbättringar
  • 57.
  • 58.
  • 59.
    !EC2 = Servrar !ELB= Lastbalanserare !RDS = Databas (mySQL) !S3 = Statistika resurser => Hela driftsmiljön
  • 60.
  • 62.
  • 63.
  • 64.
    Gamla TV4Play Nya TV4Play iPhone Plex OTT Android Plex etc. TV4Play.se iPhone Boxee TV4Play.se API Backend Backend
  • 65.
  • 66.
    Vad är ettAPI? Fråga Svar /video/programs/most_viewed <div> ! Militos magnifika klack till 3-0 </div> <div> ! Fångarna på fortet del 4 </div> <div> ! Kolla in det osannolika 50-metersmålet </div> <div> ! Sveriges mästerkock I 1 </div> <div> ! Här hamnar Real i underläge </div> <div> ! Drömfrispark av Eto'o till 4-0 </div> <div> ! Här är Tevez härliga slalommål </div>
  • 67.
  • 68.
    API4 {Sök Statistik Rättigheter Kunder Metadata Redaktionellt Enkodering Affärsregler
  • 69.
    Sök med Solr Förut Nu e e e e e e lav lav lav lav lav lav lr S lr S lr S lr S lr S lr S So So So So So So Solr Master Index Server Index Server Polopoly Polopoly
  • 70.
    API4 http://www.tv4play.se/ } Ruby on Rails => Open source Mogen produkt Stort och levande ekosystem Snabbutvecklat (stödjer agil utveckling) ”Convention over Configuration”
  • 71.
    HTML5 => Kommande html-standard Support för video (och lager, offline, drag/drop) m.m. Support för geopositionering Fungerar redan idag....
  • 73.
    Besökare Heroku PaaS API4 Amazon AWS IaaS
  • 74.
    $ git pushheroku master -----> Heroku recieving push -----> Rails app detected -----> Launching..... done ASF http://www.tv4play.se deployed
  • 76.
    $ heroku dynos1 tv4play-production now running on 1 dyno ASF
  • 77.
    $ heroku dynos24 tv4play-production now running on 24 dynos ASF
  • 78.
    $ heroku dynos100 tv4play-production now running on 100 dynos ASF
  • 79.
    Does it scale? ”Fordynos - there is no real limit. If you need more, we can up that limit to just about any number you need. Let us know a week in advance at least, and we'll get your limit increased. If you're going to need a few thousand, it's best if we can work with you to understand your demand.”
  • 80.
    There’s an appfor that....
  • 83.
    Trafik Topp Medel zzzzzzzzzzzz
  • 87.
    ”Vänta, det ärju precis som el?!”
  • 88.
    What is thecloud? The definition of cloud computing according to Wikipedia is: Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.
  • 89.
    What is thecloud? Continued...: Cloud computing is a paradigm shift following the shift from mainframe to client–server in the early 1980s. Details are abstracted from the users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them. Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources.
  • 90.
    Ok, så omdata ~ el... !Kostnad !Driftsäkerhet !Övervakning !Säkerhet !SLA
  • 95.
    With great powercomes great responsibility
  • 96.
  • 97.
    ”Reputation is moreimportant than SLA”
  • 98.
    >0 && <1 => testa!
  • 99.
    !Sätt upp enblogg (Wordpress) !Utforska Citycloud.se eller Amazon AWS !Testa olika API:er !Ge kreditkort till utvecklarna och uppmuntra !Läs på !Dra igång ett projekt !Sätt upp en testmiljö !Kör en ”hackday” !Iterera !Fråga efteråt
  • 100.
  • 101.
    $ git pushheroku master => Högre kvalitet => Lägre kostnad => Snabbare
  • 102.
    Tid => Högre kvalitet => Lägre kostnad Kvalitet => Snabbare Kostnad
  • 103.
    Tack för attni lyssnade! http://http.tv4.se