LINE Engineering

  • The structure of the LINE LIVE's encoder layer
    Suhyuk Kim 2018.03.06

    On December 10th of 2017, we celebrated our second anniversary for LINE LIVE, our live streaming service. The service has been up and running ever since the launch with no trouble, thanks to the efforts put in by countless engineers at LINE. On this blog post, as a member of ITSC, a team at LINE running a global infrastructure system, I'd like to share with you some of decisions we had to make in the initial phase of designing and implementing the system. Back then, I had absolutely no experience in building or running a live media service.

    AdventCalendar LINE LIVE Live Broadcasting PC Broadcasting Live Video

    Read More

  • Functional programing language and LINE GAME Cloud
    Bu Sung Kim, Jae Ho Lee 2018.02.26

    Bu Sung: Develops the LINE GAME Promotion platform. He is interested in programming languages and started learning Kotlin just recently. Jae Ho: Is a Game Tech PM at LINE. His recent interest is JavaScript.

    We are junior engineers, Bu Sung Kim and Jae Ho Lee at LINE, working on the LINE GAME Platform. We have a great interest in functional programming languages. It all started with learning that the LINE GAME Cloud is developed in Clojure, one of functional programming languages. On this post, we would like to take you through some of the characteristics of functional programming languages in association with the use cases of the LINE GAME Cloud.

    LINE GAME Cloud & Functional Programming

    LINE GAME Cloud is a game server platform, obviously cloud-based, to serve the LINE Games service worldwide, safe and sound. The cloud project was launched to globalize the LINE Games service and to automate distribution process. LINE GAME Cloud is currently in action serving the users all over the world, automatically issues servers, and supports L4/L7 routing, DNS and auto scaling. You can check the details of this project through the following links:

    Functional Programming LINE Game Cloud Clojure Server

    Read More

  • Using Docker to build a testing infrastructure for web UI and mobile
    Chloe Chao 2018.02.19

    She used to be a QA automation engineer at LINE.

    Suppose you are to setup test automation. Building and maintaining a whole test infrastructure all by your team can be painful. Although some cloud services like Sauce Labs do cover DevOps, you may have hesitated to use them due to security issues or budget concerns in your company. Docker is a good tool for you to setup and maintain servers for test automation, especially if you are just starting to build an automation test infrastructure with open source solutions.

    Of the open source solutions, Selenium is an open source framework for automating UI tests. It allows you to simulate user flow by executing scripts on different browsers. Selenium-Grid consists of hub servers and node servers to let you execute tests in parallel to speed up testing. When a hub receives requests from clients, the requests are rerouted to an appropriate node server, based on the capability parameters.

    Testing Automation Testing QA Docker Selenium Appium Container

    Read More

  • Providing Prometheus as a service
    Paul Traylor 2018.01.15

    Currently working on making server monitoring and alerting easier for developers to use.

    I'm Paul Traylor with LINE Fukuoka's Development Department where I focus on monitoring many servers used to support LINE Family Apps.

    For most developers, it's much more fun to focus on code and adding new features but when things are running poorly it's useful to know why. Since it's sometimes difficult to configure monitoring by yourself, it has been my responsibility to make it easier to use so that all services can be monitored for peak performance. As part of this, we developed Promgen to help maintain our Prometheus configuration and make it easier for developers to register monitoring targets or subscribe to alerts for any service they are responsible for.

    Prometheus Promgen

    Read More

  • Implementing a queue for LINE LIVE PC transmission
    Yappo 2017.09.19

    Greetings, this is Yappo, in charge of LINE LIVE development. On this blog post, I will introduce a queue for delaying tasks, created for transmitting LINE LIVE service from users' PC.

    How LINE LIVE was broadcasting

    We used to have two ways to broadcast LINE LIVE. One is to broadcast directly from the LINE LIVE app and the other is to broadcast from computers. Broadcasting from computers required using the LINE Official Account Manager site and RTMP software (or an exclusive tool). In other words, users were only able to broadcast using the LINE LIVE app, and not PC; only the LINE OA managers have been able to use computers to broadcast.

    When you look at the following two sequence diagrams, you would probably think that the implementations for the two transmission types would be completely different. Much to your surprise, the fundamental designs are the same.

    LINE LIVE Redis

    Read More