CloudTruth is a startup dedicated to managing configuration data across various cloud platforms, including Kubernetes, Terraform, AWS Secrets Manager, AWS Parameter Store, GitHub, and more. The primary goal is to empower users to execute seamless deployments.

The Challenge

Consolidate and organize configuration data from multiple sources into a single platform where users can manage their parameters across their environments for deployments. Prior research showed teams spent a significant amount of time resolving deployment issues due to simple parameter errors or bigger secret sharing issues.

How might we help developers run smooth deployments?

The Solution

I designed a desktop web application that enables users to integrate their configuration tools, allowing them to manage their environments, parameters, and secrets from a single source. Users can view their data usage and seamlessly push configuration changes across tools and environments. Once the product was developed, our team successfully utilized it for our own deployments.

Research

Going into this project, I did not have experience with cloud configuration management. The team wanted someone who could simplify a complex network of information into an intuitive user experience.

Through several interviews and journey mapping exercises, I concluded that each piece of data has its own storyline, almost like a parameter’s family history. I learned about inheritance patterns, secrets management, and the risks associated with mismanaged configuration data.

Findings

The family history concept proved particularly significant for environment management. Users struggled to understand what data was being brought into their working environments and where it came from.

Understanding the origin of data and having the ability to view it in one place reduced the time spent switching between tools. Research and personal experience from my teammates indicated that deploying errors or sensitive information to inappropriate locations often led to application downtime while issues were resolved.

How the findings were addressed

I designed a family tree-style visualization that allows users to reference and manage their environments. I also created “profiles” for individual parameters, enabling users to verify and update parameter information as needed across different environments from a single location.

  • What's familiar?

    Users were comfortable seeing lists similar to a file trees you would see when navigating files on your computer.

  • What's possible?

    When asked, users wanted to see it all. What environment are you looking at, who’s the parent and children of the environment, and what parameters are being used?

  • What's feasible?

    By giving the user everything they wanted on the previous screen it greatly impacted the user’s ability to focus on a specific task.

Usability Testing

A major caveat to the user research and usability testing was that I aimed to find participants who could provide unbiased feedback; however, in this case, the team was my only resource. Our feedback was closely tied to investor funding—if we demonstrated progress toward a profitable product, funding would continue. With that context in mind, here are the key takeaways.

CLARITY IS CRUCIAL

Environment management and the inheritance patterns of configuration data can become complex. It was essential to clearly surface the inheritance patterns for individual parameters and specify which environment the user was working in.

RISKS NEED TO BE KNOWN

A single change can have significant repercussions. When users interacted with a parameter, it was vital to communicate the potential "blast radius" of that change. Additionally, it was important to allow users to revert changes with minimal friction while still conveying the significance of their actions.

Iterations

Depending on the detail provided in the requirements, my iteration process begins with a rough framework for workflows and layouts. As the requirements become clearer, the fidelity and refinements also become clearer. Below I used the template feature to highlight the iteration process

  • Gray scale mockup

  • Combined list and template builder feature

  • Template view and editor

  • Template list

Conclusion & Impact

The final product enabled users to integrate and manage configuration data across AWS Secrets Manager, AWS Parameter Store, GitHub, Kubernetes, and Terraform. I also designed features where users could create projects within CloudTruth and build configuration templates, which significantly expedited the time required to spin up new environments. My work helped receive an additional round of funding.

Reflection

I am grateful for my patient teammates who took the time to teach me about cloud configuration—not enough to be a DevOps expert, but just enough to solve the problem at hand.

While we had anecdotal evidence for the following scenarios, we did not conduct repeatable tests that would provide concrete metrics for these use cases.

What I would do differently

For this project I would implement more repeatable tests to establish precise metrics for the product's efficiency. I would have focus on three key areas:

Optimizing user workflows for setting up integrations is crucial, as this could be seen as a daunting task for potential customers.

INTEGRATION SETUP

Measuring standard deployments versus those using CloudTruth, as this is the primary business case for the product.

SUCCESSFUL DEPLOYMENT RATES

Evaluating the time taken to change a single parameter across environments, both with and without CloudTruth.

SINGLE PARAMETER CHANGES
Next
Next

MIRS