Skip to content

Commit 10cd384

Browse files
committed
Review internals article
1 parent 2d7c880 commit 10cd384

File tree

2 files changed

+49
-43
lines changed

2 files changed

+49
-43
lines changed

articles/service-connector/concept-service-connector-internals.md

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,84 +4,90 @@ description: Learn about Service Connector internals, the architecture, the conn
44
author: maud-lv
55
ms.author: malev
66
ms.service: service-connector
7-
ms.custom: event-tier1-build-2022
7+
ms.custom: event-tier1-build-2022, engagement-fy23
88
ms.topic: conceptual
9-
ms.date: 05/03/2022
9+
ms.date: 12/08/2022
1010
---
1111

1212
# Service Connector internals
1313

14-
Service Connector is an extension resource provider that provides an easy way to create and manage connections between services.
15-
- Support major databases, storage, real-time services, state, and secret stores that are used together with your cloud native application (the list is actively expanding).
16-
- Configure network settings, authentication, and manage connection environment variables or properties by creating a service connection with just a single command or a few steps.
17-
- Validate connections and find corresponding suggestions to fix a service connection.
14+
Service Connector is an Azure extension resource provider designed to provide a simple way to create and manage connections between Azure services. Service Connector:
15+
16+
- Enables you to connect services together with a single Azure CLI command or in a few steps in the Azure portal.
17+
- Supports an increasing number of databases, storage, real-time services, state, and secret stores that are used with your cloud native application.
18+
- Configures network settings, authentication, and manages connection environment variables or properties for you
19+
- Validates connections and provides suggestions to fix connections.
1820

1921
## Service connection overview
2022

21-
Service connection is the key concept in the resource model of Service Connector. In Service Connector, a service connection represents an abstraction of the link between two services. The following properties are defined on service connection.
23+
Service connection is the key concept in the resource model of Service Connector. A service connection represents an abstraction of the link between two services. Service connections have the following properties:
2224

23-
| Property | Description |
24-
|--------|-----------|
25-
| Connection Name | The unique name of the service connection. |
26-
| Source Service Type | Source services are usually Azure compute services. Service Connector functionalities can be found in supported compute services by extending these Azure compute service providers. |
25+
| Property | Description |
26+
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
27+
| Connection Name | The unique name of the service connection. |
28+
| Source Service Type | Source services are usually Azure compute services. Service Connector functionalities can be found in supported compute services by extending these Azure compute service providers. |
2729
| Target Service Type | Target services are backing services or dependency services that your compute services connect to. Service Connector supports various target service types including major databases, storage, real-time services, state, and secret stores. |
28-
| Client Type | Client type refers to your compute runtime stack, development framework, or specific client library type, which accepts the specific format of the connection environment variables or properties. |
29-
| Authentication Type | The authentication type used of service connection. It could be pure secret/connection string, Managed Identity, or Service Principal. |
30+
| Client Type | Client type refers to your compute runtime stack, development framework, or specific client library type, which accepts the specific format of the connection environment variables or properties. |
31+
| Authentication Type | The authentication type used for the service connection. It could be a secret/connection string, a managed identity, or a service principal. |
32+
33+
Source services and target services each support multiple service connections, which means that you can connect each resource to multiple resources.
3034

31-
You can create multiple service connections from one source service instance if your instance needs to connect multiple target resources. And the same target resource can be connected from multiple source instances. Service Connector will manage all connections in the properties of their source instance. It means that you can create, get, update, and delete the connections in the Azure portal or using CLI commands of the source service instance.
35+
Service Connector manages connections in the properties of the source instance. It means that creating, getting, updating, and deleting connections os done directly by opening the source service instance in the Azure portal or by using the CLI commands of the source service.
3236

33-
Connections can be made across subscriptions or tenants. Source and target services can belong to different subscriptions or tenants. When you create a new service connection, the connection resource is in the same region as your compute service instance by default.
37+
Connections can be made across subscriptions or tenants, means that source and target services can belong to different subscriptions or tenants. When you create a new service connection, the connection resource is created in the same region as your compute service instance by default.
3438

35-
## Create or update a service connection
39+
## Service connection creation and update
3640

37-
Service Connector will run multiple tasks while creating or updating a connection, including:
41+
Service Connector runs multiple tasks while creating or updating service connections, including:
3842

39-
- Configure target resource network and firewall settings, making sure source and target services can talk to each other on the network level.
40-
- Configure connection information on source resource
41-
- Configure authentication information on source and target if needed
42-
- Create or update connection support rollback in case of failure.
43+
- Configuring the network and firewall settings
44+
- Configuring connection information
45+
- Configuring authentication information
46+
- Creating or updating connection rollback in case of failure
4347

