Skip to main content

Principles

Flinkwerk's vision is a world where cloud solutions can be built by everyone for everyone.

Flinkwerk's mission is to provide the best Cloud Native Computing System for developing, deploying and distributing cloud solutions in the easiest possible way.

First Principles

Flinkwerk's vision is predicated on the principle that all developers strive for success in the software economy and ecosystem.

Let's take a look at the foundational propositions of DevOps to understand the void filled by Flinkwerk. DevOps is based on these principles:

  • Software development is a collaborative effort.
  • Applications are built on top of existing software.
  • Development and operations can be assisted and automated with software.

Yet, DevOps is missing one important truth: A software endeavour is driven by monetization or merit. Developers create and run software, because they want to make a living from it or to be respected for their contribution and skills - which will increase their individual market value.

Supply and demand meet where software solves a real-life problem. If various people have a similar problem, the software can be sold to them or shared with them. The demand for software, its usefulness, gives meaning to developers and sustains their work.

This resonates with the reason why Flinkwerk adds the Biz to DevOps, which means it integrates the selling and sharing of software with DevOps. Hence, Flinkwerk completes the automation of the software lifecycle by adding the missing pieces of an integrated multi-channel distribution to development processes. We connect production, supply and demand through our customizable Cloud Native Computing System in the cloud.

Design Principles

  • Little to learn: Flinkwerk should be easy to learn and use. The CLI and configuration files should abstract away all the complexity.
  • Intuitive: Developers should not feel overwhelmed when looking at the project directory of a Flinkwerk project, because all configuration parameters should be located in just one file and directory. By extensively using convention over configuration, the configuration should look intuitive and easy to customize for your project or product.
  • Layered architecture: The separation of concerns between each layer of our stack (development/deployment/distribution, project/product) should be clear - well-abstracted and modular.
  • Sensible defaults: Common and popular performance optimizations and configurations should be done for users, but they should also be given the option to override them.
  • No vendor-lock in: All Flinkwerk infrastructure should be based on portable container technology.
  • DRY: Flinkwerk should help you to stay DRY not only with your code but also with scripts and configuration cross-project wise.