TagB: A scalable parking and valet management system
Category: Automobile/SaaS
Services: Managed Engineering Teams, DevOps, AWS Managed Service ECS, Cloud Architecture Design, and Review
- Reduced downtime by almost 99% with a reduction in failure rate.
- Fast and error-free Deployments with CI/CD pipeline and IaC.
- Manual process eliminated, MTTR improved 10X
About TagB
Tag B Group is a well-known transportation, parking, garage management, and valet service provider based in Washington, D.C. It wanted to create a scalable solution to maintain a full parking and valet management system for multiple users and vendors, with a focus on multi-tenancy, security, database, and infrastructure as a code.
Problem Statement
- It was difficult for the TagB group to manage parking and valet services without a proper system. There was no way to see real-time data from diverse users, such as customers, parking lot owners, etc.
- Managing a proper record of locations and parking criteria, manually scheduling parking, and allocating valet services on time was difficult.
- Users have to either manage without reservations or suffer from lags in parking lot bookings.
- There was no method to acquire useful insights into user behavior. Therefore, it was impossible to make data-driven decisions for business growth.
- To make infrastructure management easy to manage and less error-prone.
- To manage common access and security requirements.
- The client wanted a reliable and secure code.
- The client wanted a highly available and low-cost infrastructure.
Proposed Solution & Architecture
Intuitive and engaging applications
- Simform utilized its expertise in AWS ECS to develop intuitive and engaging mobile and web applications, creating a consolidated platform for multiple users, including super admins, admins, clients, business users, and more. The solution involved building three distinct applications tailored for different platforms: Android, iOS, and the web.
- By leveraging the power of AWS ECS, Simform created a scalable and efficient infrastructure to support these applications. The containerized architecture of AWS ECS allowed for easy deployment and management of the applications, ensuring optimal performance and resource utilization.
- After the successful implementation of the solution, our client experienced a significant 20% increase in the number of parking spaces managed.
Secure and robust architecture
- A system with a microservices-based architecture was developed, leveraging Simform’s expertise in AWS ECS (Elastic Container Service), to efficiently handle various third-party and custom-developed integrations. The system encompassed payment integrations and multiple user modules, delivering a flexible and scalable solution.
- To support multi-tenancy in TagB, Simform implemented a secure and scalable architecture using AWS ECS. Simform utilized the containerized nature of AWS ECS to create a shared infrastructure approach, where each tenant had its own dedicated containerized environment, including their own isolated database.
- The database architecture was designed using the cloud-based service Amazon RDS, which seamlessly integrated with AWS ECS. This allowed for efficient management and scaling of the system for multiple tenants, ensuring the security and isolation of their respective data.
- Simform implemented role-based access control (RBAC) between ECS tasks and RDS to enhance security and ensure proper data isolation. By assigning specific roles and permissions, only authorized ECS tasks could access the corresponding RDS instances. This granular control mitigated the risk of unauthorized access to sensitive data, reinforcing the overall security of the system. With RBAC in place, each tenant’s ECS tasks could interact with their dedicated RDS instance while maintaining strict data segregation and minimizing the potential impact of security breaches.
User modules & business dashboards
- To empower users with valuable insights and facilitate day-to-day activities, Simform developed a robust set of dashboards, reports, and visualizations. Super admins gained comprehensive visibility into activities performed by clients, admins, customers, and other users across the platform. Clients who owned parking lots could access daily activity reports through their dedicated dashboards.
- Through Simform’s AWS ECS expertise, the platform was able to uncover valuable insights, such as identifying the best-selling time slot, which was determined to be a 3-hour slot. This information allowed the client to make data-driven decisions to optimize their business operations.
- By leveraging the efficiency and scalability of AWS ECS, the TagB platform significantly improved the user experience. Users experienced a 40% reduction in the time required to find available parking spaces compared to the previous system. This improvement in efficiency and time savings greatly enhanced overall user satisfaction and productivity.
- Through Simform’s expertise in AWS ECS, the TagB platform was equipped with powerful features, insightful dashboards, enhanced efficiency, and robust data privacy. This solid foundation allowed users to effectively manage parking activities, make data-driven decisions, and experience a seamless and secure user experience.
Payment & refund management
- Created a safe and reliable payment management system that allows users to add several payment methods.
- The refunds will be made in the same manner as the original payment.
- Payment statuses can be updated by super admins or clients as pending, received, refunded, or advanced.
Easy and secure Infrastructure management
- Our team has used the AWS CloudFormation for defining cloud infrastructure as code. When it comes to microservice architecture it is very hard to manage with monolithic infrastructure.
- To efficiently manage our infra with high availability and low budget our experts have set up front end service on CDN networking which is serving private Amazon S3 bucket data. The backend services are running on Amazon ECS service. Apart from that Amazon RDS is set up for data tier.
- Another concern was that of minimum budget utilization. We have implemented an AWS ECS service container as a service (CAAS) platform for resolving this issue. We have used AWS cloud formation for the automation of all our network resources.
Metrics for Success
Our solution delivered the following results for our client:
- Improved scalability: With our automated infrastructure provisioning and management using AWS CloudFormation, our client was able to easily scale its infrastructure up or down based on demand.
- Faster and more reliable releases: Our CI/CD pipeline using AWS CodePipeline and AWS CodeDeploy enabled our client to deploy changes faster and with a lower risk of downtime. Mean time to recover (MTTR) increases by 10x with faster rollbacks.
- Proactive monitoring and issue resolution: Our monitoring and alerting using AWS CloudWatch enabled our client to proactively identify and address issues before they affected end-users.
- Successful multi-tenancy implementation: Secure and scalable architecture using AWS ECS, with dedicated containerized environments and isolated databases per tenant, ensuring efficient management and data security.
Architecture Diagram
AWS Services Used
- Amazon RDS: Amazon RDS was employed to store application and user data, including user account information, parking lot information, license plate number recording, and so on.In Amazon RDS, restricted access has been kept for specific IP addresses for security purposes.
- Amazon ECS: Containerized APIs were developed and hosted in Amazon ECS With EC2, which can be used by front end applications.For delivering new modules and updates, Amazon Elastic Container Service (ECS) manages the application’s microservices backend. Examples include various modules and functionalities such as advanced parking booking, payment and refund administration, parking lot creation, etc.
- AWS Task Definition: Task definition gives commands to ECS; for example, each task will have certain configurations such as data volumes, memory utilization required, and the number of containers required.
- AWS Lambda & Lambda Edge Security Headers: The main function of AWS Lambda function is to compress users’ profile pictures. Lambda edge security headers add a security layer when content is displayed using CloudFront from an S3 bucket. For example, several users will book parking spots from various places using the app, posing a significant security concern.
- S3 Bucket: Documents belonging to various users, such as administrators, customers, and clients, were stored in an S3 bucket. Clients of Tag B, for example, will have access to data on revenue tracking, parking spots, and booking slots. These individuals will register as customers on the site and will need to upload documents, which will be stored in S3.
- Amazon CloudFront: CloudFront was used to distribute static and dynamic content across the application front ends. It helped create customized user experiences and deliver content with high speed using its edge computing capabilities across multiple channels. CloudFront distribution, for example, pulls files from S3 and displays them in the front end, as indicated in the diagram. Also, it chooses and restricts access to particular information for specific people. For example, admin users can not access the company’s financial information.
- AWS SES & SNS: AWS SES is a service that sends emails to users. An email will be sent to the user after a successful registration with the application, for example. Alternatively, bills will be delivered through email after consumers make a payment. Users receive notifications from AWS SNS. Notifications for communications about offers, payment refunds, pass expiration, and other topics will be sent.
- Amazon ECR: Docker images were stored in Amazon Elastic Registry(ECR) for deployments.
- Application Load Balancer: In the case of multiple requests from different users worldwide, the application load balancer distributes traffic across various targets, such as EC2 instances of ECS containers in multiple availability zones.
- Monitoring: CloudWatch is used to keep track of infrastructure-related logs, metrics, and data, while CloudTrail is used to keep track of operational actions in AWS accounts.