
Closed
Posted
Paid on delivery
Title: AWS Migration — Node.js/Next.js Medical SaaS to ECS Fargate (5 services, RDS, SQS, DICOM over NLB TCP) Budget: Fixed price, milestone-based. Description: We run a teleradiology SaaS platform (Node.js/Express API + [login to view URL] web + PostgreSQL 16) currently deployed on a dedicated VPS with Docker. It works, but we need to move it to AWS to scale from 1 pilot clinic to 75 clinics over the next 12–18 months. This is a focused migration, not a redesign — the application code stays as-is except for the changes needed to run stateless on AWS. Target architecture — 5 containerized services on ECS Fargate: 1. WEB — [login to view URL] app (radiologist/clinic portal), behind ALB. 2. API — Express API: auth (JWT/RBAC multi-tenant), studies, reports, pipeline triggers. Behind ALB. 3. DICOM-adapter — receives C-STORE on TCP 11112 from clinic PACS, stores images in Google Cloud Healthcare (which stays as the DICOM store in Phase 1), registers the study in RDS, enqueues a job in SQS. Behind NLB. 4. Dmwl-server — DICOM modality worklist, C-FIND on TCP 11113. Behind NLB. 5. Worker — pulls jobs from SQS and orchestrates external AI providers (screening, medical vision, report drafting), stores the draft report in RDS and the PDF in S3. We do NOT host AI models — the worker calls external APIs. Scales independently by queue depth. Study flow (so you understand what you're migrating): clinic PACS → C-STORE → NLB → dicom-adapter → GCP Healthcare + RDS + SQS → worker → external AI APIs → draft report in RDS, PDF in S3 → radiologist reviews and approves in web. Scope: AWS foundation with Terraform: VPC (public/private subnets), IAM task roles per service, ECR, Secrets Manager, CloudWatch. Two environments: dev and prod. The 5 services above containerized and running on ECS Fargate, fully stateless (no service stores anything important on its local disk — all state lives in RDS, SQS, or S3). Database migration: PostgreSQL 16 from VPS to RDS PostgreSQL (Multi-AZ in prod), private subnet, no public exposure, automated backups and one verified restore test. Replace the current in-memory job queue with SQS + DLQ. Workers must be idempotent: a retried job must never produce a duplicate report or duplicate billing event (idempotency key per study/job). Move generated PDFs/artifacts from local filesystem to S3 with KMS encryption and presigned URLs. DICOM connectivity through a Network Load Balancer (TCP 11112 / 11113). Must pass C-ECHO / C-FIND / C-STORE tests from an external PACS before cutover. Hard requirement — if you don't know why DICOM DIMSE can't go through an ALB or API Gateway, please don't bid. HTTPS via ALB + ACM, DNS on Route 53. CI/CD with GitHub Actions (OIDC, no permanent access keys): build → push to ECR → deploy to ECS with rollback to previous task definition. One pipeline per service. Basic observability: CloudWatch logs per service, health-check alarms, SQS queue-depth alarm, AWS budget alerts. Cutover plan with rollback window, and a short runbook (deploy, rollback, restore, scale workers). Acceptance test: we will kill any single container in dev during operation. No study may be lost, no report duplicated, and the service must self-recover. If the architecture can't pass this, it's not done. Important context: The platform handles medical data (PHI). You will work with anonymized/test data during the migration; production data migration happens in a supervised cutover window. NDA required. All credentials shared through a secure channel only. What we provide: read-only repo access, existing Dockerfiles and docker-compose, environment variable inventory, current NGINX config, database schema and size, and a technical owner available for questions. Milestones and payment: M1 (20%): Terraform foundation + dev environment live, the 5 services running on ECS dev. M2 (30%): RDS migration validated + SQS queue working end-to-end with idempotency + artifacts in S3. M3 (30%): DICOM tests passed through NLB from external source + CI/CD + alarms + acceptance test passed in dev. M4 (20%): Production cutover completed, 1-week stability window, runbook delivered. To apply, answer these 3 questions (bids without answers will be ignored): Why does DICOM DIMSE traffic require an NLB instead of an ALB? Describe a migration you've done from a single server to ECS Fargate: what broke, and how did you handle the stateful parts (DB, queue, files)? How would you guarantee worker idempotency so a retried job never duplicates a report?
Project ID: 40588928
123 proposals
Remote project
Active 5 days ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
123 freelancers are bidding on average $2,249 USD for this job

Hi — Elias here from Miami. This migration is really about making the platform fault-tolerant while keeping the application unchanged. The priority is ensuring no study is lost and no report is duplicated as services scale independently on ECS. 1. DICOM DIMSE requires an NLB because it's native Layer 4 TCP traffic. An ALB only supports HTTP/HTTPS and won't reliably handle C-STORE, C-FIND, or C-ECHO sessions. 2. I've migrated Dockerized Node.js applications from single VPS deployments to AWS using ECS/Fargate. The biggest challenges were removing local state, replacing in-memory queues with SQS, moving files to S3, migrating PostgreSQL to RDS, and ensuring services could be recreated without affecting users. 3. For idempotency, I'd assign each study/job a unique idempotency key enforced by PostgreSQL. Workers process jobs transactionally and always check the existing state before creating reports or billing events, making SQS retries safe. Your milestone plan aligns well with how I'd execute the migration, including rollback validation and recovery testing before production cutover. Looking forward to hearing from you.
$2,250 USD in 7 days
7.6
7.6

I am a skilled AWS architect with extensive experience in migrating Node.js and complex SaaS platforms to cloud infrastructure. My expertise includes managing containerized applications on ECS Fargate, handling distributed system architecture, and ensuring compliance with healthcare data regulations. In a previous project, I successfully migrated a PHP-based application from a single VPS to AWS Fargate, addressing challenges such as database migration to RDS and replacing local storage with S3. I understand the critical need for stateless services and have a solid plan for handling idempotency using unique job identifiers in SQS, which will prevent duplicated reports or billing events in the worker tasks. I can confidently manage DICOM DIMSE traffic, which necessitates an NLB due to its support for TCP-based protocols crucial for medical imaging transfers that are incompatible with ALB's higher-level HTTP/HTTPS restrictions. I am keen to discuss how my experience can ensure a smooth transition for your teleradiology platform. Can we explore the specific needs of your architecture further?
$2,200 USD in 10 days
6.8
6.8

Interesting project, Hi, I will migrate your 5 teleradiology services to ECS Fargate so you scale from 1 clinic to 75 without touching application code. You get Terraform for VPC, IAM, ECR, RDS Multi-AZ, SQS with DLQ, S3 with KMS, and CI/CD via GitHub Actions OIDC. On a similar medical SaaS migration, the trickiest part was the stateful queue swap. I will wire idempotency keys (study ID + job version) into your worker so a retried SQS message never produces a duplicate report or billing event. Your screening questions: 1) DIMSE uses persistent TCP associations (C-STORE, C-FIND). ALB operates at Layer 7 (HTTP) and breaks the DICOM binary stream. NLB passes TCP through at Layer 4, preserving the association. 2) Migrated a monolith to Fargate: session state moved to Redis, files to S3, Postgres to RDS. Looking forward to your response. Best regards, Kamran
$1,712 USD in 25 days
6.6
6.6

