Slide 1

Slide 1 text

Irina Nazarova, EuRuKo 2024 and… me Any Cable Pro Evolution of real-time,

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

EuRuKo 2024 Sarajevo Trivia 3 Vote here now!

Slide 4

Slide 4 text

EuRuKo 2024 Sarajevo 4 Summer 2008 Built with Scaled with

Slide 5

Slide 5 text

EuRuKo 2024 Sarajevo

Slide 6

Slide 6 text

EuRuKo 2024 Sarajevo Trivia 6 know your heroes

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

EuRuKo 2024 Sarajevo Ira Nazarova CEO The story of AnyCable Vova Dementyev Head of Backend 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

SF BAY AREA RUBY MEETUP Running the SF Ruby meetup

Slide 12

Slide 12 text

EuRuKo 2024 Sarajevo 12 -where does the story begin?

Slide 13

Slide 13 text

2015 - 2019

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

2015

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

EuRuKo 2024 Sarajevo AnyCable in a nutshell 17 System of 3 components: -WS server (Go) -Rails with RPC -Redis

Slide 18

Slide 18 text

EuRuKo 2024 Sarajevo -10x less RAM usage -Lower latency at scale Motto: "Performant WebSockets for Rails" 18 2016 🥇

Slide 19

Slide 19 text

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!

Slide 20

Slide 20 text

EuRuKo 2024 Sarajevo The only thing missing was… 20

Slide 21

Slide 21 text

😷 2020 - 2021

Slide 22

Slide 22 text

EuRuKo 2024 Sarajevo 22

Slide 23

Slide 23 text

EuRuKo 2024 Sarajevo We got more consulting projects 23 Stackblitz has been our consulting customer since

Slide 24

Slide 24 text

EuRuKo 2024 Sarajevo Pre Pro era 24 Consulting gigs -Working closely with AnyCable users helped us to better understand our powers and their needs

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

EuRuKo 2024 Sarajevo 27 AnyCable learnings Realtime requests should be serviced and scaled independently from HTTP requests Architecture vs. scaling

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

EuRuKo 2024 Sarajevo Realtime requests should be serviced and scaled independently from HTTP requests

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

EuRuKo 2024 Sarajevo -GraphQL subscriptions -Long-polling -Voice applications (Twilio Media Streams) AnyCable next 31 What people wanted

Slide 32

Slide 32 text

Build it

Slide 33

Slide 33 text

EuRuKo 2024 Sarajevo Why build something? 33 🤓 Learn 🤝 Connect 🎨 Make the world better

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

EuRuKo 2024 Sarajevo 2021 launching the Pro 36 Key Pro feature: 30 - 50% RAM savings (vs. OSS) Binary compression Apollo GraphQL integration Priority support

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

EuRuKo 2024 Sarajevo Which features are open-source, and which are Pro? 38

Slide 39

Slide 39 text

EuRuKo 2024 Sarajevo 39 Open-source a communal garden Commercial Pro a professional farm

Slide 40

Slide 40 text

EuRuKo 2024 Sarajevo 40 💡Pro: value-added features for larger use cases–cluster mode, high load, enterprises

Slide 41

Slide 41 text

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 🔥

Slide 42

Slide 42 text

EuRuKo 2024 Sarajevo 💡Unexpectedly, paying customers turned out to be a lot more engaging and responsive than users of open-source 42

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

EuRuKo 2024 Sarajevo 44 -didn’t we jump ahead?

Slide 45

Slide 45 text

2021 - 2024

Slide 46

Slide 46 text

EuRuKo 2024 Sarajevo 2021 46 Released the client library: -TypeScript support -works with any JS runtime: React Native, Ionic, etc.

Slide 47

Slide 47 text

EuRuKo 2024 Sarajevo 2021 47 Pushing backend-rendered templates over WebSocket to all connected clients

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

EuRuKo 2024 Sarajevo 2021 results 49 Trials: 20 Paying customers: 6 End-year ARR: $6k Consulting revenue: $320k

Slide 50

Slide 50 text

