CarSaver: A complete one-stop solution for all your car buying requirements
Category: Automobile/SaaS
Services: Managed Engineering Teams, AWS Managed Service DynamoDB, Database Optimization, DevOps, Cloud Architecture Design, and review
- 40% cut in onboarding time
- Fixed 90% resource config. issues quickly
- Reduced configuration errors by 75%
- Achieved 20% cost savings
About CarSaver
CarSaver’s platform offers an all-in-one solution for buying, renting, leasing, insuring, and upgrading cars from 30+ automobile brands, including Hyundai, Mercedes-Benz, Mazda, Volvo, and Porsche. The platform is built on AWS using secure, multi-tenant infrastructure, AWS database services, and infrastructure-as-code principles to ensure regulatory compliance and simplify management for CarSaver’s customers.
Problem Statement
- Develop an efficient and secure multi-tenant solution that ensures data separation and access control for different tenants.
- Establish a system to identify eligible customers for upgrades, generate corresponding deals, and manage this process efficiently.
- Implement a recurring marketing and lead nurturing process, utilizing a database to track lead data and marketing activities.
- Create a trade recommendation service for second-hand cars, storing customer preferences and transaction history.
- Ensure data protection compliance and regulatory requirements by securely storing customer data in an organized manner.
- Enable comprehensive auditing of incoming requests to the network for security and compliance purposes.
- Manage AWS resource configuration to maintain compliance, with automatic alerts to the security team for any violations.
- Streamline infrastructure management by using a reliable data store for configuration settings.
- Integrate secure remote access to AWS resources with the existing Single Sign-On (SSO) system.
- Develop code that is both reliable and secure, utilizing proper data storage and retrieval practices.
Proposed Solution & Architecture
- For checking eligible customers and generating deals, our team developed a system using AWS ECS as the container orchestration service. The system leveraged AWS Lambda functions to perform the necessary calculations and used DynamoDB as the database service to store customer data.
- To display the best trades for users looking to upgrade their vehicles, our experts utilized Offerlogix, a recommendation engine integrated with the AWS ECS environment. Additionally, Amazon RDS was utilized as the data storage service for storing trade-related data.
- Automated recurring marketing tasks by tracking lead data and activities in DynamoDB, powered by AWS Lambda.
- Implemented multi-tenant solution using DynamoDB for data separation and secure access control.
- To provide users with different offers, Offerlogix was used to dynamically display various deals based on user preferences and requirements.
- For finance amount calculations, AWS Lambda functions were employed to perform the calculations and return the results to users.
- Streamlined AWS resource config management via DynamoDB, validating settings and triggering alerts for violations.
- Developed reliable and secure code by managing versioning, deployment info, and settings in DynamoDB tables.
Metrics for Success
- Increased tenant onboarding efficiency by 40% through streamlined data separation and access control using DynamoDB’s features.
- Detected and remediated 90% of resource configuration violations within minutes using DynamoDB.
- Decreased configuration errors by 75% with DynamoDB-stored accurate configuration settings.
Architecture Diagram
AWS Services
- AWS Lambda: We ran ETL jobs on AWS Lambda to generate prospects for the client, for marketing, for nurturing these prospects, and for generating deals for the users.
- Amazon DynamoDB: Amazon DynamoDB was utilized as the central database service for storing customer data, trade-related information, lead data, marketing activities, configuration settings, and code management in the project.
- Amazon Aurora: Database storage solution that we used for database compliance purposes also.
- Amazon CloudWatch: We used AWS Cloudwatch to generate alarms and for application log generation and as a monitoring solution to monitor the resource utilization metrics.
- Amazon CloudFront: We have used Cloudfront to serve static content.
- Amazon S3 buckets: We used AWS S3 buckets to store configuration files and to store customer data files.
- Amazon Elastic Container Service: All application services run in the container service. Thus we used the Amazon Elastic Container Service for application deployment as a container orchestration tool.
- Elastic Load Balancing: The AWS elastic load balancing service is used as a service load balancer.
- AWS Auto Scaling: The client wanted a scalable solution. So we used AWS autoscaling to scale up or down according to incoming traffic/load.
- AWS ELasticache: To cache sessions and common data to reduce pressure on backend databases.
- AWS CDK & CloudFormation: For IaC(infrastructure as a code).
- AWS ALB: We are using it for load balancing.
- AWS WAF: AWS WAF helps us to protect against common web exploits and bots that can affect availability, compromise security, or consume excessive resources.
- AWS Config: AWS Config is a fully managed service that tracks the configuration history and configuration change notifications to use security and governance.
- AWS client VPN: A fully-managed remote access VPN solution we use to securely access resources within AWS.
- AWS network firewall: AWS Network Firewalls intrusion prevention system (IPS) provides active traffic flow inspection so we can identify and block vulnerability exploits.
- AWS SecurityHub: AWS Security Hub provides a comprehensive view of our security state in AWS and helps check our environment against security industry standards and best practices.