Hi, I understand you need a production-ready migration of your medical SaaS from a single Docker VPS to a resilient AWS ECS Fargate architecture without changing the application logic. DICOM DIMSE requires an NLB because it uses persistent, non-HTTP TCP connections (C-STORE, C-FIND, C-ECHO). An ALB only supports HTTP/HTTPS protocols, so it cannot correctly handle native DICOM traffic. I've migrated containerized applications from single-server environments to ECS Fargate by externalizing all state—moving PostgreSQL to RDS, replacing in-memory/background jobs with SQS, storing files in S3, and using Secrets Manager for configuration. This allowed services to remain fully stateless while supporting rolling deployments and automatic recovery. To guarantee worker idempotency, I would use a unique idempotency key per study/job stored in the database with transactional checks and unique constraints before processing. Every retry validates the existing processing state so duplicate reports or billing events can never be created, even if a message is delivered more than once. I can deliver the complete Terraform-based AWS infrastructure, ECS Fargate deployment, RDS migration, SQS integration, DICOM connectivity through NLB, GitHub Actions CI/CD, monitoring, and a safe production cutover with rollback planning. Best regards, Muhammad Usman
$2,000 USD in 7 days
5.6
5.6

Hi, I'm an **AWS Certified Solutions Architect** with 10+ years of experience migrating production Docker applications to **AWS ECS Fargate** using **Terraform, RDS, SQS, S3, GitHub Actions, and CloudWatch**. **1. Why NLB instead of ALB?** DICOM DIMSE uses **raw TCP (Layer 4)**, so it requires an **NLB**. ALB only supports HTTP/HTTPS (Layer 7). **2. Similar Migration** I've migrated Docker-based applications from VPS to ECS Fargate by moving state to **RDS**, **SQS**, and **S3**, implementing CI/CD, and ensuring low-downtime deployments with rollback support. **3. Worker Idempotency** I use a unique **idempotency key** per job, persist processing state in PostgreSQL, and enforce database constraints so retries never create duplicate reports or billing events. I can deliver a secure, scalable, HIPAA-ready AWS architecture with minimal downtime and am available to start immediately. AWS Certified Solutions Architect
$3,000 USD in 7 days
4.5
4.5

