A service in Kinvey represent a resource that can be reused within multiple applications. Three different types of services are available:
- Data services - data services, also called RapidData, are used for configuration-based integration with external data sources. Once configured, a data service can be used as a data source for collections in an application environment.
- Authentication services - authentication services, also called RapidAuth, are used for configuration-based integration with external identity providers. Once configured, an authentication service can be used within application environments to provide user login with the connected identity provider.
- Code services - code services, also called Flex services, are used to run custom code in the cloud. Flex services can be used as target for collection hooks and custom endpoints. They can also be used to create custom integrations with external data (Flex Data) or identity providers (Flex Auth).
Kinvey services exist under a Kinvey organization. Services assume the licensing restrictions of the organization they belong to. Only members of that organization can collaborate on the service.
Each Kinvey service can have multiple service environments. The environment is an instance of the service configuration. The service environment stores all the functionality and configuration, not the service. When linking a service from a Kinvey application, you need to specify the service environment you want to use, not only the service.
Using multiple environments you can model your development process in a way that allows you to test your changes before deploying them to production. A frequently-used setup is to have two environments - Development and Production. The Production environment of the service is the configuration that you use in production. You usually link to that service environment from the Production environment of your Kinvey application. The Development environment is what you use when you are developing new features or testing functionality.
Similar to other Kinvey entities, services provide collaboration functionality. In order to collaborate on a service, the user needs to be a member of the organization this service belongs to.
Service User Roles
The following user roles are available on service level:
|Role name||Description||Legacy name|
|Viewer||Grants access to view the service and its environments and use the service from within applications.||N/A|
|Collaborator||Grants access to view the service and its environments, manage the service configuration and use the service from within applications.||N/A|
|Developer||Grants access to view the service, manage its configuration and environments, use the service from within applications and deploy code changes for Flex services.||N/A|
|Administrator||Grants full access to manage the service and all of its environments.||ADMIN|
The following legacy roles are also available. We do not recommend using those roles, but we have not removed them because of backward compatibility. They are suffixed with the word "_Legacy". Here is the list of legacy roles:
|Role name||Description||Previous name|
|RESTRICTED_DEVELOPER_Legacy||Grants access to view the service, manage its configuration and environments and use the service from within applications.||RESTRICTED_DEVELOPER|