Skip to content

Commit 4063e69

Browse files
Restructure Readme for easier getting started
1 parent 8af5014 commit 4063e69

File tree

1 file changed

+44
-42
lines changed

1 file changed

+44
-42
lines changed

README.md

Lines changed: 44 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -14,38 +14,6 @@ _If you are interested in APIM & Azure OpenAI integrations, please check out the
1414

1515
_Try it out, learn from it, apply it in your setups._
1616

17-
## Repo Structure
18-
19-
### High-level
20-
21-
- All _samples_ can be found in the `samples` folder. Samples showcase functionality and provide a baseline for your experimentation.
22-
- All _infrastructures_ can be found in the `infrastructure` folder. They provide the architectural underpinnings.
23-
- All shared code, modules, functionality, policies, etc. can be found in the `shared` folder.
24-
- Bicep _modules_ are versioned in the `bicep/modules` folder. Major changes require versioning.
25-
- Python _modules_ are found in the `python` folder. _They are not versioned yet but may be in the future._
26-
- Reusable _APIM policies_ are found in the `apim-policies` folder.
27-
- Reusable Jupyter notebooks are found in the `jupyter` folder.
28-
29-
### Sample Setup
30-
31-
- Each sample uses an architecture infrastructure. This keeps the samples free of almost all setup.
32-
- Each infrastructure and sample features a `create.ipynb` for creation (and running) of the sample setup and a `main.bicep` file for IaC configuration.
33-
- Each infrastructure contains a `clean-up.ipynb` file to tear down everything in the infrastructure and its resource group. This reduces your Azure cost.
34-
- Samples (and infrastructures) may contain additional files specific to their use cases.
35-
36-
### Infrastructure Architectures
37-
38-
We provide several common architectural approaches to integrating APIM into your Azure ecosystem. While these are high-fidelity setups, they are not production-ready. Please refer to the [Azure API Management landing zone accelerator](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/app-platform/api-management/landing-zone-accelerator) for up-to-date production setups.
39-
40-
- [Simple API Management](./infrastructure/simple-apim) (simple-apim)
41-
- Just the basics with a publicly accessible API Management intance fronting your APIs. This is the innermost way to experience and experiment with the APIM policies.
42-
43-
- [API Management & Container Apps](./infrastructure/apim-aca) (apim-aca)
44-
- APIs are often times implemented in containers that are running in Azure Container Apps. This architecture accesses the container apps publicly. It's beneficial to test both APIM and container app URLs here to contrast and compare experiences of API calls through and bypassing APIM. It is not intended to be a security baseline.
45-
46-
- [Secure Front Door & API Management & Container Apps](./infrastructure/afd-apim) (afd-apim)
47-
- A higher-fidelity implementation of a secured setup in which Azure Front Door connects to APIM via the new private link integration. This traffic, once it traverses through Front Door, rides entirely on Microsoft-owned and operated networks. Similarly, the connection from APIM to Container Apps is secured but through a VNet configuration (it is also entirely possible to do this via private link). It's noteworthy that we are using APIM Standard V2 here as we need the ability to accept a private link from Front Door.
48-
4917
---
5018

5119
## Getting Started
@@ -90,17 +58,39 @@ The first time you run a Jupyter notebook, you'll be asked to install the Jupyte
9058

9159
Now that infrastructure and sample have been stood up, you can experiment with the policies, make requests against APIM, etc.
9260

93-
### Adding a Sample
61+
---
9462

95-
Adding a new sample is relatively straight-forward.
63+
## Repo Structure
9664

