This document provides a high-level view on our product roadmap for this and upcoming quarters.

It is divided up into things we are currently working on Now, what we’ll be looking at Next and things we will be looking into at a Later point in time.

What we’re working on now

Versioned resource definitions

Resource definitions are changed over time as part of general maintenance or development of an Internal Developer Platform, involving modifications such as updating the version of a resource that is provisioned for example. The storage of versions for updated or deleted resource definitions allows to track the version of a resource definition in use for a specific deployment or the option to regenerate a previous resource graph in case of a required roll back, offering more granular control when it comes to managing resources with Humanitec.

Catalogue of resource types & classes

Platform Teams commonly provide multiple variants, or “flavors,” of the same resource type, such as “internal” or “external” versions of DNS resources. A catalog of resource types and the associated resource classes allows descriptions to be associated with types and classes. The resource class descriptions and which types they can be used with can be maintained by the Platform team.

What we’re working on next

Incremental rollout for resource definitions changes

Resources often require maintenance work once they are active, ranging from simple security patches to complex network refactoring. Today, platform teams needing to roll out changes need to manage granular matching criteria on their target resource definition until all active resources have been updated. This feature aims to allow Platform Teams rolling out changes to do so on an active resource by active resource basis without having to update fine grained matching criteria. This will give both Development and Platform teams greater control and visibility on how changes to active resources are rolled out.

Finer grained RBAC

The best practice in managing access control is the “Principle Of Least Privilege” (POLP). The idea is that any user of a system should only have the minimum set of permissions necessary to get their job done. We plan on extending the RBAC system of the Platform Orchestrator to better fit users jobs and make following POLP easier.

What we’ll be looking at later

Fleet management

Larger deployments of Humanitec use organizations as tenants to manage independent teams. For example, different Product groups within a company might each have their own individual Humanitec Organization. This becomes difficult for Platform Teams to manage as they need to stay on top of multiple Humanitec Organizations. Fleet Management is a series of tools for Platform Teams to manage multiple Humanitec Organizations centrally. This allows them to do things keep base configurations consistent or roll out updates to infrastructure in a controlled and managed way.

Canary deployment strategy

The Canary deployment strategy is a popular way of performing zero-downtime deployments. It involved deploying new services and routing a very small slice of traffic to test it. Live traffic is slowly transitioning across to the new services while monitoring them. At the same time, the old services are scaled-down and the new services are scaled up. This continues until all the traffic is running on the new services. This strategy can be considered more sophisticated than “rolling update” and “blue/green” strategies. It also requires the application to be architected such that it is possible to reliably split traffic between 2 versions of the same service without causing errors to end-users.

Debug flow tools

As applications become more complex, it is harder to run the full application locally on the developer’s laptop. Moving development environments into the cloud solves that problem but makes it very hard to debug services under development. Humanitec is investigating a range of technical fixes to help developers bridge the gap between the local machine and the cloud.

Team performance monitoring

Humanitec is sitting on a large amount of data and so has the potential to provide valuable insights about team performance. It would be relatively straightforward to measure time from “commit to production” for example.