SlideShare une entreprise Scribd logo
1  sur  122
Come invecchiare in un giorno
per colpa di Amazon... pur essendo Lean!

                                         Nicola Junior Vitto
                                                 Blomming
                  Better Software - June 27, 2011 - Firenze
                                     @njvitto - @blomming
                                     nicola@blomming.com
L’incubo




      Immaginate una mattina (di lavoro)
             come tante altre...
Sveglia




          Vi svegliate
Colazione




        Fate tranquillamente colazione
Vi preparate




        Vi preparate per andare a lavoro
Casa-Ufficio




       Uscite di casa per andare in ufficio
Ufficio




          E finalmente vi mettete a lavorare
Mattina diversa




         Tutto come al solito quindi...
Mattina diversa




    ...ma prima ho detto una piccola bugia...
Mattina diversa




    Questa mattina è diversa dal solito perchè
attendete l’intervista sulla vostra startup che vi
 hanno fatto qualche giorno prima e che andrà in
              onda al TG1 del pranzo
Mattina diversa




  ...ma sfortunatamente non sarà una giornata
       diversa dal solito solo per questo
Flashback




           ...tornando a noi facciamo
   un breve flashback sui giorni precedenti...
Flashback: Platform adjustments




          Heroku e le leve del potere
Flashback: database tuning




        Tuning del database (dedicato)
Flashback: scopo finale




            Dormire sonni tranquilli
Flashback: scopo finale




        Scusate... dicevamo: tranquilli!
21 aprile




            Torniamo al 21 aprile...
21 aprile



 Esattamente alle 10:08 (italiane) il nostro servizio
              di monitoring (Ranger)
       invia una prima mail che segnala...

          DOWN: http://blomming.com
21 aprile
 Ed ecco cosa mi scrive istantaneamente Andrea
21 aprile



               Magari fossi io... :(

   Vado subito a guardare lo status del nostro
      servizio (Heroku) e sembra tutto ok
21 aprile



   Poco dopo arriva un barlume di speranza...
              Ranger ci scrive:


            UP: http://blomming.com
21 aprile




E sono continuate battute in chat di questo tipo...
21 aprile

            Ma a un certo punto il peggio
21 aprile




            Heroku dichiara di avere dei
             problemi di connettività e
        il sito va infatti ad intermittenza
21 aprile

 Ma sono ancora le 10:30 e noi continuiamo ad
 avere la speranza che per le 14 (ora del servizio
       sul TG1) tutto si risolva per il meglio
                      SO...
21 aprile




     ...Il peggio però non era ancora arrivato...
AWS down

    Poco dopo si diffonde la notizia del vero
   problema: un’intera region Amazon Web
 Service è down per problemi di networking.

E’ la region USA più grande: quella della Virgina
          che è usata anche da Heroku!
AWS down
AWS down




      Se usate alcuni di questi servizi
     forse vi ricorderete di quella data
AWS down
AWS down: re-mirroring storm



Tutto a causa di un errore, probabilmente
umano, di aggiornamento dell’infrastruttura di
rete
AWS down: re-mirroring storm


“Re-mirroring storm”: i server hanno “creduto”
di non essere più collegati alle loro “copie
specchio” (mirror) e hanno iniziato a cercare di
“auto-ripararsi”. Così facendo hanno esaurito lo
spazio disponibile nella loro rete locale e hanno
messo in crisi anche i server di altre reti, che
hanno cercato di “auto-ripararsi” anche loro. Il
problema si è quindi amplificato e ha portato a un
collasso del sistema.
AWS down



  La region Amazon AWS della Virginia ed è
 tornata a pieno regime dopo quasi 3 giorni!!!

  Blomming.com “fortunatamente” solo dopo
 poco più di 24 ore, grazie ad una migrazione in
   un’altra region AWS effettuata da Heroku...
AWS down


  ...anche grazie alla priorità acquisita per aver
        attivato un database dedicato :)

 Ecco la mail che mi ha fatto tirare un sospiro di
    sollievo dopo più di 24 ore di agonia:
