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

Evolution of real-time – Irina Nazarova, EuRuKo...

Evolution of real-time – Irina Nazarova, EuRuKo, 2024

Irina Nazarova

September 12, 2024
Tweet

More Decks by Irina Nazarova

Other Decks in Programming

Transcript

  1. EuRuKo 2024 Sarajevo Real-time evolution 2 2005 2007 2011 2012

    2014 2017 2021 2024 PREHISTORIC DARK AGES CAMBRIAN EXPLOSION 💥 FUTURE
  2. EuRuKo 2024 Sarajevo Real-time evolution 7 2005 2007 2011 2012

    2014 2017 2021 2024 PREHISTORIC DARK AGES FUTURE CAMBRIAN EXPLOSION 💥
  3. SF BAY AREA RUBY MEETUP 9 Our customers: 🛠 Products

    for developers 🚊 Startups on Rails ⚡ Real-time and collaboration- heavy apps 🪺 Local- fi rst apps We do: design developer products build features and products improve performance and scalability build ecosystem and SDKS 📍 NY, CA, Portugal, Japan
  4. SF BAY AREA RUBY MEETUP 10 If you are a

    startup on Rails, and you have a hard problem, come to us for help 🔗evl.ms/railsstack Yabeda
  5. EuRuKo 2024 Sarajevo -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 14 2015 Phoenix—2014, Django—2016, Laravel—2024
  6. EuRuKo 2024 Sarajevo -Erlang Go server -Redis for multi-node clusters

    -Action Cable protocol -Rails plug-in-play integration -Open source Vova brings AnyCable 16 2016
  7. EuRuKo 2024 Sarajevo AnyCable in a nutshell 17 System of

    3 components: -WS server (Go) -Rails with RPC -Redis
  8. EuRuKo 2024 Sarajevo -10x less RAM usage -Lower latency at

    scale Motto: "Performant WebSockets for Rails" 18 2016 🥇
  9. EuRuKo 2024 Sarajevo -Action Cable said “You can build real-time

    features” -AnyCable said “And you can scale them” It aged well 19 WebSockets, caution no longer required!
  10. EuRuKo 2024 Sarajevo Pre Pro era 24 Consulting gigs -Working

    closely with AnyCable users helped us to better understand our powers and their needs
  11. EuRuKo 2024 Sarajevo Pre Pro era 25 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. EuRuKo 2024 Sarajevo -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 26 Consulting gigs
  13. EuRuKo 2024 Sarajevo 27 AnyCable learnings Realtime requests should be

    serviced and scaled independently from HTTP requests Architecture vs. scaling
  14. EuRuKo 2024 Sarajevo 28 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
  15. EuRuKo 2024 Sarajevo 30 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 matters
  16. EuRuKo 2024 Sarajevo Why not build something? 🎛 Be in

    control 🖨 Copy someone’s success 💰 Get rich fast 😤 Prove them wrong 😩 These goals are short- lived and won’t lead anywhere 34
  17. EuRuKo 2024 Sarajevo Startups at Evil Martians 35 – Evil

    Martians can invest in an internal startup (mostly, team’s time), and the process is transparent – when the startup raises external capital, EM gets a share the new company, based on the valuation with a fi xed discount – project founders remain the majority owners – it worked with imgproxy and CanFy
  18. EuRuKo 2024 Sarajevo 2021 launching the Pro 36 Key Pro

    feature: 30 - 50% RAM savings (vs. OSS) Binary compression Apollo GraphQL integration Priority support
  19. EuRuKo 2024 Sarajevo 37 – 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
  20. EuRuKo 2024 Sarajevo 40 💡Pro: value-added features for larger use

    cases–cluster mode, high load, enterprises
  21. EuRuKo 2024 Sarajevo 🇫🇷 Callbell.eu, our first Pro customer 💙

    41 Shared inbox for support: WhatsApp, Messenger, Instagram, and Telegram For Callbell low latency is crucial Callbell is 🔥
  22. EuRuKo 2024 Sarajevo 💡Unexpectedly, paying customers turned out to be

    a lot more engaging and responsive than users of open-source 42
  23. EuRuKo 2024 Sarajevo Today AnyCable is the critical infrastructure powering

    some of the largest Rails apps 43 $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
  24. EuRuKo 2024 Sarajevo 2021 46 Released the client library: -TypeScript

    support -works with any JS runtime: React Native, Ionic, etc.
  25. EuRuKo 2024 Sarajevo 2021 48 ✅ Standalone mode for apps

    only using WS for Hotwire: – no RPC server – only 2 components out of 3 We wanted to do something extra
  26. EuRuKo 2024 Sarajevo 2021 results 49 Trials: 20 Paying customers:

    6 End-year ARR: $6k Consulting revenue: $320k
  27. EuRuKo 2024 Sarajevo 2022 51 RailsConf 2022 “The pitfalls of

    realtime-i fi cation” Recorded screencasts Launched newsletter Marketing all-in SUBSCRIBE
  28. 52

  29. EuRuKo 2024 Sarajevo 2022 results 53 Trials: 18 Paying customers:

    14 End-year ARR: $12k Consulting revenue: $1M 🎉
  30. EuRuKo 2024 Sarajevo 2023 56 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:
  31. EuRuKo 2024 Sarajevo Exactly-once delivery in WebSockets with AnyCable 57

    -Exactly-once delivery of real-time data -Resume WS sessions automatically on deployments (Pro)
  32. EuRuKo 2024 Sarajevo Simplified setup with NATS 59 We added

    embedded NATS to replace Redis for multi-region deployments for Fly.io
  33. EuRuKo 2024 Sarajevo EV-charging protocol support 60 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. EuRuKo 2024 Sarajevo 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 61 Twilio media streams support 🔗 github.com/anycable/anycable-go-sca ff old
  35. EuRuKo 2024 Sarajevo -Safari fi nally got support -LLMs (ChatGPT)

    popularized SSE for response streaming -Use AnyCable for LLM streaming over WS or SSE Server-sent events 62 LLMs' native realtime transport
  36. EuRuKo 2024 Sarajevo 2023 results 64 Trials: 39 Paying customers:

    23 End-year ARR: $21k Consulting revenue: $ 1M
  37. EuRuKo 2024 Sarajevo 2024 65 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. EuRuKo 2024 Sarajevo -No RPC component required -Only 1 component

    out of 3 -Whispering support (client- to-client broadcasting) Simplified pub/sub 67 AnyCable as one component
  39. EuRuKo 2024 Sarajevo 70 What’s the most e ff i

    cient way to build a managed service?🧐
  40. EuRuKo 2024 Sarajevo 72 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. EuRuKo 2024 Sarajevo 2024 Jan-Aug results 74 Trials: 60 Paying

    customers: 29 ARR: $30k Consulting revenue: $480k
  42. EuRuKo 2024 Sarajevo AnyCable 2016 76 Go server Action Cable

    protocol Redis pub/sub WebSockets Rails SDK Open source Use cases: 💬🔔 Chats, noti fi cations 🛰 GPS data Action Cable on steroids
  43. EuRuKo 2024 Sarajevo AnyCable 2024 77 Go server Action Cable

    protocol w/ delivery guarantees Zero infra deps Multi-transport Framework-agnostic Open source, Pro, managed Reliable realtime server Use cases: ☎ Voice applications 👩 👩 Collaborative UI: cursors, comments, editing, presence 🤖 LLM streaming 🚙🔌 EV charging data (OCPP) 💬🔔 Chats, noti fi cations 🛰 GPS data
  44. EuRuKo 2024 Sarajevo Today AnyCable is the critical infrastructure powering

    some of the largest Rails apps 79 $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
  45. EuRuKo 2024 Sarajevo 💡 Our customers and big use cases

    give us the confidence to move forward 80
  46. EuRuKo 2024 Sarajevo What we have 81 ✅ 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
  47. EuRuKo 2024 Sarajevo Higher-level abstractions 84 Common tasks must be

    easy to implement: – UI kits – Collaboration SDK UI-centric real-time
  48. EuRuKo 2024 Sarajevo Simplify and simplify again 85 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
  49. EuRuKo 2024 Sarajevo -Everyone has a robot 🤖 to collaborate

    with at any time: through chats, voice conversations, git fl ow, a collaboration in the UI -This ampli fi es the need for real-time tech -Wider adoption requires plug-n-play, easy to use, solutions LLMs vs. realtime 86 Next-gen collaboration
  50. EuRuKo 2024 Sarajevo -WebTransport is coming -Whatever’s the next new

    thing Future transports 87 AnyCable will integrate with the new realtime tech
  51. EuRuKo 2024 Sarajevo Evolution of … myself 88 Manager ➡

    co-founder mindset Contributing to the product strategy A member of the Ruby community