-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
73 additions
and
39 deletions.
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
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,33 +1,33 @@ | ||
# Orthweb - Orthanc Solution on AWS | ||
<a href="https://www.orthanc-server.com/"><img style="float" align="right" src="assets/images/orthanc_logo.png"></a> | ||
<a href="https://www.orthanc-server.com/"><img style="float" align="right" src="assets/images/orthanc_logo.png" width="200"></a> | ||
|
||
|
||
[](https://aws.amazon.com/amazon-linux-2) | ||
[](https://www.docker.com/) | ||
[](https://www.postgresql.org/) | ||
[](https://nginx.org/en/index.html) | ||
 | ||
[](https://www.keycloak.org/) | ||
[](https://opensource.org/licenses/Apache-2.0) | ||
|
||
[](https://www.terraform.io/) | ||
[](https://aws.amazon.com/ec2/) | ||
[](https://aws.amazon.com/s3/) | ||
[](https://aws.amazon.com/rds/postgresql/) | ||
|
||
[](https://opensource.org/licenses/Apache-2.0) | ||
[](https://github.com/digihunch/orthweb/releases/latest) | ||
|
||
## Overview | ||
|
||
The **[Orthweb](https://github.com/digihunch/orthweb)** project helps imaging IT staff build an **[Orthanc](https://www.orthanc-server.com/)** solution on AWS. The project addresses the cloud foundation and configuration management to host the Orthanc application. Follow to the [documentation](https://digihunch.github.io/orthweb/) for instructions and architecture discussions. 💪 Let's automate medical imaging! | ||
|
||
Orthanc handles sensitive data and must operate on a secure cloud platform. Typically, large organizations can afford specialized IT resources to build enterprise-scale cloud foundations. This cloud foundation is known as a [landing zone](https://www.digihunch.com/2022/12/landing-zone-in-aws/). Each department in the organization is allocated with a segment of the landing zone (e.g. an VPC), to deploys their own applications. | ||
Imaging systems like Orthanc handle sensitive data and must operate on secure cloud platforms. Typically, large organizations dedicate specialized IT resources to build enterprise-scale cloud foundations. This cloud foundation is known as a [landing zone](https://www.digihunch.com/2022/12/landing-zone-in-aws/). In the landing zone, each business line of the organization is allocated with a segment (e.g. an VPC), to deploy their own applications. | ||
|
||
In reality, many Orthanc users are small entities (e.g. startups, research groups, independent clinics, etc) without an overarching cloud strategy. They need a secure and scalable cloud foundation to leverage Orthanc. To close this gap, we propose a cloud-based Orthanc solution to address the cloud foundation and configuration management, and [created](https://www.digihunch.com/2020/11/medical-imaging-web-server-deployment-pipeline/) the **Orthweb** project. | ||
In reality, many Orthanc users are small teams without overarching cloud strategies from their parent organizations. They are startups, research departments, independent clinics, and so on. They need equally secure and scalable cloud foundations to leverage Orthanc. To close this gap, we propose a cloud-based Orthanc solution to address the cloud foundation and configuration management, and [created](https://www.digihunch.com/2020/11/medical-imaging-web-server-deployment-pipeline/) the **Orthweb** project to implement it. | ||
|
||
<img align="middle" src="assets/images/Overview.png"> | ||
<br/><br/> | ||
 | ||
|
||
For cloud foundation, **Orthweb** project uses **Terraform** template (an infrastructure-as-code technology) to provision a self-contained infrastrcture stack in a single AWS account, without relying upon established network infrastructure. The infrastructure layer provisioned in this project contains a single VPC with multiple subnets, along with useful VPC endpoints. The infrastructure layer also contains encryption keys, managed database service and S3 storage. The infrastrcture footprint is small but secure, aiming to comply with regulatory requirements such as HIPPA. However, regulatory auditing is the responsibility of the Orthanc adopter. | ||
|
||
For cloud foundation, **Orthweb** project uses **Terraform** template (an infrastructure-as-code technology) provisions its own self-contained infrastrcture stack in a single AWS account. It does not rely upon an established network infrastructure platform. The network infrastructure layer provisioned in this project contains a single VPC with multiple subnets, along with required endpoints. The infrastructure layer also contains encryption keys, managed database service and S3 storage. The infrastrcture footprint is small but secure. It aims to comply with regulatory requirements such as HIPPA. However, regulatory auditing is the responsibility of the Orthanc adopter. For configuration management, **Orthweb** leverages cloud-init [user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and `makefile` to configure the servers upon initialization. The artifact to install **Orthanc** is stored in the [orthanc-config](https://github.com/digihunchinc/orthanc-config) repository. | ||
In addition to cloud resource provisioning, the **Orthweb** project also streamles the installation and configuration of Orthanc solution, by proposing a paradign for Orthanc configuration management. The project leverages cloud-init [user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and `makefile` to configure the servers during the initialization process at the end of cloud resource provisioning. The artifact to install **Orthanc** is stored in the [orthanc-config](https://github.com/digihunchinc/orthanc-config) repository, for users to fork and customize. | ||
<br/><br/> | ||
|
||
The project architecture also takes into account other operational aspects, such as high availability, resiliency and automation in the configuration of **Orthanc** application with Docker, using the official [Orthanc image](https://hub.docker.com/r/orthancteam/orthanc). For those considering hosting Orthanc on Kubernetes, check out our sister project [Korthweb](https://github.com/digihunch/korthweb). | ||
The project uses the official [Orthanc image](https://hub.docker.com/r/orthancteam/orthanc) and orchestrate the application containers with Docker daemon on EC2 instances. For those considering hosting Orthanc on Kubernetes, check out our sister project [Korthweb](https://github.com/digihunch/korthweb). |
Oops, something went wrong.