Medplum provides a suite of digital healthcare services such as authentication, access controls, user management, FHIR server, automation, and more.
Medplum's hosted offering runs on AWS, so naturally the AWS configuration is most full-featured and most battle-tested. This document describes which features are only available on AWS, and possible alternatives.
Are you interested in a non-AWS environment? Please contact us to learn about partnership or sponsorship opportunities. As the Medplum project grows, we intend to target as many hosting options as possible.
For more details on self hosting on AWS, see Install on AWS.
The following diagram roughly represents the AWS architecture:
The following AWS services are setup automatically with no extra engineering required:
- AWS CDK - Infrastructure as code (IaC). Medplum provides CDK code that can create the entire AWS environment from scratch.
- AWS VPC - Private cloud and network firewall.
- AWS Fargate/ECS - Server orchestration for high availability and zero downtime deployments. Medplum deployment scripts use Fargate features to follow AWS best practices for smooth deployment.
- AWS Elastic Load Balancing - Distribute network traffic to improve application scalability and availability.
- AWS Aurora - Managed PostgreSQL database with monitoring, redundancy, patch maintenance, backups, and more.
- AWS ElastiCache - Managed Redis cache for resource caching and asynchronous job queues.
- AWS S3 - High availability, high durability blob storage.
- AWS SES - Reliable and scalable email automation.
- AWS CloudFront - High availability Content Delivery Network (CDN) used for static asset hosting and user content via "Pre Signed URLs".
- AWS Lambda - Serverless short lived code execution, used for background jobs and Medplum Bots.
- AWS Secrets Manager - Manage and rotate service secrets such as database credentials.
- AWS Web Application Firewall (WAF) - Protect against common web exploits and bots.
- AWS CloudWatch Logs - Centralized logs from all services.