sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/user/personas.md (about)

     1  # Personas
     2  
     3  This document describes the personas for the Cluster API project as driven
     4  from use cases.
     5  
     6  We are marking a “proposed priority for project at this time” per use case.
     7  This is not intended to say that these use cases aren’t awesome or important.
     8  They are intended to indicate where we, as a project, have received a great deal
     9  of interest, and as a result where we think we should invest right now to get
    10  the most users for our project. If interest grows in other areas, they will
    11  be elevated. And, since this is an open source project, if you want to drive
    12  feature development for a less-prioritized persona, we absolutely encourage
    13  you to join us and do that.
    14  
    15  ## Use-case driven personas
    16  
    17  ### Service Provider: Managed Kubernetes
    18  
    19  Managed Kubernetes is an offering in which a provider is automating the
    20  lifecycle management of Kubernetes clusters, including full control planes
    21  that are available to, and used directly by, the customer.
    22  
    23  Proposed priority for project at this time: High
    24  
    25  There are several projects from several companies that are building out
    26  proposed managed Kubernetes offerings (Project Pacific’s Kubernetes Service
    27  from VMware, Microsoft Azure, Google Cloud, Red Hat) and they have all
    28  expressed a desire to use Cluster API. This looks like a good place to make
    29  sure Cluster API works well, and then expand to other use cases.
    30  
    31  **Feature matrix**
    32  
    33  |   |   |
    34  |---|---|
    35  | Is Cluster API exposed to this user? | Yes
    36  | Are control plane nodes exposed to this user? | Yes
    37  | How many clusters are being managed via this user? | Many
    38  | Who is the CAPI admin in this scenario? | Platform Operator
    39  | Cloud / On-Prem | Both
    40  | Upgrade strategies desired? | Need to gather data from users
    41  | How does this user interact with Cluster API? | API
    42  | ETCD deployment | Need to gather data from users
    43  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users
    44  
    45  ### Service Provider: Kubernetes-as-a-Service
    46  
    47  Examples of a Kubernetes-as-a-Service provider include services such as
    48  Red Hat’s hosted OpenShift, AKS, GKE, and EKS. The cloud services manage the
    49  control plane, often giving those cloud resources away “for free,” and the
    50  customers spin up and down their own worker nodes.
    51  
    52  Proposed priority for project at this time: Medium
    53  
    54  Existing Kubernetes as a Service providers, e.g. AKS, GKE have indicated
    55  interest in replacing their off-tree automation with Cluster API, however
    56  since they already had to build their own automation and it is currently
    57  “getting the job done,” switching to Cluster API is not a top priority for
    58  them, although it is desirable.
    59  
    60  **Feature matrix**
    61  
    62  |   |   |
    63  |---|---|
    64  | Is Cluster API exposed to this user? | Need to gather data from users
    65  | Are control plane nodes exposed to this user? | No
    66  | How many clusters are being managed via this user? | Many
    67  | Who is the CAPI admin in this scenario? | Platform itself (AKS, GKE, etc.)
    68  | Cloud / On-Prem | Cloud
    69  | Upgrade strategies desired? | tear down/replace (need confirmation from platforms)
    70  | How does this user interact with Cluster API? | API
    71  | ETCD deployment | Need to gather data from users
    72  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users
    73  
    74  ### Cluster API Developer
    75  
    76  The Cluster API developer is a developer of Cluster API who needs tools and
    77  services to make their development experience more productive and pleasant.
    78  It’s also important to take a look at the on-boarding experience for new
    79  developers to make sure we’re building out a project that other people can
    80  more easily submit patches and features to, to encourage inclusivity and
    81  welcome new contributors.
    82  
    83  Proposed priority for project at this time: Low
    84  
    85  We think we’re in a good place right now, and while we welcome contributions
    86  to improve the development experience of the project, it should not be the
    87  primary product focus of the open source development team to make development
    88  better for ourselves.
    89  
    90  **Feature matrix**
    91  
    92  |   |   |
    93  |---|---|
    94  | Is Cluster API exposed to this user? | Yes
    95  | Are control plane nodes exposed to this user? | Yes
    96  | How many clusters are being managed via this user? | Many
    97  | Who is the CAPI admin in this scenario? | Platform Operator
    98  | Cloud / On-Prem | Both
    99  | Upgrade strategies desired? | Need to gather data from users
   100  | How does this user interact with Cluster API? | API
   101  | ETCD deployment | Need to gather data from users
   102  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users
   103  
   104  ### Raw API Consumers
   105  
   106  Examples of a raw API consumer is a tool like Prow, a customized enterprise
   107  platform built on top of Cluster API, or perhaps an advanced “give me a
   108  Kubernetes cluster” button exposing some customization that is built using
   109  Cluster API.
   110  
   111  Proposed priority for project at this time: Low
   112  
   113  **Feature matrix**
   114  
   115  |   |   |
   116  |---|---|
   117  | Is Cluster API exposed to this user? | Yes
   118  | Are control plane nodes exposed to this user? | Yes
   119  | How many clusters are being managed via this user? | Many
   120  | Who is the CAPI admin in this scenario? | Platform Operator
   121  | Cloud / On-Prem | Both
   122  | Upgrade strategies desired? | Need to gather data from users
   123  | How does this user interact with Cluster API? | API
   124  | ETCD deployment | Need to gather data from users
   125  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users
   126  
   127  ### Tooling: Provisioners
   128  
   129  Examples of this use case, in which a tooling provisioner is using
   130  Cluster API to automate behavior, includes tools such as kOps and kubicorn.
   131  
   132  Proposed priority for project at this time: Low
   133  
   134  Maintainers of tools such as kOps have indicated interest in using
   135  Cluster API, but they have also indicated they do not have much time to
   136  take on the work. If this changes, this use case would increase in priority.
   137  
   138  **Feature matrix**
   139  
   140  |   |   |
   141  |---|---|
   142  | Is Cluster API exposed to this user? | Need to gather data from tooling maintainers
   143  | Are control plane nodes exposed to this user? | Yes
   144  | How many clusters are being managed via this user? | One (per execution)
   145  | Who is the CAPI admin in this scenario? | Kubernetes Platform Consumer
   146  | Cloud / On-Prem | Cloud
   147  | Upgrade strategies desired? | Need to gather data from users
   148  | How does this user interact with Cluster API? | CLI
   149  | ETCD deployment | (Stacked or external) AND new
   150  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users
   151  
   152  ### Service Provider: End User/Consumer
   153  
   154  This user would be an end user or consumer who is given direct access to
   155  Cluster API via their service provider to manage Kubernetes clusters.
   156  While there are some commercial projects who plan on doing this (Project
   157  Pacific, others), they are doing this as a “super user” feature behind the
   158  backdrop of a “Managed Kubernetes” offering.
   159  
   160  Proposed priority for project at this time: Low
   161  
   162  This is a use case we should keep an eye on to see how people use Cluster API
   163  directly, but we think the more relevant use case is people building managed
   164  offerings on top at this top.
   165  
   166  **Feature matrix**
   167  
   168  |   |   |
   169  |---|---|
   170  | Is Cluster API exposed to this user? | Yes
   171  | Are control plane nodes exposed to this user? | Yes
   172  | How many clusters are being managed via this user? | Many
   173  | Who is the CAPI admin in this scenario? | Platform Operator
   174  | Cloud / On-Prem | Both
   175  | Upgrade strategies desired? | Need to gather data from users
   176  | How does this user interact with Cluster API? | API
   177  | ETCD deployment | Need to gather data from users
   178  | Does this user have a preference for the control plane running on pods vs. vm vs. something else? | Need to gather data from users