Handling billions of events per day with Kotlin Coroutines by Florentin Simion and Rares Vlasceanu

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 พ.ค. 2023
  • Recording brought to you by American Express. americanexpress.io/kotlin-jobs
    Migrating a 12-year old application to an asynchronous non-blocking model is not an easy task. What seemed to be impossible at first, was made possible by Kotlin and its Coroutines. It allowed us to reuse most of the existing code base and have a working prototype in a matter of days. Inter-op with Java really pays off!
    The application is business-critical and processes billions of events per day in real-time with millisecond latency. It also used to burn a lot of $$ in the process, as a single instance of the application occupied a fairly large EC2 instance, running more than 1K threads and handling over 5K IOPS.
    In this session we will walk through the process of using Kotlin to turn the app asynchronous and how we've integrated the coroutines stack, alongside (old) existing technologies. We will also show how this change made the application more efficient - yielding a 25% cost reduction, which translates into millions of $$ annually.
    We will also cover challenges encountered along the way when doing such a change, like:
    Low resolution telemetry data may hide bottlenecks
    Asynchronous alone does not guarantee low latency
    Unexpected impact on dependant services
    - so that you know what you are up against!
    Talk by: Florentin Simion, Rares Vlasceanu
    #kotlinconf23 #Coroutines #Adobe #KotlinConf
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 6

  • @bangonkali
    @bangonkali ปีที่แล้ว +5

    Thanks for sharing your story. Interesting point especially with regards to separating cpu heavy vs io heavy workloads.
    Even at infrastructure side one might use different servers for cpu heavy tasks, and maybe one can even optimize that separately by leveraging cpu microarchitecture features. Huge savings can be made there as well. Depending of course on the algorithms that make up such cpu heavy tasks.
    However there is an additional cost of this @ the orchestration/choreography level. Though at the end of the days if the solution is cheaper than the legacy system @ higher throughput then it's all good.
    Optimization is a continuous improvement after all. I don't think that's a task that one can say can be completed but instead can only be done in stages (relating to the lesson of changing only one thing at a time. 😂).
    Thanks for the great presentation. 👍

  • @ancasuliman7217
    @ancasuliman7217 ปีที่แล้ว +1

    Great talk, what an inspiring story! ❤

  • @921xmecha
    @921xmecha ปีที่แล้ว

    Thank you for this interesting presentation.

  • @hj2931
    @hj2931 ปีที่แล้ว

    Very interesting talk, thanks for sharing!

  • @nicolafarina1544
    @nicolafarina1544 3 หลายเดือนก่อน

    Thanks for sharing! But is there a written version? I'm not a native English speaker and find difficult to follow along😢

  • @alanesaugarciagutierrez6025
    @alanesaugarciagutierrez6025 ปีที่แล้ว

    Anyone knows about a course for Kotlin Server Side? I know basics from Ktor but i dont have any knowledge about backend