-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from seesharprun/add-readme
Add readme content
- Loading branch information
Showing
2 changed files
with
85 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,85 @@ | ||
# Quickstart: Azure Cosmos DB for NoSQL client library for Java | ||
|
||
This is a simple Spring Web application to illustrate common basic usage of Azure Cosmos DB for NoSQL's client library for Java. This sample application accesses an existing account, database, and container using the [`azure-spring-data-cosmos`](https://mvnrepository.com/artifact/com.azure/azure-spring-data-cosmos) and [`azure-identity`](https://mvnrepository.com/artifact/com.azure/azure-identity) packages from Maven. Modify the source code and leverage the Infrastructure as Code (IaC) Bicep assets to get up and running quickly. | ||
|
||
When you are finished, you will have a fully functional web application deployed to Azure. | ||
|
||
![Screenshot of the deployed web application.](assets/web.png) | ||
|
||
### Prerequisites | ||
|
||
> This template will create infrastructure and deploy code to Azure. If you don't have an Azure Subscription, you can sign up for a [free account here](https://azure.microsoft.com/free/). Make sure you have the contributor role in the Azure subscription. | ||
The following prerequisites are required to use this application. Please ensure that you have them all installed locally. | ||
|
||
- [Azure Developer CLI](https://aka.ms/azd-install) | ||
- [Java 21 or newer](https://www.oracle.com/java/technologies/downloads/) | ||
|
||
### Quickstart | ||
|
||
To learn how to get started with any template, follow the steps in [this quickstart](https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-java) with this template (`cosmos-db-nosql-java-quickstart`). | ||
|
||
This quickstart will show you how to authenticate on Azure, initialize using a template, provision infrastructure and deploy code on Azure via the following commands: | ||
|
||
```bash | ||
# Log in to azd. Only required once per-install. | ||
azd auth login | ||
|
||
# First-time project setup. Initialize a project in the current directory, using this template. | ||
# Omit the --template argument if you are running in a development container. | ||
azd init --template cosmos-db-nosql-java-quickstart | ||
|
||
# Provision and deploy to Azure | ||
azd up | ||
``` | ||
|
||
### Application Architecture | ||
|
||
This application utilizes the following Azure resources: | ||
|
||
- [**Azure Container Registry**](https://learn.microsoft.com/azure/container-registry/) | ||
- This services hosts the container image. | ||
- [**Azure Container Apps**](https://learn.microsoft.com/azure/container-apps/) | ||
- This service hosts the ASP.NET Blazor web application. | ||
- [**Azure Cosmos DB for NoSQL**](https://learn.microsoft.com/azure/cosmos-db/) | ||
- This service stores the NoSQL data. | ||
|
||
Here's a high level architecture diagram that illustrates these components. Notice that these are all contained within a single **resource group**, that will be created for you when you create the resources. | ||
|
||
```mermaid | ||
%%{ init: { 'theme': 'base', 'themeVariables': { 'background': '#243A5E', 'primaryColor': '#50E6FF', 'primaryBorderColor': '#243A5E', 'tertiaryBorderColor': '#50E6FF', 'tertiaryColor': '#243A5E', 'fontFamily': 'Segoe UI', 'lineColor': '#FFFFFF', 'primaryTextColor': '#243A5E', 'tertiaryTextColor': '#FFFFFF' } }}%% | ||
flowchart TB | ||
subgraph web-app[Azure Container Apps] | ||
app-framework([Java 21 - Spring Web]) | ||
end | ||
subgraph cosmos-db[Azure Cosmos DB] | ||
subgraph database-cosmicworks[Database: cosmicworks] | ||
subgraph container-products[Container: products] | ||
prd-yamba[Product: Yamba Surfboard] | ||
prd-kiama-classic[Product: Kiama Classic Surfboard] | ||
end | ||
end | ||
end | ||
web-app --> cosmos-db | ||
``` | ||
|
||
### Cost of provisioning and deploying this template | ||
|
||
This template provisions resources to an Azure subscription that you will select upon provisioning them. Refer to the [Pricing calculator for Microsoft Azure](https://azure.microsoft.com/pricing/calculator/) to estimate the cost you might incur when this template is running on Azure and, if needed, update the included Azure resource definitions found in [`infra/main.bicep`](infra/main.bicep) to suit your needs. | ||
|
||
### Application Code | ||
|
||
This template is structured to follow the [Azure Developer CLI](https://aka.ms/azure-dev/overview). You can learn more about `azd` architecture in [the official documentation](https://learn.microsoft.com/azure/developer/azure-developer-cli/make-azd-compatible?pivots=azd-create#understand-the-azd-architecture). | ||
|
||
### Next Steps | ||
|
||
At this point, you have a complete application deployed on Azure. But there is much more that the Azure Developer CLI can do. These next steps will introduce you to additional commands that will make creating applications on Azure much easier. Using the Azure Developer CLI, you can setup your pipelines, monitor your application, test and debug locally. | ||
|
||
- [`azd pipeline config`](https://learn.microsoft.com/azure/developer/azure-developer-cli/configure-devops-pipeline?tabs=GitHub) - to configure a CI/CD pipeline (using GitHub Actions or Azure DevOps) to deploy your application whenever code is pushed to the main branch. | ||
|
||
- [Run and Debug Locally](https://learn.microsoft.com/azure/developer/azure-developer-cli/debug?pivots=ide-vs-code) - using Visual Studio Code and the Azure Developer CLI extension | ||
|
||
- [`azd down`](https://learn.microsoft.com/azure/developer/azure-developer-cli/reference#azd-down) - to delete all the Azure resources created with this template | ||
|
||
|
||
|