alejandro saucedo presentation on iwmc 2015

38
[email protected] Technology Infrastructure for a successful startup Alejandro Saucedo Interna0onal exhibi0on center of university of Shahid Behesh0 3 rd Iran Web and Mobile Conference Technology infrastructure for a successful startup Hacka { Global } 1

Upload: iran-entrepreneurship-association

Post on 17-Jul-2015

107 views

Category:

Internet


2 download

TRANSCRIPT

[email protected]  

Technology Infrastructure for a successful startup

Alejandro  Saucedo  

Interna0onal  exhibi0on  center  of  university  of  Shahid  Behesh0  

3rd  Iran  Web  and  Mobile  Conference  

Technology  infrastructure  for  a  successful  startup  

Hacka { Global }

1  

[email protected]  

                                   @ AxSauze

Alejandro  Saucedo

Hacka { Global }

2  

[email protected]  

3  

Hacka { Isfahan }

Hacka { Mashhad }

Hacka { Tehran }

Hacka { Zanjan }

Hacka { Arak }

Hacka { ? }

[email protected]  

Don’t miss it Join us today

4  

[email protected]  

•  Fast  paced  –  Might  be  overwhelming,  let  me  know  •  Links  –  contains  useful  links  to  ar0cles  and  short  explana0ons  •  Introduc6on  -­‐    Only  the  0p  of  the  iceberg  • Q&A  –  At  the  end  (Hopefully),  or  any  0me  throughout  the  day  

 • Presenta6on  at:  hOp://bit.ly/hackainfrastructure  

Today

5  

[email protected]  

What  defines  success  in  a  Startup?  

Success and Failure

6  

[email protected]  

What  defines  success  in  a  Startup?  

 From  a  technology  

perspec6ve  

Success and Failure

Who’s  this  guy?  

7  

[email protected]  

Tech Startup Success

Cloud  Infrastructure  

Con0nuous  Deployment  

Technology  Stack  

Success  in  three  simple  steps  

8  

[email protected]  

Approach the problem

Analyze  your  problem  Research  available  technologies  Choose  by  maximizing  for  the  

 Leanest,  Fastest,  Affordable  Solu6on  

Without  sacrificing  quality    

No  overengineering  No  underegineering   9  

[email protected]  

Fully  tested  

Communty  driven  

Documenta0on  Rich  

Readily  available  

FREE  

 

 

Leverage  the  readily  available  Open  Source  op6ons    

Use the right tools

10  

[email protected]  

Let’s get started!

11  

[email protected]  

Infrastructure

 

 

 

“OMG  they  just  men0oned  us  in  TechCrunch  –  BUY  AND  SETUP  NEW  SERVERS!”  

“What!?  Website  crashed  because  the  versions  of  Python  are  not  the  same?!”  

“Why  are  is  everything  so  slow  with  new  computers?  BUY  MORE  SERVERS!”  

“Why  worry  about  infrastructure,  if  I  only  have  1000  clients?”  

12  

[email protected]  

Servers  

Infrastructure

Network  

Storage  

Soiware  13  

[email protected]  

Infrastructure

THE CLOUD

14  

[email protected]  

Cloud Infrastructure

•  One  click  to  deploy  servers  

•  Simple  network  configura0on  

•  Ability  to  save/load  images  

Simple  case:  

What  if  I  need  more?!  •  Mul0ple  servers  on  demand  

•  Elas0c  compu0ng  

•  Private  cloud  15  

[email protected]  

Cloud Infrastructure How  do  I  cloud?  

Open  source  soiware  for  crea0ng  private  and  public  clouds.  

Define  and  maintain  a  consistent  state  for  all  (virtual)  machines  

Build,   ship   and   run   in  consistent,   lightweight  environments.  

16  

[email protected]  

Continuous Integration How  many  of  you…  

…use  version  control?  

…use  Jekins  or  Travis?  

…deploy  once  at  least  once  a  week?  

…write  tests?  

