SlideShare a Scribd company logo
1 of 24
Feature Flag!
Agenda:
● Why we need feature Flag?
● What are Feature Flags?
● Feature Flag in Continuous Delivery
● Basic Feature Flag in App
● Advance Feature Flag
● Maintenance and Best Practice
● Case Study
Why we need feature Flag?
● Can’t release a broken feature in progress
● Don’t want to delay release of other features that
are ready
Solution is : Decoupling Feature rollout from code deployment
Feature Flag
New Feature
OLD Feature
Feature Flag
newThemeForBrandSite = false
If (newThemeForBrandSite) {
showNewThemeForBrandSite()
} else {
showOldThemeForBrandSite()
}
Feature Flag and SDLC
The Traditional SDLC
The Traditional SDLC with Feature Flag
Basic Feature Flag in APP
Implementation
Application Configuration File
app-flags.config
newThemeForBrandSite = false
newComponent01 = false
newLandingPage = true
Implementation of the App Config
Import appFlgas from ‘app-flags.config’;
Import newLandingPage from ‘newLandingPage’;
Import oldLandingPage from ‘oldLandingPage’;
class App extends React.Component {
render() {
return If (appFlgas.newThemeForBrandSite) {
newLandingPage()
} else {
oldLandingPage()
}
}
}
Deploy Updated Feature Flag
● Create new build for updated Feature Flag
● Test new flag in all the environment
● Deploy new build.
Advance Feature Flag
LaunchDarkly Flags for Modern Development
These aren't your old school, run of the mill on/off feature flags. LaunchDarkly feature flags
are cross-platform supported, multi-lingual and updates are delivered consistently across
all your services in real-time, without introducing any latency to your site.
Features
Stored Locally
After our SDK initializes, all your feature flag rules are stored locally in memory. This allows you to process
millions of evaluations, without introducing latency in your services, since you don't have to run a query
against a separate database or call back to LaunchDarkly at the time of a flag evaluation. You can even add
an additional layer of reliability by using one of our local storage options with our SDKs.
Real-time Updates
Our unique streaming architecture means you can instantly turn features on/off when you need to without
introducing any latency to your site. It only takes 200 milliseconds to propagate flag updates.
Incremental Rollout : you can rollout new features incrementally for few random users.
Targeting Individual users: you can release new feature to only specific user.
Oversight & Control
Feature flagging is not a new concept. For decades
development teams have utilized feature flags to control
the release of new features to their end users. Starting to
feature flag isn't hard, but managing feature flags at scale
with granular control over who sees what is. Our real-time
feature flags give you the confidence to ship code faster
without the worry of severely impacting your users.
Intuitive UI
Our easy-to-use user interface puts the power of feature flags into anyones hands, not just
developers. Less technical stakeholders from product, marketing or client services can now
play a role in your feature management practices without fear of them causing a product
incident.
Access Controls
Create flexible policies that provide fine-grained access controls to anything in LaunchDarkly
from feature flags to A/B testing. Custom roles reduce the burden on development teams by
sharing feature release capabilities with less technical stakeholders.
Audit Log
Gain critical insights on all the changes made throughout your environments including who
made changes, when and the specific code that was updated.
Centralized Dashboard
View and manage all your feature flags across
every environment and project all in one central
spot. Our platform provides the cross team visibility
needed to implement feature management
practices at scale without introducing costly
technical debt.
Implementation
Get code from github and replace keyId with yours
https://github.com/Sandeep821/FetaureF
lagLaunchDarklyForReact
Maintenance and Best Practice
Maintenance and Best Practice
● Track your Feature Flags
● Maintain/cleanup Feature Flags
● Setup Alert/Notification
Case Study
Atlassian Timeline
Challenge
A few teams within Atlassian used an internally-built feature flagging system. It was primarily used to control feature releases,
and with this system, deployments were also tied to releases. This proved sufficient at first but, but as more teams wanted to
use this in-house solution, some challenges arose: the system took time and resources to maintain. Different teams working
with different languages needed help developing their own Software Development Kits (SDKs). And with no interface, this
system was virtually unusable for non-technical users. The result was that teams outside of engineering, including Product
Management, relied on engineering support to turn features on/off or run beta tests, which became unruly when more teams
wanted to use the solution.
Solution
With LaunchDarkly, more and more teams across the organization now have the ability to separate code deployments from
feature releases. The first team to adopt LaunchDarkly was able to get started pretty quickly. SDKs are standardized, well
maintained, and available in all major languages, so developers can setup LaunchDarkly in their stack in a matter of
minutes. In the months following, other teams started using LaunchDarkly. For the first time, teams had visibility into their
feature flags from a central location. When developers begin to build a feature, they simply wrap it in a flag, and then control
it from the LaunchDarkly dashboard. This means teams can ship code at any time with flags turned off and features hidden,
and then turn the features on when they’re ready.
Teams also have better control over segmenting their user base. Instead of switching something on/off for everyone, they
now build cohorts and expose different groups to different features in a highly targeted fashion. Teams are now testing,
getting feedback, and iterating while working through projects without having the changes dependent upon each other.

