Question about LoadFeatures (not only). Does it me...
# ask-questions
a
Question about LoadFeatures (not only). Does it mean that the only way to limit the number of features received by the client is by creating a Project. You associate features and then you associate a project with SDK. This means that if I have 100 services and they use services' specific flags I need to create 100 separate projects? Or there is another way to "separate" features. Thank you.
h
Typically you'd use projects for separating these out, but you could also use environment scoping (where environments could represent microservices) to add finer control over feature visibility per environment without having to create so many projects. You'll want 1 SDK Connection per language (or per microservice perhaps) which can be scoped to a set of projects[] and an environment
a
Does it mean I need to create a new environment for every service? But how to deal with multiple environments for services. Would it be another way to handle this ( and maybe a better way) - to use tags?
h
This is one way to do it; otherwise using projects to represent these areas of your tech stack is the typical way of doing it. Using tags won't actually reduce the number of features sent to each consumer; they are mostly for navigating and filtering within the GB app UI. I think it's probably more common to cluster your services into groups with related purpose or data-flow and assign each group a project. Then just allow some services to have reference to flags that they might not need to evaluate directly.
a
I know that tags can be used in GB UI.... but I suggest they also be used to filter features you receive on the client. We feel using only Projects to filter flags is a bit limiting. Example : we have a service, Web and mobile clients. All these clients should be using this flag. At the same time, front-end clients use other projects to access other flags. Is your recommendation to define "domain" specific projects and then in the SDK configuration list all required projects. For UI navigation use tags to get all flags, let;s say, for mobile client? Does this make sense?