Lesson Learned




     Quindi: i sistemi di cloud computing
    non sono così sicuri come sembrano?
Lesson Learned


Heroku ha affermato che: “Se non riescono a
risolvere il problema i tecnici di AWS,
probabilmente non ci può riuscire nessun altro al
mondo”.

Quora ha scritto: “Senza AWS non esisteremmo”
Lesson Learned




            Ed hanno ragione!
Lesson Learned




George Reese infatti scrive su un blog di
O’Reilly (*): “it was the cloud’s shining moment,
exposing the strength of cloud computing”




(*): http://broadcast.oreilly.com/2011/04/the-aws-outage-the-clouds-shining-
moment.html
Cloud computing


Il cloud computing è stato una rivoluzione che
ha permesso l’accesso a sistemi:

•   Affidabili e a disponibilità immediata
•   Robusti e sicuri
•   Scalabili
•   Standard
•   Con costi associati all’utilizzo
Cloud computing



Il tutto a una frazione del costo di una
infrastruttura tradizionale


Questo è particolarmente importante per una
startup (lean) senza rinunciare alla sicurezza e
affidabilità del servizio offerto
Cloud computing




Fino a qualche anno fa i servizi offerti dai
sistemi di cloud erano nella maggior parte dei
casi inaccessibili per una startup
Cloud computing




         Quindi dov’è il problema?
Cloud computing: design for failure




                                       (*): George
             “Design for failure”(*)   Reese
Cloud computing: Redundancy




                 Physical

         Modello tradizionale “n+1”
Cloud computing: Redundancy



             Virtual
            Resource
                        Virtual
                       Resource



           Physical resource
Cloud computing: Redundancy



      VR                    VR
                VR                    VR


   Physical resource 1   Physical resource 2



              Availability Zone
Cloud computing: Redundancy


       VR                    VR
              VR                    VR
       PH 1                  PH 3
   Availability Zone A   Availability Zone B
        VR                    VR
               VR                     VR
        PH 2                   PH 4


                    Region
                                      Modello “n-1”
Cloud computing: Redundancy




     Region A            Region B

                Cloud
Cloud computing: Redundancy




           Cloud redundancy
Cloud computing: design for failure



              Design for failure

“The application is responsible for its own
availability, regardless of the reliability of the
underlying cloud infrastructure”
Cloud computing: design for failure



               Design for failure
“The strength of cloud computing is that it puts
control over application availability in the hands
of the application developer and not in the
hands of your IT staff, data center limitations, or
a managed services provider”
Cloud computing: design for failure




      “Design for failure”: si... può... fare!!!
Cloud computing: design for failure
Startup




...avevo promesso di parlare anche di startup,
                   vero?
What’s a startup?




A startup is first of all an experiment, it is a human
institution designed to deliver a new product or
service under conditions of extreme uncertainty
       (From Lessons Learned blog By Eric Ries)
Ideas




        How important are ideas?
Team




       Team is the key
Passion




   It’s very difficult to succeed without passion
Bootstrapper




       You can be a bootstrapper, too.
Market research
Market: B2C




              B2C
Market: B2B




              B2B
Market: B2B2C




                B2B2C
Business Plan
Go Ahead




            Having a good idea,
      a proved and experienced team,
     market research and a good plan...

           ...last missing thing is...
Money
VC Funding




    Venture Capitals or Angel Investors
    can give you money based on your plan
And then?




       (Classic) Product Development
Development: Waterfall model
                  Waterfall




Problem: known                 Solution: known
What’s wrong?


           9/10 Startups fail


          66% of successful
           changed plans


         58 ideas = 1 success
What’s the problem?




            Lack of customers
What’s the problem?




       Build a product no one wants
What about Business Plans?




              No business plan
                    survives
         the first customer contact