More Related Content

What's hot

Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow IntroductionDavid Paluy
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - ExplainedSmita Prasad
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraformJulien Pivotto
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsYura Nosenko
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaArvind Kumar G.S
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowMikhail Melnik
 
Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018Grafana Labs
 
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Steve Pember
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With PrometheusKnoldus Inc.
 
Salesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSalesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSakthivel Madesh
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 

What's hot (20)

Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Spring boot
Spring bootSpring boot
Spring boot
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Git flow
Git flowGit flow
Git flow
 
Maven
MavenMaven
Maven
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - Explained
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Maven ppt
Maven pptMaven ppt
Maven ppt
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018
 
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With Prometheus
 
Salesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSalesforce DevOps using GitHub Action
Salesforce DevOps using GitHub Action
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
Netflix conductor
Netflix conductorNetflix conductor
Netflix conductor
 
Git basics
Git basicsGit basics
Git basics
 
Grafana
GrafanaGrafana
Grafana
 

Similar to Feature flag launchdarkly

An Introduction to Feature Flags
An Introduction to Feature FlagsAn Introduction to Feature Flags
An Introduction to Feature FlagsCloudZenix LLC
 
Ship Confidently with progressive delivery and experimentation.pdf
Ship Confidently with progressive delivery and experimentation.pdfShip Confidently with progressive delivery and experimentation.pdf
Ship Confidently with progressive delivery and experimentation.pdfHeyEmbedMe
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaGlobant
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposalcfry
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileAbdel Moneim Emad
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCodecamp Romania
 
Resume ellucian-vishal matta
Resume ellucian-vishal mattaResume ellucian-vishal matta
Resume ellucian-vishal mattaVishal Matta
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
 
Build and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsBuild and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsKnoldus Inc.
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM toolsLarry Cai
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...Jitendra Bafna
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014rhirschfeld
 

Similar to Feature flag launchdarkly (20)

An Introduction to Feature Flags
An Introduction to Feature FlagsAn Introduction to Feature Flags
An Introduction to Feature Flags
 
devops certification
devops certificationdevops certification
devops certification
 
devops certification
devops certificationdevops certification
devops certification
 
Ship Confidently with progressive delivery and experimentation.pdf
Ship Confidently with progressive delivery and experimentation.pdfShip Confidently with progressive delivery and experimentation.pdf
Ship Confidently with progressive delivery and experimentation.pdf
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Feature Toggles
Feature TogglesFeature Toggles
Feature Toggles
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with Agile
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditech
 
Resume ellucian-vishal matta
Resume ellucian-vishal mattaResume ellucian-vishal matta
Resume ellucian-vishal matta
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
 
Code in the Cloud - Ghent - 20 February 2015
Code in the Cloud - Ghent - 20 February 2015Code in the Cloud - Ghent - 20 February 2015
Code in the Cloud - Ghent - 20 February 2015
 
Build and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsBuild and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkins
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014
 

Recently uploaded

WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 

Recently uploaded (20)

WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 

