
3.1. Dev Environment
This is where application/system development tasks, such as designing, programming, debugging, etc., take place.
A development environment is where changes to software code are made. This environment allows developers to work freely on the program without worrying about the impact on end users. A development environment enhances developer efficiency and ensures proper software quality. It helps in streamlining workflows, thereby minimizing the chances of errors, and enables effective management. One of the most important uses of a development environment is that it allows developers to ensure various functions of the application/program work as intended before it is released to users. It allows developers to make any change to the program/code in a controlled setting without impacting users.
The Dx29 application development environment will consist of the following components:
| Component | Azure | Configuration | Description |
|---|---|---|---|
| Azure Kubernetes Service | link | One instance for each deployment and service | To manage and operate the containers orchestrated on Kubernetes, which contain the microservices necessary for the deployment of the Dx29 application in the development environment. |
| Container Registry | link | List of Docker images for each microservice with versions (tags) | Azure Container Registry (ACR) is a private registry for container images. A private container registry allows you to securely build and deploy custom code and applications. It is associated with an Azure resource cluster. The Kubernetes cluster is associated with this resource to use the images contained therein for deployments. |
| Public IP and DNS | link | https://dx29dev.northeurope.cloudapp.azure.com/ | To access Dx29 application from development environment |
| SQL database | link | Information about the user: email, encrypted password, First name, Last name, Language and role: Physician or Patient | For managing user accounts of Dx29 application in development environment |
| CosmosDB databases | link | With SQL API | Only one database with three containers: caseRecords, MedicalCases and resourceGroups. As it is a development environment it is not necessary to apply the security criteria of separating these containers into different databases depending on whether they contain personal information or patient medical information. |
| Blob storage | link | One container for the application literals, another for the documents, another for communication with openDx29 and finally a private container for each Dx29 medical case. | It is organised in different containers for the following functionalities: translation of Dx29 in English or Spanish, access to documents required by the application such as the privacy policy or emails, or access to a user's data in a private and secure way (medical reports, genotypes, results of Dx29 application processes, etc |
| Application Insights | link | - | For the logging of the Dx29 application |
| SignalR | link | - | Service for the management of real-time application notifications |
| ServiceBus | link | Queue | Dx29 messaging service |