44-
Creating and updating a connection contains multiple steps. If a step fails, Service Connector will roll back all previous steps to keep the initial settings in the source and target instances.
48+
If a step fails during this process, Service Connector rolls back all previous steps to keep the initial settings in the source and target instances.
4549

4650
## Connection configurations
4751

48-
Once a service connection is created, the connection configuration will be set to the source service.
52+
Connection configurations are set in the source service.
4953

50-
In the Azure portal, navigate to **Service Connector**. You can expand each connection and view the connection configurations.
54+
In the Azure portal, open a source service and navigate to **Service Connector**. Expand each connection and view the connection configurations.
5155

52-
:::image type="content" source="media/tutorial-java-spring-confluent-kafka/portal-list-connection-config.png" alt-text="List portal configuration":::
56+
:::image type="content" source="media/internals/connection-details.png" alt-text="Screenshot of the Azure portal showing service connection details.":::
5357

54-
In the CLI, you can use the `list-configuration` command to view the connection configuration.
58+
In the CLI, use the `list-configuration` command to get the connection configurations.
5559

5660
```azurecli
57-
az webapp connection list-configuration -g {webapp_rg} -n {webapp_name} --connection {service_connection_name}
61+
az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
5862
```
5963

6064
```azurecli
61-
az spring-cloud connection list-configuration -g {spring_cloud_rg} -n {spring_cloud_name} --connection {service_connection_name}
65+
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
6266
```
6367

64-
## Configuration naming convention
68+
```azurecli
69+
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
70+
```
6571

66-
Service Connector sets the configuration (environment variables or Spring Boot configurations) when creating a connection. The environment variable key-value pair(s) are determined by your client type and authentication type. For example, using the Azure SDK with managed identity requires a client ID, client secret, etc. Using JDBC driver requires a database connection string. Follow this convention to name the configuration:
72+
## Configuration naming convention
6773

68-
If you're using **Spring Boot** as the client type:
74+
Service Connector sets the connection configuration when creating a connection. The environment variable key-value pairs are determined by your client type and authentication type. For example, using the Azure SDK with a managed identity requires a client ID, client secret, etc. Using a JDBC driver requires a database connection string. Follow the conventions below to name the configurations:
6975

70-
* Spring Boot library for each target service has its own naming convention. For example, MySQL connection settings would be `spring.datasource.url`, `spring.datasource.username`, `spring.datasource.password`. Kafka connection settings would be `spring.kafka.properties.bootstrap.servers`.
76+
- Spring Boot client: the Spring Boot library for each target service has its own naming convention. For example, MySQL connection settings would be `spring.datasource.url`, `spring.datasource.username`, `spring.datasource.password`. Kafka connection settings would be `spring.kafka.properties.bootstrap.servers`.
7177

72-
If you're using **other client types**, except for Spring Boot:
78+
- Other clients:
79+
- When connecting to a target service, the key name of the first connection configuration uses the format `<Cloud>_<Type>_<Name>`. For example, `AZURE_STORAGEBLOB_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER`.
80+
- For the same type of target resource, the key name of the second connection configuration will use the format `<Cloud>_<Type>_<Connection Name>_<Name>`. For example, `AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER`.
7381

74-
* When connect to a target service, the key name of the first connection configuration is in format as `{Cloud}_{Type}_{Name}`. For example, `AZURE_STORAGEBLOB_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER`.
75-
* For the same type of target resource, the key name of the second connection configuration will be format as `{Cloud}_{Type}_{Connection Name}_{Name}`. For example, `AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT`, `CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER`.
82+
## Service connection validation
7683

77-
## Validate a service connection
78-
The following items will be checked while validating the connection:
84+
The following items are checked while validating the connection:
7985

80-
* Validate whether source and target resources exist
81-
* Validate target resource network and firewall settings
82-
* Validate connection information on source resource
83-
* Validate authentication information on source and target if needed
86+
- Validate whether source and target resources exist
87+
- Validate target resource network and firewall settings
88+
- Validate connection information on source resource
89+
- Validate authentication information on source and target if needed
8490

85-
## Delete connection
91+
## Connection deletion
8692

87-
The connection information on source resource will be deleted when deleting connection.
93+
When a service connection is deleted, the connection information is also deleted..
58.6 KB
Loading

0 commit comments

Comments
 (0)