Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

掌握Feature Toggle 與OpenFeature規範

Slide 3

Slide 3 text

許子庭 (Noah Hsu) 台灣連線 2018 ~ 2021 : Java Engineer 2021 ~ : Server-Side Engineer 2022 ~ : Pipeline TF

Slide 4

Slide 4 text

01 02 03 What & Why What & Why What OpenFeature Flagship4J Feature Toggle CONTENT 04 How & When Using Flagship4J

Slide 5

Slide 5 text

SECTION 01 Improve development/testing/deployment flexibility Feature Toggle

Slide 6

Slide 6 text

Dynamic (no code change) manage application behavior What is Feature Toggle AS IS TO BE Given

Slide 7

Slide 7 text

UI Example (Flagr) What is Feature Toggle

Slide 8

Slide 8 text

UI Example (Flagr) What is Feature Toggle

Slide 9

Slide 9 text

Dynamic (no code change) manage application behavior Why Feature Toggle • Hard Code • Code Change • Deploy • Config • DB • Change DB • DB traffic • Feature Toggle • Network Traffic • UI management • Deploy • Restart

Slide 10

Slide 10 text

Benefit of Feature Toggle

Slide 11

Slide 11 text

SECTION 02 OpenFeature

Slide 12

Slide 12 text

What is OpenFeature OpenFeature is an open source CNCF incubating project under the Apache 2 license. OpenFeature is an open specification that provides a vendor-agnostic, community-driven API for feature flagging that works with your favorite feature flag management tool or in-house solution. (https://openfeature.dev/, 2024 Sep.)

Slide 13

Slide 13 text

01 One SDK, any backend 02 Supports your favorite tools 03 Speaks your language

Slide 14

Slide 14 text

SECTION 03 Feature toggle system API-Client SDK follow OpenFeature specification. Flagship4j

Slide 15

Slide 15 text

Flagship4j Openflagr Provider Java starter Spring Boot starter Use-case example code The “One SDK”

Slide 16

Slide 16 text

Easy to Use Spring Boot starter Java starter

Slide 17

Slide 17 text

SECTION 04 Using Flagship4j

Slide 18

Slide 18 text

Toggle Type https://martinfowler.com/articles/feature-toggles.html, 2024

Slide 19

Slide 19 text

2024.12.24 remove old code and toggle 2024.12.17 2024.12.20 2024.12.20 open toggle vendor’s API ready new feature deploy (toggle off) time The API Vendor release date doesn't match Release Toggle Case

Slide 20

Slide 20 text

On/Off Release

Slide 21

Slide 21 text

Migrate search API which has unclear performance implications Ops Toggle Case 2024.12.26 100% rollout 2024.12.17 2024.12.20 2024.12.23 60% 25% rollout Deploy change (10% rollout) time 2024.12.31 remove code and toggle

Slide 22

Slide 22 text

Rollout xxx.xxxx@sw-host

Slide 23

Slide 23 text

To test green or blue button attracts more purchases Experiment Toggle Case

Slide 24

Slide 24 text

Beta feature are only available to internal users and beta user Permission Toggle Case

Slide 25

Slide 25 text

No content