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

Evolution of realtime and AnyCable Pro – Rocky ...

Evolution of realtime and AnyCable Pro – Rocky Mountain Ruby, 2024 Irina Nazarova

Irina Nazarova

October 10, 2024
Tweet

More Decks by Irina Nazarova

Other Decks in Programming

Transcript

  1. Rocky Mountain Ruby 2024 Boulder The key difference 8 -HTTP

    connection: request, response, CLOSE -WS connection: request, response, STAY OPEN PERFECT FOR REAL-TIME
  2. Rocky Mountain Ruby 2024 Boulder Real-time evolution 9 2005 2007

    2011 2012 2014 2017 2021 2024 PREHISTORIC DARK AGES FUTURE CAMBRIAN EXPLOSION 💥
  3. Rocky Mountain Ruby 2024 Boulder Ira Nazarova CEO The story

    of AnyCable Vova Dementyev Head of Backend 10
  4. Rocky Mountain Ruby 2024 Boulder 11 We support startups building

    with Rails 🔗evl.ms/railsstack Yabeda 11
  5. Rocky Mountain Ruby 2024 Boulder -First-class built-in support for WebSockets

    -Chats, noti fi cations, etc. w/o leaving the comfort zone of the framework Rails 5 brings Action Cable 13 2015 Phoenix—2014, Django—2016, Laravel—2024
  6. Rocky Mountain Ruby 2024 Boulder -Erlang Go server -Redis for

    multi-node clusters -Action Cable protocol -Rails plug-in-play integration -Open source Vova brings AnyCable 15 2016
  7. Rocky Mountain Ruby 2024 Boulder AnyCable in a nutshell 16

    System of 3 components: -WS server (Go) -Rails with RPC -Redis
  8. Rocky Mountain Ruby 2024 Boulder -10x less RAM usage -Lower

    latency at scale Motto: "Performant WebSockets for Rails" 17 2016 🥇
  9. Rocky Mountain Ruby 2024 Boulder -Action Cable said “You can

    build real-time features” -AnyCable said “And you can scale them” It aged well 18 WebSockets, caution no longer required!
  10. Rocky Mountain Ruby 2024 Boulder Pre Pro era 23 Consulting

    gigs -Working closely with AnyCable users helped us to better understand our powers and their needs
  11. Rocky Mountain Ruby 2024 Boulder Pre Pro era 24 Consulting

    gigs -Working closely with AnyCable users helped us to better understand our powers and their needs -We learned use cases and industries: GPS tracking, virtual events, edtech, devtools
  12. Rocky Mountain Ruby 2024 Boulder -Working closely with AnyCable users

    helped us to better understand our powers and their needs -We learned use cases and industries: GPS tracking, virtual events, edtech, devtools -As a result, we launched the fi rst major version 1.0! Pre Pro era 25 Consulting gigs
  13. Rocky Mountain Ruby 2024 Boulder 27 Imagine your server as

    a phone line: ☎ HTTP requests are like brief phone calls: you dial, get information, and hang up. 🌎 WebSocket connections are like the dial-up modem If the two are competing, WebSockets win all resources they need–as seen by our customers
  14. Rocky Mountain Ruby 2024 Boulder 29 AnyCable learnings Big apps

    with scale reached out. For them, we needed tools: -xk6-cable for load testing -wsdirector for scenario-based system tests Ecosystem was missing
  15. Rocky Mountain Ruby 2024 Boulder -GraphQL subscriptions -Fallback to long-polling

    -Voice applications (Twilio Media Streams) AnyCable next 30 What people wanted
  16. Rocky Mountain Ruby 2024 Boulder 2021 launching the Pro 33

    Key Pro feature: 30 - 50% RAM savings (vs. OSS) Binary compression Apollo GraphQL integration Priority support
  17. Rocky Mountain Ruby 2024 Boulder 34 – GitHub Container Registry

    – $990 per year fl at price – EULA – Typeform for signups – Manual emails, calls, invoices – No “license server” Keep it simple! 2021 launching the Pro
  18. Rocky Mountain Ruby 2024 Boulder 🇫🇷 Callbell.eu, our first Pro

    customer 💙 35 Shared inbox for support: WhatsApp, Messenger, Instagram, and Telegram For Callbell low latency is crucial Callbell is 🔥
  19. Rocky Mountain Ruby 2024 Boulder 💡Unexpectedly, paying customers turned out

    to be a lot more engaging and responsive than users of open-source 36
  20. Rocky Mountain Ruby 2024 Boulder 2021 38 Released the client

    library: -TypeScript support -works with any JS runtime: React Native, Ionic, etc.
  21. Rocky Mountain Ruby 2024 Boulder 2021 40 ✅ Standalone mode

    for apps only using WS for Hotwire: – no RPC server – only 2 components out of 3 We wanted to do something extra
  22. Rocky Mountain Ruby 2024 Boulder 2021 results 41 Trials: 20

    Paying customers: 6 End-year ARR: $6k Consulting revenue: $320k
  23. Rocky Mountain Ruby 2024 Boulder 2022 43 RailsConf 2022 “The

    pitfalls of realtime-i fi cation” Recorded screencasts Launched newsletter Marketing all-in SUBSCRIBE blog.anycable.io
  24. 44

  25. Rocky Mountain Ruby 2024 Boulder 45 On a real-time scale,

    connectivity is not that solid and smooth
  26. Rocky Mountain Ruby 2024 Boulder 2022 results 46 Trials: 18

    Paying customers: 14 End-year ARR: $12k Consulting revenue: $1M 🎉
  27. Rocky Mountain Ruby 2024 Boulder 💡With $1M consulting revenue per

    year, AnyCable became vital for Evil Martians... 47
  28. Rocky Mountain Ruby 2024 Boulder ...but the product itself didn't

    sky-rocket—marketing is not enough 🤔 48
  29. Rocky Mountain Ruby 2024 Boulder 2023 49 The paradigm shift

    -Reliable communication -Simpli fi ed infra -More protocols (Twilio Media Streams, OCPP) -SSE support Move focus from performance to features and DX:
  30. Rocky Mountain Ruby 2024 Boulder Exactly-once delivery in WebSockets with

    AnyCable 50 -Exactly-once delivery of real-time data -Resume WS sessions automatically on deployments (Pro)
  31. Rocky Mountain Ruby 2024 Boulder 51 💡We now recommend using

    AnyCable from day 1 for reliable delivery PERFECT FOR REAL-TIME
  32. Rocky Mountain Ruby 2024 Boulder Simplified setup with NATS 52

    We added embedded NATS to replace Redis for multi-region deployments for Fly.io
  33. Rocky Mountain Ruby 2024 Boulder EV-charging protocol support 53 Testing:

    UK’s leading EV charging provider Customer: Malaysia's leading EV charging provider 🔗docs.anycable.io/anycable-go/ocpp Use AnyCable to monitor and operate charging stations in real time
  34. Rocky Mountain Ruby 2024 Boulder AnyCable: -Gets a WS voice

    stream from Twilio -Sends chunks it to real-time speech-to-text API -(Proxies other processing steps) -Noti fi es Rails Voice apps 54 Twilio media streams support 🔗 github.com/anycable/anycable-go-sca ff old used by
  35. Rocky Mountain Ruby 2024 Boulder -Safari fi nally got support

    -LLMs (ChatGPT) popularized SSE for response streaming -Use AnyCable for LLM streaming over WS or SSE Server-sent events 55 LLMs' native realtime transport
  36. Rocky Mountain Ruby 2024 Boulder 2023 results 57 Trials: 39

    Paying customers: 23 End-year ARR: $21k Consulting revenue: $ 1M
  37. Rocky Mountain Ruby 2024 Boulder 2024 58 The even bigger

    paradigm shift -Serverless JS and other vercels -Universal pub/sub interface (no channels attached) -Managed AnyCable Go beyond Ruby and Rails:
  38. Rocky Mountain Ruby 2024 Boulder -No RPC component required -Only

    1 component out of 3 -Whispering support (client- to-client broadcasting) Simplified pub/sub 60 AnyCable as one component
  39. Rocky Mountain Ruby 2024 Boulder 63 What’s the most e

    ff i cient way to build a managed service?🧐
  40. Rocky Mountain Ruby 2024 Boulder 65 We added anonymous telemetry

    to AnyCable-go big open source servers big Pro servers people on old versions PostHog dropping our data Unique servers with over 1k concurrent connections
  41. Rocky Mountain Ruby 2024 Boulder 2024 Jan-Aug results 66 Trials:

    60 Paying customers: 29 ARR: $30k Consulting revenue: $480k
  42. Rocky Mountain Ruby 2024 Boulder 67 💡 New trials are

    growing which means that our new approach works!
  43. Rocky Mountain Ruby 2024 Boulder Today AnyCable is the critical

    infrastructure powering some of the largest Rails apps 68 $3B legal services SaaS Leading American transit SaaS Malaysia's Leading EV Charging Company communication platform used by 80% of US doctors marketing SaaS with $160M+ revenue
  44. Rocky Mountain Ruby 2024 Boulder 💡 Our customers and big

    use cases give us the confidence to move forward 69
  45. Rocky Mountain Ruby 2024 Boulder What we have 70 ✅

    Solve a real problem ✅ And for real big use cases ✅ And new cases keep coming up We solved the backend and infra: - integration - scaling - dependability - reliability - no lock on cloud provider
  46. Rocky Mountain Ruby 2024 Boulder Higher-level abstractions 73 Common tasks

    must be easy to implement: – UI kits – Collaboration SDK UI-centric real-time
  47. Rocky Mountain Ruby 2024 Boulder Simplify and simplify again 74

    There’s a lot to be done to be AnyCable easier to reach for: – Guides & tutorials (incl. AI-powered) – Zero-con fi guration installs – Managed AnyCable for production Make it accessible for more engineers
  48. Rocky Mountain Ruby 2024 Boulder -WebTransport is coming -Whatever’s the

    next new thing Future transports 75 AnyCable will integrate with the new realtime tech
  49. Rocky Mountain Ruby 2024 Boulder Evolution of … myself 76

    Manager ➡ co-founder Contributing to the product strategy A member of the Ruby community
  50. Rocky Mountain Ruby 2024 Boulder 79 This is how we

    laid out the foundations of AnyCable