Feature flag launchdarkly

  • 2. Agenda: ● Why we need feature Flag? ● What are Feature Flags? ● Feature Flag in Continuous Delivery ● Basic Feature Flag in App ● Advance Feature Flag ● Maintenance and Best Practice ● Case Study
  • 3. Why we need feature Flag? ● Can’t release a broken feature in progress ● Don’t want to delay release of other features that are ready Solution is : Decoupling Feature rollout from code deployment
  • 5. Feature Flag newThemeForBrandSite = false If (newThemeForBrandSite) { showNewThemeForBrandSite() } else { showOldThemeForBrandSite() }
  • 8. The Traditional SDLC with Feature Flag
  • 9. Basic Feature Flag in APP Implementation
  • 10. Application Configuration File app-flags.config newThemeForBrandSite = false newComponent01 = false newLandingPage = true
  • 11. Implementation of the App Config Import appFlgas from ‘app-flags.config’; Import newLandingPage from ‘newLandingPage’; Import oldLandingPage from ‘oldLandingPage’; class App extends React.Component { render() { return If (appFlgas.newThemeForBrandSite) { newLandingPage() } else { oldLandingPage() } } }
  • 12. Deploy Updated Feature Flag ● Create new build for updated Feature Flag ● Test new flag in all the environment ● Deploy new build.
  • 14.
  • 15. LaunchDarkly Flags for Modern Development These aren't your old school, run of the mill on/off feature flags. LaunchDarkly feature flags are cross-platform supported, multi-lingual and updates are delivered consistently across all your services in real-time, without introducing any latency to your site.
  • 16. Features Stored Locally After our SDK initializes, all your feature flag rules are stored locally in memory. This allows you to process millions of evaluations, without introducing latency in your services, since you don't have to run a query against a separate database or call back to LaunchDarkly at the time of a flag evaluation. You can even add an additional layer of reliability by using one of our local storage options with our SDKs. Real-time Updates Our unique streaming architecture means you can instantly turn features on/off when you need to without introducing any latency to your site. It only takes 200 milliseconds to propagate flag updates. Incremental Rollout : you can rollout new features incrementally for few random users. Targeting Individual users: you can release new feature to only specific user.
  • 17. Oversight & Control Feature flagging is not a new concept. For decades development teams have utilized feature flags to control the release of new features to their end users. Starting to feature flag isn't hard, but managing feature flags at scale with granular control over who sees what is. Our real-time feature flags give you the confidence to ship code faster without the worry of severely impacting your users.
  • 18. Intuitive UI Our easy-to-use user interface puts the power of feature flags into anyones hands, not just developers. Less technical stakeholders from product, marketing or client services can now play a role in your feature management practices without fear of them causing a product incident. Access Controls Create flexible policies that provide fine-grained access controls to anything in LaunchDarkly from feature flags to A/B testing. Custom roles reduce the burden on development teams by sharing feature release capabilities with less technical stakeholders. Audit Log Gain critical insights on all the changes made throughout your environments including who made changes, when and the specific code that was updated.
  • 19. Centralized Dashboard View and manage all your feature flags across every environment and project all in one central spot. Our platform provides the cross team visibility needed to implement feature management practices at scale without introducing costly technical debt.
  • 20. Implementation Get code from github and replace keyId with yours https://github.com/Sandeep821/FetaureF lagLaunchDarklyForReact
  • 22. Maintenance and Best Practice ● Track your Feature Flags ● Maintain/cleanup Feature Flags ● Setup Alert/Notification
  • 24. Atlassian Timeline Challenge A few teams within Atlassian used an internally-built feature flagging system. It was primarily used to control feature releases, and with this system, deployments were also tied to releases. This proved sufficient at first but, but as more teams wanted to use this in-house solution, some challenges arose: the system took time and resources to maintain. Different teams working with different languages needed help developing their own Software Development Kits (SDKs). And with no interface, this system was virtually unusable for non-technical users. The result was that teams outside of engineering, including Product Management, relied on engineering support to turn features on/off or run beta tests, which became unruly when more teams wanted to use the solution. Solution With LaunchDarkly, more and more teams across the organization now have the ability to separate code deployments from feature releases. The first team to adopt LaunchDarkly was able to get started pretty quickly. SDKs are standardized, well maintained, and available in all major languages, so developers can setup LaunchDarkly in their stack in a matter of minutes. In the months following, other teams started using LaunchDarkly. For the first time, teams had visibility into their feature flags from a central location. When developers begin to build a feature, they simply wrap it in a flag, and then control it from the LaunchDarkly dashboard. This means teams can ship code at any time with flags turned off and features hidden, and then turn the features on when they’re ready. Teams also have better control over segmenting their user base. Instead of switching something on/off for everyone, they now build cohorts and expose different groups to different features in a highly targeted fashion. Teams are now testing, getting feedback, and iterating while working through projects without having the changes dependent upon each other.