Providing services to Fortune organizations means you want your services to be top-notch themselves. That’s what led this Fortune 500 professional services company that provides strategy, consulting, digital, technology, and operations services to reach out. As a multinational organization helping many enterprise clients, the firm wanted a cloud tool like Amazon DynamoDB to centralize the data collection of client projects in the cloud, with an aim to gain visibility into global delivery while maintaining uniformity across projects, helping better ensure project success. The company also wanted to expand its cloud portfolio and sought help from an experienced AWS consulting team.
To help the professional services firm meet its goal, our AWS consulting team developed a Delivery Management application. As the application is built completely on the Serverless framework, maintenance and administrative costs are minimized. All client and project-related information are stored in Amazon DynamoDB; the NoSQL database is a popular choice for serverless applications as it features auto-scaling that matches your application load, offers pay-as-you-go pricing, automated backups, is a completely managed service, and most importantly, is a serverless offering itself. In addition, the team implemented Jenkins code pipelines, thereby enabling continuous integration and continuous delivery (CI/CD) and rapid application development. With it, the customer can now track clients and their associated projects, build workflows, notify users of steps/tasks, generate reports, and provide visibility to executives and internal/external users.
Management at the firm sought metrics around how many clients it has under management, associated projects, which of those projects had gone through a thorough review, and which employees were assigned to which projects.
Unable to provide these metrics, management was not able to ensure consistent delivery and review methodologies across projects. Hence, the customer sought out a solution that could consolidate this data for the AWS projects running throughout the company.
The multinational firm wanted a serverless framework due to the immense benefits the framework offers. Specifically, in building an application that could track all its AWS projects, the serverless options presented by AWS were a natural fit due to their maturity; AWS also directly addresses security, scalability, availability, reliability, performance and other architectural concerns in its serverless offerings. Moreover, as the Delivery Management application is built completely on the AWS Serverless framework, DynamoDB was a good choice as its a NoSQL database and completely a managed service. With their deep AWS and serverless experience, the team was able to design and deploy the serverless application this customer needed within its timeline in the AWS cloud.
Designing a Data Model for Customer Success
Keeping the anticipated querying behaviors and access patterns of the users in mind, the AWS consulting team designed a data model. Using DynamoDB as efficiently as possible, the team aimed to have a single table and individual items for each client, project, and workflow. To accomplish this, they used unique client IDs as our primary key and item type with unique IDs for projects and workflows as our sort key, consistently resulting in a unique composite key. The team then created Global Secondary Index with a different partition key and sort key to get a completely different view of the data. For example, Partition Key: project-name; Sort Key: location; Access Pattern: Get projects by name and order by location. This ensured a more homogenous data distribution in the table.
See the data model design with sample items in Figure One below.