What about Business Plans?


        Plans are for a known future
          not for a startup context




          So, plans fail in startups
Assumptions on Product Development
Business Models




       It’s all about business models
What’s a Lean Startup?


     Lean startup is a rigorous process
           for iterating from Plan A
            to a plan that works.

               (by Ash Maurya)
Lean is not cheap
Lean Startup cycle
Lean startup is...



            Open Source software
Lean startup is...



             Open Source software

        Cloud computing architectures
Lean startup is...



             Open Source software

          Cloud computing architectures

             Agile methodologies
XP

                  Agile (XP)

 “Product owner” or
“in-house” customer




 Problem: known                Solution: unknown
“Problem” in startups




     ...but in startups problem is unknown
“Problem” in startups




             What can help me?
Customer Development
Four Steps to the Epiphany
Business Plans




While the death of the business plan as a
method to engage investors is a welcome
development, it doesn’t eliminate the need to
think through your business – a process aided
by, ironically, the writing of a business plan.
Business Models




                     We said:
       “It’s all about business models”
Business Models Canvas
Many different business models




   The same technology, product or service
  can have many different business models
OODA Loop
Sketch out your Business models
Iterate on guesses (set of hypotesis)




Iterate fast and often to find your business model
Business Models (examples)




      Free/Adv               Freemium
Customer Development: pivoting
Get out of the building (by Steve Blank)




    Your business assumptions can be wrong
     Go out and speak with your customers
AARRR Metrics




                 By Dave McClure
       More on: http://500hats.typepad.com/

Initial hypotesis must be precise to be measured
Product/Market fit
Customer Development: scaling
Scalable startup
Scalable startup
Scalable (lean) startup
What’s a Lean Startup?



Problem:
unknown




                          Solution:
                         unknown
A classic full-featured product




Yes...it can be well organized, but not all features are
            required to your lean startup.
Minimum Viable Product



                   MVP: A product with the
                   fewest number of features
                   needed to achieve a
                   specific objective, for
                   which users are willing to
                   ‘pay’ in some form of a
                   scarce resource.
Intermediate MVPs




     Final MVPs test the business model
      Intermediate MVPs test high risk
      components of the business model.
Early Adopters




        The MVP is for your first customers:
 they are called Innovators and Early adopters.
Blomming experience
Search for Money




      We had a plan and a (good?) idea
Search for Money




            No money for ideas
Blog-Magazine: LikePicasso
MVP
                            on Blomming



                                on his
                            blogs/websites




                            on Facebook


Creating a Shop
on Blomming a
merchant can                 On existing
immediately sell...          websites /
                             community
                      API
                             on mobiles
YOU
YOU

MUST
YOU

 MUST

SCALE
Lean Startup Meetup - Bologna




http://www.meetup.com/Lean-Startup-Bologna-Meetup
Useful on how to pitch investors
Business Models
Work only from 9 to 5




               Is it possible?
An alternative?




                  Lifestyle business
Thanks


              Blomming.com
          Twitter.com/Blomming
         Facebook.com/Blomming
         Magazine.blomming.com
         Personal blog: njvitto.com

          nicola@blomming.com

Contenu connexe

Similaire à Blomming Lean Startup @ Better Software 2011

Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comportaAlberto Brandolini
 
Inversion of Control @ CD2008
Inversion of Control @ CD2008Inversion of Control @ CD2008
Inversion of Control @ CD2008Mauro Servienti
 
Crossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano ColosioCrossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano ColosioWhymca
 
Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionLuciano Colosio
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Marco Parenzan
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei MicroserviziitalianaSoftware
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amareBetter Software
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Nicola Costantino
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliatiAlberto Brandolini
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andataDiego La Monica
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Giancarlo Valente
 
Hybrid DevOps Stack
Hybrid DevOps StackHybrid DevOps Stack
Hybrid DevOps StackMatteo Emili
 

