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

Feature Toggle: Make Development more Efficient

Feature Toggle: Make Development more Efficient

- Speaker: Sean Huang
- Event: iThome Kubernetes summit 2023

LINE Developers Taiwan

October 25, 2023
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Technology

Transcript

  1. Feature Toggle

    View full-size slide

  2. 黃信豪, Sean Huang
    Sr. Technical Manager@LINE
    2010-2014: Quanta Research
    2014-2016: start up
    2016-2018: Gogoro Inc.
    2018-2020: LINE
    2021: Appier
    2021 – now: LINE

    View full-size slide

  3. Closing the distance & Life on LINE
    在LINE做過什麼
    2018.11
    LINE旅遊
    2018.04 2018.09 2018.10
    全家付款買貼圖
    MRT 公車追蹤
    台灣大車隊
    beacon合作
    2022.10
    金物流模組
    LINE購物商城
    2023.6
    金流模組
    內容服務
    2023.08
    金流模組
    LINE禮物
    2018 2023

    View full-size slide

  4. Software
    天下武功
    唯快不破

    View full-size slide

  5. Software
    贏者全拿
    Winner Take All

    View full-size slide

  6. 專案管理
    鐵三⾓ 範疇

    View full-size slide

  7. 01
    02
    03
    04
    介紹什麼是 Feature Toggle,及基本概念和工作原理。
    分享實際應用場景,包括 AB testing, Canary Release 等。
    LINE 台灣在推動 Feature Toggle 的經驗和協同開發工法
    Feature Toggle 應⽤場景
    LINE台灣在推動的⼯法
    影響到開發流程和 CI/CD 在 k8s 上的部署,如何解決痛點
    對K8s 的影響
    Feature Toggle 簡介
    05
    如何持續改善
    縮短部署週期與增進開發效率
    CONTENT

    View full-size slide

  8. 01
    Feature Toggle
    簡介

    View full-size slide

  9. Code with Flag
    最簡單的feature toggle

    View full-size slide

  10. Configuration
    feature toggle進化 I

    View full-size slide

  11. Database
    feature toggle進化 II

    View full-size slide

  12. Feature Toggle System
    feature toggle進化 III

    View full-size slide

  13. Feature Toggle System
    feature toggle進化 III

    View full-size slide

  14. How to Evaluate Toggle System

    View full-size slide

  15. WHY OpenFlagr?

    View full-size slide

  16. OpenFlagr Architecure

    View full-size slide

  17. 註解或⼩標題⽂字註解或⼩標題⽂字
    02
    Feature Toggle
    應⽤場景

    View full-size slide

  18. Use Case for E-Commerce

    View full-size slide

  19. Canary Release

    View full-size slide

  20. Dynamic Configuration

    View full-size slide

  21. 註解或⼩標題⽂字註解或⼩標題⽂字
    03
    LINE台灣在推
    動的⼯法

    View full-size slide

  22. K8s deployment

    View full-size slide

  23. Authentication
    Internal Auth
    Proxy
    Openflagr
    Manager

    View full-size slide

  24. Authentication

    View full-size slide

  25. Feature Flag Client
    OpenFeature
    OpenFeature
    SDK
    OpenFeature
    Provider
    Feature
    Toggle
    System
    Flag Evaluation API

    View full-size slide

  26. Mockoon - MockAPI
    API
    Request
    HTTP
    Client
    Interceptor
    Third Party
    API
    Mock API
    Feature Toggle System

    View full-size slide

  27. 註解或⼩標題⽂字註解或⼩標題⽂字
    04
    對K8s部署流程
    影響

    View full-size slide

  28. K8s release 架構圖

    View full-size slide

  29. Release Pipeline

    View full-size slide

  30. 註解或⼩標題⽂字註解或⼩標題⽂字
    05
    縮短部署週期與
    增進開發效率

    View full-size slide

  31. CFR
    Change Failure
    Rate
    LINE台灣的開發效能指標
    MTTR
    Mean Time to
    Restore Service
    LTC
    Lead Time for
    Changes
    DF
    Deployment
    Frequency

    View full-size slide

  32. CFR - Change Failure Rate
    MTTR – Mean Time to Restore Service

    View full-size slide

  33. LTC – Lead Time for Change
    DF – Deployment Frequency

    View full-size slide