Lessons learned, tips and documentation provided by the Humanitec team.
There is an emerging category of tools to boost developer productivity and to relieve pressure on ops: Internal Developer Platforms (IDPs). But how do they actually work? And what are their core components? This article will give a detailed overview and specific use cases.
Leading tech organizations build Internal Platform teams to ensure end-to-end developer self-service. Platform teams build internal workflows and tooling, such as Internal Developer Platforms (IDPs), to ensure application developers are shielded from the evolving complexities of the underlying infrastructure. They create a smooth development and deployment experience for everyone involved.
Humanitec has collected a lot of data from engineering teams about their DevOps setup. Our analysis provides insights into the tooling most teams use, how they approach application configuration management and infrastructure configuration management, which DevOps metrics they measure and what we can learn from these metrics, or what’s the level of containerization in most teams?
GitOps takes familiar tools such as Git and Continuous Delivery pipelines to automate infrastructure. The GitOps approach is vendor-neutral, provides a clear history of changes, and allows you to reproduce or roll back deployments. Yet, we can't ignore the problems with this approach: Proliferation of repositories, no help for secrets management, or simultaneous file writes. Let's explore.
Recently, everybody is talking about GitOps. The content you'll find is very optimistic about the GitOps paradigm. Yet, I've seen how Ops teams become increasingly frustrated when trying to scale alongside the GitOps approach. This article explains using statistical analysis how and why the satisfaction of choosing for GitOps decreases with a growing number of YAML files and microservices.
An Internal Developer Platform consists of five core components. Application Configuration Management and Infrastructure Orchestration allow developers to independently spin up fully-provisioned environments. Moreover, developers can deploy workloads and connect the required dependencies automatically. Lastly, RBAC provides Ops teams with fine-grained access control over their organization.
Having the means to measure and assess the effectiveness of your DevOps strategy is critical to achieving and surpassing your goals. We take a look at the benefits of monitoring deployment frequency and why top-performing companies identify frequent deployment as a measure of success.
The DevOps approach has become increasingly complex. This puts more pressure on your Ops teams. Elite teams at companies such as Github, Airbnb, and Spotify realized that this way of interpreting the paradigm increases developers' cognitive load and decreases team velocity. Therefore, these teams started building Internal Developer Platforms (IDPs) to relieve pressure. But what is an IDP?
Many of you have probably read countless technical articles about scaling application infrastructure and capacity with Kubernetes. This is not one of those posts. Rather, it looks at how and when to implement Kubernetes when your team or the demands on your team grow rapidly.
We saw hundreds of platform setups of teams around the world last year. Surprisingly, often those teams operated multi-cloud setups. Multi-cloud is a horrible idea in 90% of cases but we found exceptions. This article covers the reasons and how winning teams prepare for the everyday hustle of multi-cloud setups.
In this article I will focus on a topic widely debated by people who design engineering workflows between Ops and developers: Is there a systematic approach that can balance the maintainability of the system, the velocity at which features get shipped and the freedom of the developers?
Taking a brutally honest look under the hood of your company is critical if you want to succeed in DevOps. But how do you assess your DevOps setup and evaluate your DevOps maturity? Humanitec’s CEO, Kaspar von Grünberg, shares the 13 key attributes you need to evaluate your DevOps maturity.
Software engineering involves an understanding of architecture, abstractions and implementation details. Determining what knowledge is intrinsic to a team member’s role and what is outside of their scope is critical to reduce the strain on their cognitive load. Internal Developer Platforms provide a way to compartmentalize complexity, and enable people to focus on what’s critical to their role.
An Internal Developer Platform (IDP) is an essential step for rapidly scaling companies to keep their developers working productively and happily. In this roundtable discussion we speak with Jason Warner, the current CTO of GitHub and previous VP of Engineering for Heroku about how IDPs help teams of that scale build efficiently.
German broadcaster Sport1 realized they were spending too much time grappling with an outdated deployment process, they decided it was time to build their own flexible Internal Developer Platform. Find out how it changed their development process in our roundtable with Paolo Garri, the director of technology.
There is a fundamental design flaw with Helm, leading to dramatic long-term consequences and you have to solve this now.
In this article, we detail the key topics that featured in a recent roundtable discussion into the role of Kubernetes and DevOps in enterprise: understanding key principles, organisational buy-in, level of difficulty and where Kubernetes sits in terms of future innovation.
A major bug urgently needs fixing in Production, but QA is impossible because Staging is ahead of Prod. This blog post will detail how to clone your Production environment to allow immediate testing before hot-fixing Production.
We attended the recent Devops Enterprise (virtual) summit. Here we detail some of the key presentations covered: a look back at Team Topologies by its authors, the importance of psychological safety, and the challenges of operations teams in DevOps.
An Internal Developer Platform (IDP) is an essential step for rapidly scaling companies to keep their developers working productively and happily. In this roundtable discussion we speak with Jan Löffler who helped build Zalando’s IDP about the problems they were trying to solve and the steps they took.
Your Kubernetes configuration represents environments that are a fundamental part of your application, unyet we generally treat them as less important from our application code. In this post we look at best practices for managing changes to configuration, and how to treat it the way it deserves.
We are proud to announce that Humanitec has become an official technology partner of CircleCI and their Orb program. CircleCI users can now seamlessly integrate their CircleCI build pipeline with Humanitec’s workflows. Using Humanitec’s Orb, they can build and push new images to Humanitec and improve the maintenance of their Kubernetes-ready applications after every CircleCI build.
In this article by Nils Balkow Tychsen, Lead Q&A Engineer at Humanitec, you will learn some use cases for sandboxed environments such as parallel feature development, parallel testing of feature flags, and parallel testing of microservice versions in different combinations.
A good developer experience is crucial to keep developer teams productive, happy, and focussed on work important to your business aims. In this first roundtable, we get the opinions and experiences from two experts in the field: Nigel Simpson, Director, Enterprise Tech Strategy at a Fortune 100 company, and Erik Muttersbach, CTO at forto (formerly FreightHub), a Berlin logistics startup.
We take a look at some of the presentations from the recent DevOps Enterprise Summit London: Thomas Limoncelli explores the importance of a low context culture and documentation; Daniel Maher shares his experience of how the SRE role relates to DevOps, and Matthew Skelton and Manuel Pais walk through some of the fundamentals of Team Topologies in practice with a range of business case studies.
In this article, we look at ephemeral testing environments, small, discrete, and short-lived testing environments that reflect only the changes you are interested in testing.
Why does everything always take so long? Most of us ask ourselves this question every day. In this article Humanitec’s CEO Kaspar von Grünberg shares some thoughts about developer productivity and how to improve it. 7 points about your DevOps workflow you should definitely keep in mind!
Continuous delivery helps software development teams get their code changes from development to testing, and into the hands of users more quickly. In this post, Chris Ward looks at the benefits and best practices for implementing this practice into your teams.
How to manage environment variables? Read the full interview with DevOps Engineer Antoine Rougeot about the fear to break things, teams struggling with Microservice setups, and some hot tips.
Lead time is a critical metric to enable a company to improve its speed of deployment. We take a deep dive into how lead time differs across organizations, how it can be improved and where it fits into the greater context of improving business outcomes.
Environment variables are a common way for developers to move application and infrastructure configuration into an external source outside of application code. This post shows you the variety of ways Kuberentes helps you create and manage environment variables within kubernetes.
In this article Christoph Richter, COO at Humanitec, shares insights about the potential of environment variables. Storing configurations in the environment is important if your team wants to use container-based applications, or continuous delivery as effectively as possible.
Having a means to measure and assess the effectiveness of your DevOps strategy is a critical key to achieving and surpassing your goals. We take a look at four key metrics that can enable you to measure the effectiveness of your strategies and the progress of your team.
Despite sounding similar, continuous integration, delivery, and deployment are subtly different from each other. While they have overlap, they are applicable and useful at different stages of the development process. In this post, we look at what the different terms mean, what benefits they bring to you and your team, and what you need to get started implementing the practice.
Increasing numbers of services in a cluster can quickly lead to versioning dependency hell. Learning how to manage those environments properly will save users from problems when testing.
Before you can make the most of your Kubernetes environment, you need to understand some basics. This includes understanding what an environment is, why you need more than one, the common cluster challenges that many developers face, and the basics of managing a Kubernetes environment.