Similaire à Blomming Lean Startup @ Better Software 2011 (20)

Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comporta
 
OOP... Object Whaaat?
OOP... Object Whaaat?OOP... Object Whaaat?
OOP... Object Whaaat?
 
Inversion of Control @ CD2008
Inversion of Control @ CD2008Inversion of Control @ CD2008
Inversion of Control @ CD2008
 
Crossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano ColosioCrossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano Colosio
 
Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deception
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei Microservizi
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amare
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain model
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliati
 
this = that
this = that this = that
this = that
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero team
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
Passare A Mac
Passare A MacPassare A Mac
Passare A Mac
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andata
 
Catalogo formativo -V200925
Catalogo formativo -V200925Catalogo formativo -V200925
Catalogo formativo -V200925
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)
 
Hybrid DevOps Stack
Hybrid DevOps StackHybrid DevOps Stack
Hybrid DevOps Stack
 

Plus de Nicola Junior Vitto

The new era of bots, multi-channel messaging solutions, dynamic routing and a...
The new era of bots, multi-channel messaging solutions, dynamic routing and a...The new era of bots, multi-channel messaging solutions, dynamic routing and a...
The new era of bots, multi-channel messaging solutions, dynamic routing and a...Nicola Junior Vitto
 
SCRUM & Lean Startup in Enterprises
SCRUM & Lean Startup in EnterprisesSCRUM & Lean Startup in Enterprises
SCRUM & Lean Startup in EnterprisesNicola Junior Vitto
 
Building Blomming: A startup founder's experience
Building Blomming: A startup founder's experienceBuilding Blomming: A startup founder's experience
Building Blomming: A startup founder's experienceNicola Junior Vitto
 
Lean Startup Metrics & Analytics
Lean Startup Metrics & AnalyticsLean Startup Metrics & Analytics
Lean Startup Metrics & AnalyticsNicola Junior Vitto
 
Social Commerce & the new ways for E-commerce
Social Commerce & the new ways for E-commerceSocial Commerce & the new ways for E-commerce
Social Commerce & the new ways for E-commerceNicola Junior Vitto
 
The Lean Startup and Customer Development model. In Italy.
The Lean Startup and Customer Development model. In Italy.The Lean Startup and Customer Development model. In Italy.
The Lean Startup and Customer Development model. In Italy.Nicola Junior Vitto
 

Plus de Nicola Junior Vitto (8)

The new era of bots, multi-channel messaging solutions, dynamic routing and a...
The new era of bots, multi-channel messaging solutions, dynamic routing and a...The new era of bots, multi-channel messaging solutions, dynamic routing and a...
The new era of bots, multi-channel messaging solutions, dynamic routing and a...
 
SCRUM & Lean Startup in Enterprises
SCRUM & Lean Startup in EnterprisesSCRUM & Lean Startup in Enterprises
SCRUM & Lean Startup in Enterprises
 
Building Blomming: A startup founder's experience
Building Blomming: A startup founder's experienceBuilding Blomming: A startup founder's experience
Building Blomming: A startup founder's experience
 
Lean Startup Metrics & Analytics
Lean Startup Metrics & AnalyticsLean Startup Metrics & Analytics
Lean Startup Metrics & Analytics
 
Lean Startup - the Italian way
Lean Startup - the Italian wayLean Startup - the Italian way
Lean Startup - the Italian way
 
Social Commerce & the new ways for E-commerce
Social Commerce & the new ways for E-commerceSocial Commerce & the new ways for E-commerce
Social Commerce & the new ways for E-commerce
 
The Lean Startup and Customer Development model. In Italy.
The Lean Startup and Customer Development model. In Italy.The Lean Startup and Customer Development model. In Italy.
The Lean Startup and Customer Development model. In Italy.
 
SQL vs Code
SQL vs CodeSQL vs Code
SQL vs Code
 

Blomming Lean Startup @ Better Software 2011

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n