Why devfiles?

Modern applications contain multiple components, each having a variety of technologies. Therefore, developers spend significant time configuring an environment, maintaining it, and switching among projects or branches. As a result, developers are spending a lot of their time getting a developer environment properly configured, maintaining it and switching between projects or branches. What if developer environments were treated in a declarative fashion similarly to how infrastructure is treated in DevOps, to become easily reproducible, versioned and shareable? With devfiles, you define best practices for your application development lifecycle. You define these best practices as code, making it easy for you and your collaborators to contribute to projects and maintain consistency across different teams.

Make development environments easily reproducible

Development environments can be cumbersome to create, and as a result developers become locked into a single local configuration to avoid requirements becoming mixed up or interfering with each other. With devfiles, development environments become reproducible and disposable - they are now quick to create, can be thrown away at will, and can easily be re-created when needed.

Improve development consistency across teams and projects

Who has not heard the famous “but it works on my machine”! It can be challenging to chase down problems when your development environment is drastically different from your production environment. Devfiles provide a mechanism for teams to share configurations across projects, and provide a single source of truth throughout the application lifecycle. Check them in and manage them into your source repository.

Reduce security risks and maintenance costs

With so many layers and dependencies of today’s modern applications, security and maintenance can be both complicated and difficult. Since devfiles can be managed from a central location, you only need to update them once to get them properly aligned across the developer teams. Following security requirements and dependency versions gets simpler and more consistent with minimum disruption.

Accelerate developer onboarding and leverage expertise of the community

Modern applications use many different technologies, run times, frameworks and tools can make it challenging to understand all the available options to code, build, test, debug, deploy and update your applications. Devfiles allow you to inject expertise shared from other developers and communities into your team's development environment. Codifying configuration and best practice workflows helps lessen the requirement on every developer in your organization to understand how to manage and configure all these layers themselves.

Key Features

with devfiles