Modern Resale Platform on AWS
Recurate is a Series A startup ($17.4M total funding amount) with a growing portfolio of clients. The company offers a resale platform for digital commerce and retail businesses. Recurate is growing fast and with aggressive timelines. Therefore, the executive team has engaged with IO Connect Services to design and implement the next generation of the organization’s resale platform offerings.
Recurate’s MVP is a self-managed semi-monolithic containerized solution that requires constant server rebooting and manual scaling for the proper operation.
The multitenancy approach is rudimentary and delivers content to each client based on a column identifier in the database. This product is a single point of failure, as any application downtime affects all the clients, disrupting the service for everybody. Recurate needed to add more and larger clients to their portfolio. Therefore, a new scalable solution was required to warranty the company’s future success.
At IO Connect Services, we have a cloud-native manifest for startups focusing on business value and product KPIs to build technical solutions. We selected AWS Serverless to shorten development cycles and go to market timelines.
The new platform needed to warranty a real SaaS B2B (business to business) solution. Therefore, we designed the new architecture with the following principal requirements:
- Tenants must be isolated from each other; data and other assets are unique and only accessible to a particular tenant
- A new client should be onboarded quickly, regardless of the geographical region, with a target of hours to minutes in future phases
- A particular tenant can have custom business logic and composing integrations
- New features should be customizable for premium tenants and can automatically be released to standard client accounts
- SLAs and performance metrics must be standard for all tenants; a higher utilization client must not impact other accounts
- All transactions must be auditable
Multitenancy with AWS Organizations with AWS Control Tower
We managed the new solution as a green field scenario to start fresh. The team decided to implement a multi-account mechanism to address the multitenant-related requirements. We provisioned an AWS Account per B2B client. AWS Organizations was set up with AWS Control Tower to govern all the accounts. With this approach, each tenant is isolated in their account without sharing data access and without competing for service limits and other resources. Moreover, this tactic reduces the blast radius of vulnerabilities and threats and eases the complexity of compliance by providing mechanisms to separate access to resources.
Architecture with Amazon API Gateway, AWS Lambda, Amazon SQS, Amazon SNS, AWS X-Ray, and Amazon CloudWatch Logs
The solution’s architecture was designed with a cloud-native approach using AWS Serverless technologies as much as possible. The objective was to rely on these services' out-of-the-box features and configurations to leverage the AWS investment. The design had an API-led first approach with a Microservices architecture implemented with Amazon API Gateway and AWS Lambda. We used queues and publisher-subscriber mechanisms with Amazon SQS and Amazon SNS to decouple transactions and to warranty consistent SLAs. All the Lambdas were orchestrated with AWS X-Ray, and activity logs were submitted to Amazon CloudWatch Logs to provide accurate traceability, troubleshooting analysis, and auditing.
We selected Amazon DynamoDB, a No-SQL database, to keep writing and reading times constant and to keep the schema flexibility of the data to be stored, as some premium clients could use different data models. Eventual consistency was a crucial factor in designing asynchronous transactions that could help scale the volume substantially.
To ensure fault tolerance and no data loss during the execution of the microservices, each Lambda implemented a unit of work transaction pattern, and each queue had a corresponding DLQ (dead-letter-queue) to save and quarantine the transaction in case of any failure. A specific message can be replayed without affecting the rest of the business logic.
CI/CD pipelines with AWS CodePipeline and AWS CodeCommit
Our DevOps team created CI/CD pipelines to rapidly deploy new code consistently using AWS CodePipeline and AWS CodeCommit as a Git repository for code and template versioning. Also, we implemented an IaC (Infrastructure as Code) approach to provision assets in AWS consistently and automatically.
Because all workloads were designed following a serverless approach, the generated code focuses solely on business needs rather than infrastructure or other non-business-related functions. Using serverless shortened development cycles, the project delivery was on time despite the aggressive deadlines and some last-minute changes in requirements.
Recurate worked with IO Connect Services as an extension of their team. Collaboration was in real-time and in the same time zone, which is crucial to meeting timelines. Besides, Recurate was able to obtain a substantial cost benefit. On average, our nearshore rates are 30% to 50% of those of onshore resources with similar skills.
We ran a load test to provide consistent numbers in throughput, and the results met expectations based on the architectural and design patterns. Each tenant account can handle gracefully more than one thousand transactions per second (1K TPS). Each request besides JSON payload included a couple of images sizing 2 Megabytes per request. These numbers were reached without requesting service limits in any of the services used. Therefore, the platform can easily handle hyper-scaling volumes.
A selection of premium global clients were onboarded in a few days; one deployed in a European region for the UK market. The solution is GDPR-read, and provides a significant advantage to winning new businesses in the European market. Also, the multi-account flexibility allows the client to service faster digital content to the users in low-latency regions closer to them.
Recurate is confident to onboard new clients rapidly. The leadership team is optimistic that the new solution is bringing them to the next level as an organization. They are ready to fast-track new funding rounds with better and proven results.
The serverless approach provides a fast, resilient, and high-availability environment for the application.
Save money by replacing physical hardware with expensive license fees, with AWS you pay for what you use.
With fully managed resource provisioning, maintenance, and backup, deployments are more efficient.
IO Connect Services is here to help you by offering high-quality cloud technology solutions