97-
1. Create a new feature branch for the new sample.
98-
1. Copy the `/samples/_TEMPLATE` folder.
99-
1. Rename the copied folder to a name representative of the sample (e.g. "load-balancing", "authX", etc.)
100-
1. Change the `create.ipynb` and `main.bicep` files. Look for the brackets (`[ ]`) brackets for specific inputs.
101-
1. Add any policy.xml files to the same folder if they are specific to this sample. If they are to be reused, place them into the `/shared/apim-policies` folder instead.
102-
1. Test the sample with all supported infrastructures.
103-
1. Create a pull request for merge.
65+
### High-level
66+
67+
- All _samples_ can be found in the `samples` folder. Samples showcase functionality and provide a baseline for your experimentation.
68+
- All _infrastructures_ can be found in the `infrastructure` folder. They provide the architectural underpinnings.
69+
- All shared code, modules, functionality, policies, etc. can be found in the `shared` folder.
70+
- Bicep _modules_ are versioned in the `bicep/modules` folder. Major changes require versioning.
71+
- Python _modules_ are found in the `python` folder. _They are not versioned yet but may be in the future._
72+
- Reusable _APIM policies_ are found in the `apim-policies` folder.
73+
- Reusable Jupyter notebooks are found in the `jupyter` folder.
74+
75+
### Sample Setup
76+
77+
- Each sample uses an architecture infrastructure. This keeps the samples free of almost all setup.
78+
- Each infrastructure and sample features a `create.ipynb` for creation (and running) of the sample setup and a `main.bicep` file for IaC configuration.
79+
- Each infrastructure contains a `clean-up.ipynb` file to tear down everything in the infrastructure and its resource group. This reduces your Azure cost.
80+
- Samples (and infrastructures) may contain additional files specific to their use cases.
81+
82+
### Infrastructure Architectures
83+
84+
We provide several common architectural approaches to integrating APIM into your Azure ecosystem. While these are high-fidelity setups, they are not production-ready. Please refer to the [Azure API Management landing zone accelerator](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/app-platform/api-management/landing-zone-accelerator) for up-to-date production setups.
85+
86+
- [Simple API Management](./infrastructure/simple-apim) (simple-apim)
87+
- Just the basics with a publicly accessible API Management intance fronting your APIs. This is the innermost way to experience and experiment with the APIM policies.
88+
89+
- [API Management & Container Apps](./infrastructure/apim-aca) (apim-aca)
90+
- APIs are often times implemented in containers that are running in Azure Container Apps. This architecture accesses the container apps publicly. It's beneficial to test both APIM and container app URLs here to contrast and compare experiences of API calls through and bypassing APIM. It is not intended to be a security baseline.
91+
92+
- [Secure Front Door & API Management & Container Apps](./infrastructure/afd-apim) (afd-apim)
93+
- A higher-fidelity implementation of a secured setup in which Azure Front Door connects to APIM via the new private link integration. This traffic, once it traverses through Front Door, rides entirely on Microsoft-owned and operated networks. Similarly, the connection from APIM to Container Apps is secured but through a VNet configuration (it is also entirely possible to do this via private link). It's noteworthy that we are using APIM Standard V2 here as we need the ability to accept a private link from Front Door.
10494

10595
---
10696

@@ -110,7 +100,19 @@ As you work with this repo, you will likely want to make your own customizations
110100

111101
The repo uses the bicep linter and has rules defined in `bicepconfig.json`. See the [bicep linter documentation](https://learn.microsoft.com/azure/azure-resource-manager/bicep/bicep-config-linter) for details.
112102

113-
We welcome contributions! Please consider forking the repo and creating issues and pull requests to share your samples. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details. Thank you!
103+
**We welcome contributions!** Please consider forking the repo and creating issues and pull requests to share your samples. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details. Thank you!
104+
105+
### Adding a Sample
106+
107+
Adding a new sample is relatively straight-forward.
108+
109+
1. Create a new feature branch for the new sample.
110+
1. Copy the `/samples/_TEMPLATE` folder.
111+
1. Rename the copied folder to a name representative of the sample (e.g. "load-balancing", "authX", etc.)
112+
1. Change the `create.ipynb` and `main.bicep` files. Look for the brackets (`[ ]`) brackets for specific inputs.
113+
1. Add any policy.xml files to the same folder if they are specific to this sample. If they are to be reused, place them into the `/shared/apim-policies` folder instead.
114+
1. Test the sample with all supported infrastructures.
115+
1. Create a pull request for merge.
114116

115117
### Testing & Code Coverage
116118

0 commit comments

Comments
 (0)