As an experienced professional in software development and DevOps, I'm well-prepared to handle the intricacies of your AWS migration project. My expertise lies primarily in API Development, CI/CD, Docker and Node.js; skills I've utilized to create scalable and efficient systems that match your needs perfectly. Over the years, I’ve built robust infrastructures on AWS using technologies like Terraform, ECR, Secrets Manager, CloudWatch and more, which are all essential components of your desired architecture. My hands-on experience with PostgreSQL 16 will be invaluable during the important database migration phase of this project. Additionally, my knowledge of DICOM connectivity is precisely what you require for this project. I understand the limitations of DICOM DIMSE going through an ALB or API Gateway, and I’m prepared to harness your DICOM-adapter's requirements behind the Network Load Balancer (NLB). My commitment to security also ensures your medical data (PHI) remains protected throughout the entire process — NDA required of course.
$2,250 USD in 2 days
4.3
4.3

Hello, We will migrate your five services to ECS Fargate with Terraform, wire DICOM through NLB, and move your queue to SQS with idempotency guarantees. DICOM DIMSE runs over raw TCP (association, P-DATA). ALB only speaks HTTP/HTTPS, so it breaks the DIMSE handshake. NLB passes TCP streams untouched on 11112/11113. For idempotency, each SQS job will carry a composite key (study UID + job ID). The worker checks RDS for that key before processing. A unique constraint on the table prevents duplicate reports even under concurrent retries. A couple of quick things to confirm: 1) Does the DICOM adapter currently hold any transient files on disk during C-STORE (before pushing to GCP Healthcare), or is the pipeline fully streamed? Ready to start whenever you are. Faizan
$1,715 USD in 25 days
3.8
3.8

DIMSE isn't HTTP. C-STORE and C-FIND run as long-lived, stateful TCP associations, and an ALB or API Gateway is a layer-7 proxy that terminates and re-parses HTTP — it can't carry DIMSE PDUs at all. The NLB passes raw TCP through on 11112/11113, which is the only thing that works, and the target-group health check has to tolerate an actual C-ECHO rather than expecting an HTTP 200. I'd get that external-PACS C-ECHO/C-FIND/C-STORE loop green early, since it's the piece most likely to stall the whole migration if it's left to the end. On single-server to Fargate moves, what bites is the hidden state: code that assumes local disk or an in-memory queue, and DB connection pools that blow up once tasks scale out horizontally. Files go to S3 with presigned URLs, the in-memory queue becomes SQS + DLQ, and Postgres moves by dump/restore with a real verified restore before cutover, not just backups switched on. For idempotency, the worker derives a key per study/job, checks it first and short-circuits if the study's already processed, then writes the report, billing event, and processed-marker in one Postgres transaction with a unique constraint on that key (ON CONFLICT DO NOTHING) as the backstop if two deliveries race. SQS is at-least-once, so a redelivered job re-runs at worst but never writes a second report. DLQ isolates the poison messages. Happy to sign the NDA up front. I'd start on the Terraform foundation and the NLB DICOM path, since that's the highest-risk part here.
$2,500 USD in 7 days
3.9
3.9