EuRuKo 2024 Sarajevo 💡The results were not stellar, so we had to focus on other things… 50

Slide 51

Slide 51 text

EuRuKo 2024 Sarajevo 2022 51 RailsConf 2022 “The pitfalls of realtime-i fi cation” Recorded screencasts Launched newsletter Marketing all-in SUBSCRIBE

Slide 52

Slide 52 text

52

Slide 53

Slide 53 text

EuRuKo 2024 Sarajevo 2022 results 53 Trials: 18 Paying customers: 14 End-year ARR: $12k Consulting revenue: $1M 🎉

Slide 54

Slide 54 text

EuRuKo 2024 Sarajevo 💡With $1M consulting revenue per year, AnyCable became vital for Evil Martians... 54

Slide 55

Slide 55 text

EuRuKo 2024 Sarajevo ...but the product itself didn't sky-rocket—marketing is not enough 🤔 55

Slide 56

Slide 56 text

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:

Slide 57

Slide 57 text

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)

Slide 58

Slide 58 text

EuRuKo 2024 Sarajevo 58 💡We now recommend using AnyCable from day 1 for reliable delivery

Slide 59

Slide 59 text

EuRuKo 2024 Sarajevo Simplified setup with NATS 59 We added embedded NATS to replace Redis for multi-region deployments for Fly.io

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

EuRuKo 2024 Sarajevo AnyCable over SSE 63 No libs attached

Slide 64

Slide 64 text

EuRuKo 2024 Sarajevo 2023 results 64 Trials: 39 Paying customers: 23 End-year ARR: $21k Consulting revenue: $ 1M

Slide 65

Slide 65 text

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:

Slide 66

Slide 66 text

EuRuKo 2024 Sarajevo 66 Vercel Template

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

EuRuKo 2024 Sarajevo Whispering 68 Go to anycable.io now What to whisper 🔗anycable.io

Slide 69

Slide 69 text

EuRuKo 2024 Sarajevo 69 But what about Managed AnyCable?

Slide 70

Slide 70 text

EuRuKo 2024 Sarajevo 70 What’s the most e ff i cient way to build a managed service?🧐

Slide 71

Slide 71 text

EuRuKo 2024 Sarajevo 🔗plus.anycable.io 71 🔗go.anycable.io/gem fi le We launched Managed AnyCable in Alpha

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

EuRuKo 2024 Sarajevo 73 💡 De-stigmatizing telemetry in open source is important for its sustainability

Slide 74

Slide 74 text

EuRuKo 2024 Sarajevo 2024 Jan-Aug results 74 Trials: 60 Paying customers: 29 ARR: $30k Consulting revenue: $480k

Slide 75

Slide 75 text

EuRuKo 2024 Sarajevo 75 💡 New trials are growing which means that our new approach works!

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

EuRuKo 2024 Sarajevo Real-time evolution from the perspective of 78 2015 2021 2022 2023 2024 AnyCable+

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

EuRuKo 2024 Sarajevo 💡 Our customers and big use cases give us the confidence to move forward 80

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

EuRuKo 2024 Sarajevo What we don’t have 82

Slide 83

Slide 83 text

2024-future

Slide 84

Slide 84 text

EuRuKo 2024 Sarajevo Higher-level abstractions 84 Common tasks must be easy to implement: – UI kits – Collaboration SDK UI-centric real-time

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

EuRuKo 2024 Sarajevo -WebTransport is coming -Whatever’s the next new thing Future transports 87 AnyCable will integrate with the new realtime tech

Slide 88

Slide 88 text

EuRuKo 2024 Sarajevo Evolution of … myself 88 Manager ➡ co-founder mindset Contributing to the product strategy A member of the Ruby community

Slide 89

Slide 89 text

EuRuKo 2024 Sarajevo Evolution of … myself 89 Thanks to the unwavering trust of

Slide 90

Slide 90 text

SF BAY AREA RUBY MEETUP Unwavering… almost!

Slide 91

Slide 91 text

Thank you! [email protected] twitter.com/inazarova