Wordego and Sortext now have more scalable, cost-effective and reliable environments on AWS
Wordego & Sortext
Wordego and Sortext now have more scalable, cost-effective and reliable environments on AWS
Wordego & Sortext
About the customer
Sortext and Wordego are sister start-up companies in e-commerce industry. Sortext is an AI-based ecommerce conversion platform that provides online retailers to double the conversion of their first-time visitors with no additional investment. Wordego is an intelligent customer classification solution for ecommerce websites. Wordego, being an Advertisement Analytics Platform, segments all visitors by their spending power and conversion probability (Customer Score), such as “Gold”, “Silver”, or “Bronze” visitors, who can be further used in advertising platforms as a target audience for paid search or remarketing campaigns.
Parallel to each other, two products exchange data to calculate customer value, website visiting patterns, calculate customer score, display dynamic campaigns to keep customers on the site, apply discounts, and track customers.
Business challenge
The prediction models of the companies’ products were running on Windows instances and were serving all customers’ websites together as a load balanced solution. Yet, the structure was not flexible enough for code development purposes and was not secure enough to protect company IP and prevent external attacks.
It was necessary to revise the current IT architecture by considering the following requirements:
- Replacing existing MS SQL database with Aurora RDS to secure data access and enhance backup needs.
- Separating servers used for Sortext and Wordego and making them run on independent AWS infrastructures.
- Rebuild code structure and provide prediction models as micro-services that run behind API gateways and AWS Lambda functions.
- Enabling access to micro-services from different applications to expand our services’ usage in mobile apps in the future.
- Monitoring system health for Quality Assurance purposes. (Replacing Site24 setup with AWS Cloud Watch)
- Run stateless applications on ECS which provides better scalability and cost-optimized solutions.
- Secure the system to prevent DDOS attacks or unauthorized access by internal human sources. (IAM roles, Firewall setup, Security Groups, etc.)
- Modified DynamoDB data flow (added Kinesis streams triggered on DynamoDB object entry) to be able to both satisfy data processing speed requirements and analyze acquired data.
- Automation and scaling of predictive model updates by replacing SageMaker notebooks with sophisticated products (EMRs) that are more capable of automating and scalability.
Solution
Delivery of the solution was planned in two main phases, discovery and implementation.
The findings were documented with architectural recommendations during the discovery phase. The implementation phase was the phase when the agreed solution was deployed.
The solution’s components were:
- Preparation of current and updated architecture diagrams with AWS services that will be used during the discovery phase.
- Migration of current MS SQL Database with AWS Aurora RDS to meet functional and non-functional requirements using Amazon DMS
- Moving some of the services / functions of Sortext and Wordego applications to serverless and auto-scalable compute (AWS Lambda and Fargate) environments.
- Changing CD processes to deploy API services on AWS ECS
- Setting up monitoring and alarm systems for the new architecture
- Make suggestions for convenient AWS Security Services and/or TrendMicro products to mitigate the security threads and audit requirements with cost information
- Addressing current performance issues encountered in DynamoDB batch processes with the help of Kinesis to export data from DynamoDB into S3 as a data lake. With the help of the Athena and Glue catalogs, BI reporting is automated without any management overhead or scaling issues.
- Analyzing and making suggestions for automating the update of production models by triggering different serverless compute functions that are linked to SageMaker notebooks.
Use of third-party applications or solutions
TrendMicro: Cloud security (in addition to the AWS security services used)
GitHub: Source code repository
AWS Services used as part of the solution
A variety of AWS Services are used in the solution, including:
Glue, Database Migration Service (DMS), Virtual Private Cloud (VPC), Identity & Access Management (IAM), Elastic Container Service (ECS), Elastic Container Registry (ECR), Elastic Load Balancing (ELB), DynamoDB, Route 53, EC2, Key Management Service (KMS), Secrets Manager, CloudWatch, Simple Queue Service (SQS), Simple Storage Service (S3), AWS Certificate Manager (ACM), CodePipeline, CodeBuild, CodeDeploy, Lambda, SageMaker, Relational Database Service (RDS), Kinesis, CloudFront
Architecture Diagram of the specific customer deployment
Technical Requirements
High level requirements were defined as:
- Transferring Microsoft SQL Server database to Amazon RDS PostgreSQL
- Modernizing existing application components from classical server based to microservices architecture with serverless computing services (Lambda, ECS, …)
- Build a CI/CD pipeline for redesigned architecture
- Enhance security and observability
Outcomes
Following project delivery, Wordego and Sortext AWS environments have been replaced with scalable, cost efficient, and reliable AWS serverless compute services. In addition, CI/CD pipelines with AWS services are established, and the database is changed to AWS RDS PostgreSQL.