Hi, thank you for sharing your project. Could you share your current checkout architecture and backend framework? Do you already have a preferred crypto payment provider, or should I evaluate the best option? I understand you need a crypto-only payment integration for an existing store, supporting Bitcoin, Ethereum, and Solana with real-time USD conversion, blockchain confirmation, and automatic order updates. The solution must be secure, reliable, and easy for customers to use across desktop and mobile. I will integrate a suitable payment gateway such as Coinbase Commerce, BitPay, or a custom Web3 payment flow based on your needs. I will handle wallet/payment integration, transaction monitoring, on-chain verification, error handling for failed or incomplete payments, and an admin view for TX hashes and settlement details. I have experience with blockchain applications, payment gateways, smart contracts, and full-stack systems. My approach will include secure implementation, staging tests for edge cases, and smooth production deployment support. Best regards. Daniel
$2,250 USD in 20 days
4.0
4.0

With my extensive experience as a Full Stack Developer, I'm well-versed in all the technologies and processes crucial for this AWS migration project. My proficiency with Node.js, especially in building scalable backend systems, aligns perfectly with the core requirement of your project. I have not only built numerous medical-related software solutions but also experienced in working with PHI data, so security is always at the forefront of what I do. Furthermore, my expertise with Terraform, CI/CD and DevOps will provide significant value to your project. I understand the importance of a well-designed infrastructure and have a proven track record of implementing them effectively in real-world scenarios. Using Terraform, I can ensure your AWS foundation with VPC setup, IAM roles per service, ECR, Secrets Manager and CloudWatch are well organized and properly integrated. Having taken full accountability for end-to-end projects previously, I understand how impactful a dedicated technical owner can be. I am committed to providing comprehensive support not just during the migration but throughout the entire supervised cutover process. My availability during US, UK, and Australian business hours also guarantees that we can coordinate effectively throughout this process.
$1,500 USD in 7 days
3.7
3.7

Hi, I understand you're migrating a Node.js/Next.js medical SaaS from a VPS to AWS ECS Fargate while keeping the application architecture intact and making it cloud-native, scalable, and fault tolerant. 1. DICOM & NLB: DICOM DIMSE uses persistent TCP connections (C-STORE, C-FIND, C-ECHO). An NLB operates at Layer 4 and preserves raw TCP traffic, whereas an ALB is Layer 7 (HTTP/HTTPS) and cannot correctly proxy DIMSE protocols. 2. Relevant Experience: I'm Mohit, a Full-Stack & Cloud Engineer with 9+ years of experience. I've migrated Dockerized applications from single VPS environments to AWS using ECS Fargate, RDS, S3, SQS, ECR, Terraform, and GitHub Actions by externalizing state (DB, queues, files), implementing health checks, and zero-downtime deployments. 3. Worker Idempotency: I'd use a unique idempotency key per study/job stored in PostgreSQL with transactional locking and status tracking. Every retry validates the key before processing, preventing duplicate reports or billing events while ensuring safe SQS retries. I'm comfortable with Terraform, AWS, Docker, CI/CD, secure PHI handling, and NDA requirements. Regards, Mohit
$2,999 USD in 35 days
3.7
3.7

As an experienced developer with a decade of expertise, I have successfully crafted end-to-end technological solutions for numerous clients across various industries. My proficiency in AWS, DevOps, and Node.js development perfectly aligns with your project requirements. I have a proven track record of efficiently migrating complex and sensitive data and applications to AWS without compromising security or functionality. Additionally, my familiarity with Terraform, ECS Fargate, RDS, and CloudWatch will enable me to effortlessly establish the required tech infrastructure while ensuring continuous integration/delivery for streamlined operations. Moreover, I understand the gravity of handling sensitive medical data as per regulatory compliance. I am well-versed in implementing robust security measures utilizing IAM policies, encryption protocols like KMS and SSL certificates via ACM. Importantly, my comprehension of DICOM's complexities and mastery over different protocols (C-ECHO/C-FIND/C-STORE) ensures a smooth transition to NLB with no disruption in your critical study flow even during the migration period.
$1,500 USD in 5 days
3.4
3.4

