Eduardo Hernacki

Essential Tools and Practices for Effective IT Platforms

Introduction

This is an ongoing and non-exhaustive list of tools every platform should provide to its internal users, and of practices that every technical organization should consider adopting.

These considerations are opinionated, but are the result of my experience in leading and enabling technical teams while conveying the insights and expected outcomes to executive and non-technical teams.

Essential Tools

Password Manager

Password managers are the absolutely minimal baseline for security, as they are like having a secure digital vault that does all the heavy lifting in terms of setting complex and secure passwords and avoiding password reuse in multiple accounts. Despite being called “password” managers, they are really “secret” managers, and can (and should) be used to store critical secrets like SSH keys, TLS Certificate Keys, API Tokens, etc.

Not all password managers are the same, thus you may need to consider the following requirements:

Solutions I have used that meet these requirements are:

Essential Practices

Product Teams should have end-to-end ownership of their application(s) lifecycle

This includes owning their code, databases, monitoring, patching and infrastructure.

The role of the Platform Team is to educate, enable and provide paved ways for teams to be more productive while keeping their capability to independently decide how they will solve these problems.

Should Product Teams need or choose to deviate from these paved ways, they must take the responsibility for and demonstrate maturity in relation to concerns that the Platform already addresses, e.g. infrastructure costs, security, observability and so forth. By doing this the Platform Teams therefore don’t fall into the common trap of being overwhelmed by the amount of things they need to maintain, while not being a blocker for innovation coming from Product Teams. It is also common that other Product Teams may benefit from such “deviations”, meaning that these are naturally added to the paved ways supported by the Platform Team.

Optimize resources around Teams

Teams should be considered as the minimal unit of value delivery, therefore all concerns regarding code repositories, infrastructure, continuous integration and deployment should take this into account. The Platform Team must adjust its own internal services and approach to meet these needs, rather than assuming it knows what’s right for the Product Teams.

In practice, this can be defined as having:

This enforces that teams collaborate by setting clear boundaries in the form of APIs (be it via software or via formalities), which is more productive for everyone.

#Practices #Tools