17  

[email protected]  

Continuous Integration

“The  last  change  broke  everything,  but  we  NEED  to  deploy  this  change!!”  

“Alright,  try  running  it  again.  Ah  I  see  the  error  now,  try  again.  Right  I’ve  changed  the  variable  –  try  running  it  again.”  

“Who  let  him  add  that!?  The  whole  system  is  down!!”  

“Tes0ng?  My  customers  want  it  now  –  I  don’t  have  0me  for  that!”  

18  

[email protected]  

Code    Reviews  

Continuous Integration

Automated    Building  

Automated    Tes0ng  

Automated  Deployment  

“Con%nuous  Integra%on  (CI)  is  a  development  prac%ce  that  requires  developers  to  integrate  code  into  a  shared  repository  several  %mes  a  day.  Each  check-­‐in  is  then  verified  by  an  automated  build,  allowing  teams  to  detect  problems  early.”  

Version  Management  

19  

[email protected]  

Review  code,  manage  progress  

Continuous Integration

Automated    Building  

(Yeoman,  Grunt,  Bower)  

Automated    Tes0ng  

(Protractor,  Phantom,  Karma)  

Version  Management  

(Promise  that  you’ll  use  this  in  your  startup)  

Jenkins  (Open  source)  

Travis  (Cloud  hosted)  

20  

[email protected]  

Submit Commit

21  

[email protected]  

Code review

Accept  Request  Change  

22  

[email protected]  

Automated Build + Tests

23  

[email protected]  

Not that hard, right?

24  

[email protected]  

No excuses

YOU  are  responsible  to  deliver,  without  sacrificing  quality.  

 

 

Customers  will  always  want  the  product  delivered  by  yesterday.  

Investors/Business  will  always  push  towards  reaching  the  deadlines,  ASAP.  

25  

[email protected]  

Technology Stack

“Why  are  there  ten  CSS  classes  called  ‘.content’  !?”  

“Undefined  variable!?  Which  of  the  24  javascript  files  is  this  coming  from?!  ”  

“SQL  INJECTIONS  EVERYWHERE!!”  

“PHP,  HTML,  JS  and  CSS  in  the  same  file  can’t  be  that  bad,  right?”  

26  

[email protected]  

Technology Stack

Backend   Frontend  

27  

[email protected]  

Technology Stack

Node  (JS)  #    

Python#    

PHP    

Ruby    C#  

Flask  BoOle  Express  Sinatra  

 Django#  Meteor  

Ruby  on  Rails  

Angular#  Ember#  

 React#  

Backbone  Knockout  

   

 Bootswatch#  Material#  JQuery  

Mongo#  Redis#  

 RabbitMQ#  Elas0c  Srch#  Apache  Solr#  

28  

[email protected]  

Solving a Problem Failures  in  following  these  principals    

is  what  makes  corporates  fail  and  allows  startups  to  take  over  

with  a  well  engineered  infrastructure,  efficient  tests,  fast  deployment  process    

 10x  FASTER  10x  BETTER  10x  CHEAPER  

 29  

[email protected]  

Admirable Success Stories

Real0me  Datamining  At  120,000  Tweets  Per  Second  

Shazam  spectogram  algorithm  Jason.TV  (Twitch  successor)  

infrastructure  

30  

[email protected]  

31  

[email protected]  

After this talk…

• Learn  and  play  with  these  technologies  • Integrate  them  in  your  day-­‐to-­‐day  development  

• Tell  off  your  CTO  if  you’re  not  using  them  already  

• Teach  your  colleagues  about  new  technologies  • Never  stop  researching  new  solu0ons  available    

32  

[email protected]  

                                   @ AxSauze

Thank  you!  

Alejandro  Saucedo

Hacka { Global }

33  

[email protected]  

Q&A

34  

[email protected]  

HackaApendix

35  

[email protected]  

OpenStack

36  

[email protected]  

Puppet

37  

[email protected]  

Docker Diagram

38