hi, i have experience with aws, docker, ecs fargate, terraform, node.js, and cloud migrations. i will move your medical saas platform from vps to aws with secure infrastructure, rds, sqs, s3, ci cd, and scalable container services. dicom dimse needs nlb because it uses direct tcp communication for c store and c find, while alb only handles http traffic. i will ensure workers are idempotent using unique job keys to prevent duplicate reports during retries. can we schedule a quick meeting to discuss the project in detail. it will help me understand your needs better and give you a clear plan with timeline and budget. i will also share my portfolio during the chat. mughiraa
$2,250 USD in 7 days
3.0
3.0

Hi, How are you planning to handle the DICOM DIMSE migration requirements, especially NLB-based TCP routing, stateless ECS services, and zero-loss queue processing during container failures? You need to migrate your medical SaaS platform from a VPS Docker setup to a scalable AWS ECS Fargate architecture with RDS, SQS, S3, Terraform, CI/CD, and reliable DICOM connectivity. I will migrate the existing services without unnecessary redesign, containerize and deploy them on ECS Fargate, build the AWS infrastructure with Terraform, move stateful components to managed services, implement SQS-based idempotent workers, secure PHI-related resources, and validate the complete workflow through testing and rollback planning. I would be happy to discuss your current architecture and migration plan. Have a great day.
$1,500 USD in 2 days
3.2
3.2

Hi there, I hope you're doing well. I am excited about the opportunity to assist with your AWS migration for the Node.js/Next.js Medical SaaS platform. With extensive experience in AWS, Docker, and DevOps, I am well-equipped to ensure a seamless transition to ECS Fargate while maintaining the integrity of your application. Understanding your need for scaling from a single clinic to 75, my focus will be on implementing a robust, stateless architecture. I have successfully migrated applications to ECS Fargate, ensuring database integrity, and handling job queues with SQS for idempotency. By leveraging Terraform, I will set up a secure, scalable environment with VPC, IAM roles, and the necessary CI/CD pipelines using GitHub Actions. I recognize the importance of DICOM DIMSE traffic requiring an NLB due to its need for TCP support, which ALB doesn't provide. This knowledge ensures that the DICOM C-STORE and C-FIND operations will function seamlessly post-migration. For worker idempotency, I will implement unique identifiers for each job to prevent duplicate processing—ensuring that each study/job is processed exactly once, even if retried. I am committed to maintaining data privacy and security, adhering to all necessary protocols. I look forward to the possibility of collaborating on this project and delivering a solution that meets your expectations. Best Regards,
$2,250 USD in 20 days
2.3
2.3

hello, i can migrate your node.js medical saas to aws ecs fargate with a secure and scalable architecture using terraform, rds, sqs, s3, and ci cd pipelines. i understand dicom networking, stateless container design, and healthcare data requirements. i will deliver tested infrastructure, reliable migration, monitoring, and complete operational documentation.
$1,550 USD in 7 days
1.8
1.8

Migrating your Node.js Medical SaaS to AWS requires not only expert skills but a comprehensive understanding of the platform's requirements and protocols. As an accomplished freelancer with over 5 years of experience in full-stack development and profound knowledge of AWS, CI/CD, DevOps, Docker, Node.js, and PostgreSQL, I am uniquely equipped to tackle this project. My expertise doesn't stop at migration, but extends to providing scalable, efficient, and highly-performing solutions that align perfectly with your rapid expansion goals. One of the striking aspects of my work is the level of precision and attention to detail I bring to each project. Your DICOM over NLB TCP requirement poses no challenge for me as I have broad experience working with complex protocols like DICOM DIMSE. I fully understand the nuances of managing medical data and will ensure strict adherence to NDA and secure sharing channels for any credentials. Additionally, my proficiency in Terraform means I can establish a solid foundation, setting up VPCs with public/private subnets and ensuring robust IAM management for enhanced security. With a client satisfaction rate of 100%, quick response time ($<$2-3 hours), and comprehensive support across time zones (EST, PST, MST, GMT), you can trust that your project will be in safe hands at every stage.
$2,000 USD in 5 days
1.6
1.6

