Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evaluating Tech Stacks

Evaluating Tech Stacks

Given at the Carbon Five LA Hack Night on 6/15/2016.

Is Phoenix better than Rails? What ​_really_​ matters when you’re evaluating new tech stacks? This talk will provide a peek into how we evaluate and introduce new technology at Carbon Five. It will give you some tools for evaluating new tech and help put what’s important into perspective.

86792f159b0bd5029f256f6841199bf3?s=128

Christian Nelson

June 15, 2016
Tweet

Transcript

  1. EVALUATING TECH STACKS Christian Nelson @xianpants

  2. NO SHORTAGE OF… • Shiny new toys • Emphatic opinions

    about those toys • Success (and sometimes failure) stories
  3. https://twitter.com/bcardarella/status/735507961775304706

  4. https://m.signalvnoise.com/ruby-has-been-fast-enough-for-13-years-afff4a54abc7

  5. http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/

  6. https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=fortune

  7. https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=fortune 100x FASTER! OMG!!!

  8. Who is right?!

  9. They all are! (mostly)

  10. How can this be?

  11. Reality is nuanced, complicated, and there are many sets of

    circumstances.
  12. Product Stage Nascent products face very different challenges from established

    products.
  13. Day 0 0 25 50 75 100 What to Build?

    Building it Running it
  14. 2 Years 0 25 50 75 100 What to Build?

    Building it Running it
  15. EARLY STAGES (CONSUMER PRODUCT SEEKING USERS) • Searching for product

    market fit • Build and test ideas to see what sticks • Quickly enhance features
  16. EARLY STAGES (CONSUMER PRODUCT SEEKING USERS) Tech should enable rapid

    iteration and learning, to answer the “What?” question very quickly. Lack of agility can be existential.
  17. LATER STAGES (I.E. LOTS OF USERS) • Scaling and Operational

    costs • Stability • Security • Maintenance
  18. LATER STAGES (I.E. LOTS OF USERS) Critical that the technology

    doesn’t require excessive time or money to keep the product running. Innovation is still very important, lack thereof can be existential.
  19. CAN YOU HAVE BOTH? There are always tradeoffs. But, some

    hands are better (for you and your situation) than others.
  20. WHAT SHOULD I CONSIDER? When checking out new tech stacks.

  21. None
  22. TECHNICAL CONSTRAINTS • Embedded • Real-time • Game Engine •

    Drivers • Proprietary SDKs • Massive Concurrency • Platform (Windows?)
  23. PRODUCTIVITY • Get started quickly • Get features on pages

    and feedback, pronto • Whether authored or integrated via libs or services
  24. PHILOSOPHY • “Developer Happiness” • Convention/ Configuration • Typing •

    Static/Dynamic • Testing culture
  25. COMMUNITY • Active • Positive • Inclusive • Growing •

    Supportive
  26. OSS ECOSYSTEM • Active • Quality packages
 (well tested) •

    Applicable to your domain
  27. COST PER USER • (Almost) anything can “scale” • What

    does it cost to do so? • $s on servers (cheap) • Time spent optimizing and ops-ing to get there (people - not cheap)
  28. HIRE-ABILITY • Supply • Desirability

  29. MATURITY - GARTNER’S HYPE CYCLE

  30. MATURITY - GARTNER’S HYPE CYCLE

  31. MATURITY - GARTNER’S HYPE CYCLE

  32. HOW WE WEIGH THEM… • Productivity • Philosophy • Community

    • OSS Ecosystem • Operational Cost Per User • Hire-Ability • Maturity
  33. WHY ELIXIR + PHOENIX? • Friendly functional programming • Familiar(ish)

    to Ruby on Rails developers
 language syntax, toolchain, and framework design • Reached “escape velocity” (won’t disappear tomorrow) • Strong community (even if small) • Low cost per user
  34. SO YOU WANNA GIVE SOMETHING A TRY? • Feet wet

    with a simple tutorial (e.g. blog) • Build or rewrite something small, but real (i.e. with some users) • Drive it into production • Live with it for a little while (or a long while!)
  35. What if we can have the productivity we love with

    Rails, and low cost per user at the same time? THE QUESTION
  36. What if we can have the productivity we love with

    Rails, and low cost per user at the same time? THE QUESTION
  37. CHECK IT OUT • Surviving the Framework Hype - Brandon

    Hayes
 https://www.youtube.com/watch?v=0MojR1XUEc0 • Rails to Phoenix - Brian Carderella
 https://www.youtube.com/watch?v=OxhTQdcieQE • Ruby Has Been Fast Enough For 13 Years - DHH
 https://m.signalvnoise.com/ruby-has-been-fast-enough-for-13-years-afff4a54abc7 • Programming Elixir / Phoenix • Elixir and Phoenix: The Future of Web APIs and Apps?
 http://blog.carbonfive.com/2016/04/19/elixir-and-phoenix-the-future-of-web-apis-and-apps/
  38. THANKS! CHRISTIAN NELSON / @XIANPANTS / CHRISTIAN@CARBONFIVE.COM