About Sortly
Sortly is end-to-end inventory management software for businesses of all sizes. Teams track items with QR codes, create and share reports, follow user and inventory activity, check items in and out to employees, customers, jobs or locations in seconds with the in-app scanner, and give controlled access to anyone from anywhere.
9Acts has worked with Sortly on three projects: the move to containers, the release pipeline, and search.
Moving to Amazon ECS on AWS Fargate
The challenge
Sortly’s Ruby application ran on AWS Elastic Beanstalk, which limited version upgrades, slowed releases and depended on intricate custom scripts. The team wanted its environment defined as code, so every environment stayed consistent, and it needed a highly secure home for the application.
What 9Acts did
9Acts assessed the environment and recommended Amazon ECS. The application was packaged into containers and deployed on Amazon ECS with AWS Fargate, which scales with demand and removes servers to manage.
- Infrastructure as Code. The whole environment is defined in Terraform, so changes are controlled and environments do not drift.
- Observability. Datadog collects logs, performance metrics and traces for the application.
- Scaling. Automatic scaling handles changing load without anyone resizing by hand.
- Security. Container images are scanned, the operating system is hardened with kernel-level controls, every component has its own security group, and AWS Application Load Balancers terminate TLS with certificates from AWS Certificate Manager.
- Network. Public subnets hold only the load balancers, private subnets the ECS tasks, and isolated subnets the Amazon Aurora databases.
The result
Sortly left the Elastic Beanstalk upgrade limits behind. Terraform lets the team make controlled changes quickly, monitoring lets the team manage the application’s health proactively, and automatic scaling keeps performance steady as load changes.
A release pipeline QA can trust
The challenge
Sortly’s pipeline had no automated tests, so the QA team spent extra time testing by hand before each deployment. It also built container images separately for each environment, so the image QA approved was not necessarily the one that reached production.
What 9Acts did
9Acts set up a pipeline that runs automated Ruby on Rails tests on every pull request. Merging to higher environments requires approval based on those tests, so only passing code is merged.
Each image is now built once, for QA, and the same image is promoted onward. A pull request from a feature branch to the QA branch runs the tests and merges into QA; the image is then built, pushed to Amazon ECR and deployed to Amazon ECS on AWS Fargate. The pipeline advances only once the container is stable, and then QA starts testing.
When QA approves an image, it is tagged with the release version and promoted to staging, which follows the same process without the build. After end-to-end tests, the same image goes to production.
The result
Deployments went from days to about an hour. Every release now passes automated tests and an approval before it reaches production, and Sortly has since achieved SOC 2 compliance. Feature delays and acceptance testing each shrank by days. Developers and testers are more confident in their work, with clearer requirements and acceptance criteria, and bringing the whole team into the process made writing user stories simpler and more organized, with editing permissions keeping everyone on the same page.
Search on Amazon OpenSearch Service
The challenge
Sortly’s self-managed search struggled to scale and was hard to maintain and tune, which caused performance bottlenecks and limited search features. Sortly wanted a fully managed service, help designing index management, and an environment that met its compliance requirements.
What 9Acts did
9Acts recommended Amazon OpenSearch Service and built it with security and compliance first:
- Encryption at rest with AWS Key Management Service (AWS KMS).
- A private network. The cluster sits in a private VPC with tightly controlled inbound and outbound traffic.
- Access restricted through IAM roles and policies.
- Audit logging turned on for security monitoring and compliance audits.
- Recovery. Automated snapshots, and cross-cluster replication to a second Region.
- Index management. Old indices are cleaned up, heavy indices backed up, data placed in tiers by how often it is read, and maintenance scheduled.
9Acts also built custom visualizations in OpenSearch Dashboards, so the team can make decisions from the data.
The result
Sortly no longer maintains its own search servers. Search is faster, index management keeps resources and cost in check, and the cluster meets Sortly’s compliance requirements.