Hello! - Naim is here to help you solve the issues for this project. I see you're looking to migrate your Node.js/Next.js medical SaaS platform to AWS ECS Fargate, ensuring scalability, security, and high availability while maintaining the current application architecture. The most critical challenge is ensuring seamless DICOM connectivity through NLB, as ALB cannot handle TCP traffic required for DICOM protocols. Using NLB allows TCP passthrough, essential for C-STORE and C-FIND operations, which are not HTTP-based. My approach involves setting up a robust Terraform-based foundation, configuring ECS Fargate with containerized services, and ensuring secure, scalable DICOM communication. I will implement automated database migration, replace the in-memory queue with SQS, and establish comprehensive CI/CD pipelines with GitHub Actions, including observability and alarms. I am confident that my experience with AWS migrations, container orchestration, and healthcare data compliance will ensure a smooth and reliable transition. Looking forward to connecting and discussing your project further! Best regards, Naim
$2,100 USD in 16 days
1.5
1.5

Moving your platform to AWS without redesigning the application is the right approach for scaling to dozens of clinics while keeping risk low. The biggest challenge is removing every dependency on local state. I'd start by reviewing the current Docker setup, networking, storage, and queue flow. Then I'd build the AWS foundation with Terraform, migrate PostgreSQL to RDS, replace the in-memory queue with SQS + DLQ, move PDFs to S3, and deploy the five services on ECS Fargate using ALB for HTTP and NLB for DICOM traffic. Finally, I'd validate failover by killing containers, testing rollback, restore, and confirming no study is lost or duplicated. 1. DICOM DIMSE requires an NLB because it uses raw TCP sessions, while ALB only handles HTTP/HTTPS traffic. 2. Stateful parts should be moved to RDS, SQS, and S3 so containers can be recreated without affecting running workflows. 3. I'd guarantee idempotency using a unique study/job key with transactional validation before creating reports or billing records. Could you share the database size? Are the DICOM services already containerized? Is production cutover expected to be zero-downtime or during a maintenance window? I'd be glad to discuss the migration plan further.
$4,500 USD in 25 days
1.4
1.4

Hello, I'm David from Florida. I understand your goal is to migrate your Node.js/Next.js medical SaaS from a VPS to AWS ECS Fargate while keeping the application scalable, reliable, and fully stateless. Once we begin, I will: • Provision AWS infrastructure with Terraform. • Deploy all services to ECS Fargate. • Migrate PostgreSQL to Amazon RDS. • Replace the in-memory queue with Amazon SQS. • Move generated files to Amazon S3. • Configure ALB, NLB, Route 53, CloudWatch, and GitHub Actions CI/CD. • Test the deployment and support the production cutover. **Answers:** **1.** DICOM DIMSE requires an **NLB** because it uses raw TCP. ALBs only support HTTP/HTTPS and cannot handle DIMSE protocols like C-STORE or C-FIND. **2.** Successful migrations require moving state outside containers—RDS for the database, SQS for queues, and S3 for files—so services remain stateless and recover automatically. **3.** I would use an idempotency key for each study/job, checking it before processing to ensure retries never create duplicate reports or billing events. I can start immediately and work closely with your team to deliver each milestone. Best Regards, David
$1,500 USD in 15 days
1.0
1.0

Colton, United States
Payment method verified
Member since Apr 21, 2025
$8-15 USD / hour
₹150000-250000 INR
min $60 SGD / hour
₹750-1250 INR / hour
₹750-1250 INR / hour
₹1500-12500 INR
₹1500-12500 INR
£3000-5000 GBP
₹750-1250 INR / hour
₹1500-2000 INR
₹37500-75000 INR
$1500-3000 USD
$250-750 USD
$10-30 AUD
$8-15 USD / hour
min $50 AUD / hour
₹600-1500 INR
$8-15 USD / hour
$25-50 USD / hour
$750-1500 USD
₹600-1500 INR