MediaCentric: An app that helps streamline the on-field work.
Category: Audio Visual/SaaS
Services: Managed Engineering Teams, DevOps, Cloud Architecture Design, and Review
- Built an efficient system that resulted in 60-80% of time savings.
- Built a robust architecture that could resist spikes in traffic.
- 20+ organizations around the United States are using the platform
About Project
The client, a leading U.S. full-service organization in the AV/IT industry, needed a robust SaaS solution to efficiently manage their field workers and track their tasks. With our expertise in building secure and scalable SaaS platforms, we proposed a solution that included multi-tenancy support, ensuring that the client could easily manage multiple customers on a single platform.
Problem Statement
- The process of tracking the activities of field technicians was inefficient as it was a manual paper-based system.
- Low reliability due to excessive workloads.
- Expensive manual process that wasted many man-hours.
- Manage and track bounce/complaints email to maintain healthy SES status.
- Intermittent issues with containers abruptly stopping while in production.
- Needed a highly available infrastructure the client wanted to monitor and notify whenever there are issues with the production URLs.
- Ensuring security of the multi-tenant system with encrypted data at rest and in transit.
Proposed Solution & Architecture
Built an efficient system
- We proposed a solution to the company to help them manage their field workers efficiently.
- The system eliminated communication errors between the admins and the field workers, helped field workers report instantly without wasting time on paperwork.
- The data loss and duplicate entries were eliminated, and the workflow was automated.
- The system made tracking the work of field workers economical for the company and helped the company save 60-80% of its time
Less friction in adoption
- Upgrading to a new system is never frictionless. To eliminate friction in adopting the new system, we built an easy-to-use interface with an easy point-and-click task.
- The system seamlessly integrates with various third-party tools like Zapier, Suites, and Salesforce. This helped us decrease the learning curve of the system.
High availability
- We designed a modern tech stack based on AWS services. In addition, the system had a highly scalable architecture design. This was done to ensure that the system did not break down during excessive workloads.
Generate bounce reports
- The client wanted detailed email bounce reports. So our engineering team built an innovative integrated system consisting of AWS LAMBDA, AWS SNS, and AWS SQS to generate the email bounce reports.
- This also increased debugging visibility for developers, allowing them to know if there were any errors in uploading files.
Resolved the container abruptly stopping issue
- Our team migrated the containers to a managed service ECS which automatically spawns a new container if the running container stops.
Provided an easy to monitor infrastructure
- We use route 53 health check to notify and provide alarms for our production URLs. Whenever the URL goes down, Rout53 sends an email saying that your production URL is unhealthy and is not working. We are using AWS cloudwatch to monitor the metrics and for storing the logs of various AWS services used in the project.
- Overall, Route 53 Health Checks are used to monitor the health and availability of resources associated with domain names and ensure that they are responding correctly. This helps to detect and resolve issues quickly, reducing downtime and improving the reliability and availability of applications and services.
Built a highly secure multi-tenant system
- Security was a top priority for us, and we implemented strict security measures throughout the entire system. We used Amazon RDS for the database, which is a highly secure and reliable cloud-based service that encrypts data at rest and in transit. We also implemented AWS IAM for user authentication and authorization, which ensures that only authorized users can access the system.
Metrics for Success
- Built a user-friendly interface to access and manage tasks and report the status of the tasks to the admin and the customers
- Built a robust architecture that could resist spikes in traffic and was always available.
- 20+ organizations around the United States are using the MediaCentric platform.
- Built a system to generate email bounce reports
Architecture Diagram
AWS Services Used
- AWS key management service: The AWS Key Management Service (AWS KMS) is used to create and manage the cryptographic keys required for access control in the application. We have integrated AWS KMS with AWS CloudTrail to provide the logs of all key usage and monitor all activities.
- Amazon SQS: Amazon SQS works in collaboration with Amazon SNS and AWS Lambda to send the email bounce report.
- Amazon SNS: The Amazon SNS sends email notifications to the application whenever an email bounces.
- AWS Lambda: We use the AWS Lambda service to store the email bounce reports to S3.
- Amazon ECS: We integrated the Amazon ECS to make the system fail-safe. We did this because the system could not automatically restart once it failed.
- Route 53: Route 53 is configured to ensure that all the Domain URLs are working.
- Amazon Cloudwatch: The Amazon Cloudwatch service is used to store logs and help the developers debug issues fast. Cloudwatch shows metrics like percentage CPU usage and helps the developers identify a blockage in the system. An Alarm is configured in the cloud watch to let developers know when a problem arises. We use AWS Cloudwatch dashboards to monitor our transactions. This helps us fix the problems quickly whenever they arise.
- AWS CloudFront: The AWS CloudFront distribution is used with the AWS edge location to make the content globally available with a lower response time. In addition, these systems help us improve the user experience as the users get the information they want immediately.
- Application load balancer: We use an application load balancer to ensure that the workload is evenly distributed on our backend servers.
- ECS container: We use the ECS container to run the backend APIs and services.
- PostgreSQL server: The PostgreSQL server is used as a database to store all the data related to the MediaCentric application. It contains data regarding the status reports of the AV/IT equipment installation, remarks of the field-service staff and previous error reports regarding the installation.
- AWS certificate manager: We have secured the endpoint with SSL/TLS. The AWS certificate manager helps us manage security certificates like SSL and TLS. Using the AWS certificate manager, we have removed the time-consuming process of purchasing and renewing the SSL/TLS certificates.
- AWS SES: We have used this service to send emails to the end user to indicate the changes in the project.
- AWS S3: We have used this service to store all the static assets and environment variables of various server environments.