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

Building a Fully Featured Scalable Chat App - Azure CosmosDBConf 2022

Building a Fully Featured Scalable Chat App - Azure CosmosDBConf 2022

Slides for my session at Azure CosmosDBConf 2022: https://www.youtube.com/watch?v=LpzJTJvH6go

The GitHub repo: https://github.com/ably-labs/fully-featured-scalable-chat-app

Fd55de4174accaf3b4f030e43a8a70c6?s=128

Marc Duiker

April 20, 2022
Tweet

More Decks by Marc Duiker

Other Decks in Technology

Transcript

  1. @MarcDuiker

  2. @MarcDuiker Marc Duiker Sr Developer Advocate

  3. @MarcDuiker 3

  4. @MarcDuiker 4

  5. @MarcDuiker 5

  6. @MarcDuiker 6

  7. @MarcDuiker 7

  8. @MarcDuiker 8

  9. @MarcDuiker 9

  10. @MarcDuiker 10

  11. @MarcDuiker 11 https://ffs-chat.ably.dev

  12. @MarcDuiker 12

  13. @MarcDuiker 13 Docs Code samples

  14. @MarcDuiker 14

  15. @MarcDuiker 15

  16. @MarcDuiker 16

  17. @MarcDuiker 17

  18. @MarcDuiker 18

  19. @MarcDuiker 19 DAO DAO

  20. @MarcDuiker 20 Azure Static Web Apps React Auth Ably CosmosDB

    Blob Storage Azure Functions
  21. @MarcDuiker 21 CosmosDB Azure Functions Ably React messages channels /

    users / roles
  22. @MarcDuiker 22

  23. @MarcDuiker 23 Ably User 1 User 2 User 3 User

    4 Publish
  24. @MarcDuiker 24 Ably User 1 User 2 User 3 User

    4 Subscribe Subscribe Subscribe
  25. @MarcDuiker 25 User 1 User 2 User 3 User 4

    CosmosDB POST
  26. @MarcDuiker 26 User 1 User 2 User 3 User 4

    CosmosDB GET GET GET
  27. @MarcDuiker 27 1 + 999 = 1000 messages Ably Publisher

    Subscribers 1 999 1000 users in a channel
  28. @MarcDuiker 28 Ably Publishers Subscribers 1000 + 1000 * 999

    = 1 million messages 1000 999 1000 users in a channel
  29. @MarcDuiker 29 Ably CosmosDB 1000 POST 1000 Azure Functions 1000

    GET 1000 Azure Functions 1000 1000 users in a channel
  30. @MarcDuiker 31

  31. @MarcDuiker 32 https://cosmos.azure.com/capacitycalculator/

  32. @MarcDuiker 33

  33. @MarcDuiker 34 https://www.npmjs.com/package/@azure/static-web-apps-cli

  34. @MarcDuiker 35 https://docs.microsoft.com/en-us/azure/static-web-apps/local-development

  35. @MarcDuiker 36 https://techcommunity.microsoft.com/t5/apps-on-azure-blog/introducing- the-azure-static-web-apps-cli/ba-p/2257581

  36. @MarcDuiker 37 https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator

  37. @MarcDuiker 38 https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator

  38. @MarcDuiker 39

  39. @MarcDuiker 40 https://github.com/features/codespaces

  40. @MarcDuiker 41 https://github.com/features/codespaces

  41. @MarcDuiker 42

  42. @MarcDuiker 43

  43. @MarcDuiker 44

  44. @MarcDuiker - Chat moderation - Search - Media previews -

    Private messaging - New ideas? https://github.com/ably-labs/fully- featured-scalable-chat-app
  45. @MarcDuiker 46 @marcduiker Ably Discord: https://discord.gg/q89gDHZcBK