A method of customizing deployment and operation of services in container environments, the method comprising: receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment; wherein the property defines the execution of the service; determining, by the API registry, whether the property for the service affects the deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property; characterised by determining, by the API registry, whether the property for the service affects the generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property, wherein the client library is generated using an API definition file that is uploaded to the API registry, wherein the API definition file is used to generate an API function that is made available through the API registry which binds a discovered endpoint to the API function; and determining, by the API registry, whether the property for the service affects how calls to the service are handled in the container environment, and in response to a determination that the property affects how the calls to the service are handled, handling the calls to the service based at least in part on the property, wherein the handling comprises abstracting and encapsulating, by the API registry, details of the service call in the client library, wherein the details of the service call comprise code to handle the functionality of the service call, the code automatically generated by the API registry; wherein the API registry operates as a containerized application that is deployed in the container environment; and wherein the service selects a property to be implemented automatically by the API registry by using a calling service to select the API function from the API registry, and downloading the code that implements the API function to the calling service as a client library; wherein the API register detects and records an IP address and port number for the service; and wherein the client library is used to access the API registry to ensure that the API functions are correctly bound to the recorded IP address and port number of the corresponding service. receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment; wherein the property defines the execution of the service; determining, by the API registry, whether the property for the service affects the deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property; characterised by determining, by the API registry, whether the property for the service affects the generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property, wherein the client library is generated using an API definition file that is uploaded to the API registry, wherein the API definition file is used to generate an API function that is made available through the API registry which binds a discovered endpoint to the API function; and determining, by the API registry, whether the property for the service affects how calls to the service are handled in the container environment, and in response to a determination that the property affects how the calls to the service are handled, handling the calls to the service based at least in part on the property, wherein the handling comprises abstracting and encapsulating, by the API registry, details of the service call in the client library, wherein the details of the service call comprise code to handle the functionality of the service call, the code automatically generated by the API registry; wherein the API registry operates as a containerized application that is deployed in the container environment; and wherein the service selects a property to be implemented automatically by the API registry by using a calling service to select the API function from the API registry, and downloading the code that implements the API function to the calling service as a client library; wherein the API register detects and records an IP address and port number for the service; and wherein the client library is used to access the API registry to ensure that the API functions are correctly bound to the recorded IP address and port number of the corresponding service.