diff --git a/content/en/docs/project/onboarding/cnoe-showtime/_index.md b/content/en/docs/project/onboarding/cnoe-showtime/_index.md index 2fc5b77..4c28856 100644 --- a/content/en/docs/project/onboarding/cnoe-showtime/_index.md +++ b/content/en/docs/project/onboarding/cnoe-showtime/_index.md @@ -3,91 +3,43 @@ title: CNOE Showtime weight: 50 --- - - -## Project context - -## Platforms - {{% pageinfo color="info" %}} -Since 2010 we have DevOps. This brings increasing delivery speed and efficiency at scale. -Next we got high cognitive loads for developers. -So we need on top of DevOps an instrumentation to ensure and enforce speed, quality, security in modern, cloud native software development. +## Summary + +CNOE is a 'Platform Engineering Framework' (Danger: Our wording!) - it is open source and locally runnable. + +It consists of the orchestrator 'idpbuilder' and both of some predefined building blocks and also some predefined platform configurations. + {{% /pageinfo %}} -## History +## Orchestrator 'idpbuilder' -https://platformengineering.org/blog/the-story-of-platform-engineering +The orchestrator in CNOE is called 'idpbuilder'. It is [locally installable binary](https://cnoe.io/docs/reference-implementation/installations/idpbuilder/quick-start) -![alt text](image-1.png) +A typipcal first setup ist described here: https://cnoe.io/docs/reference-implementation/technology -https://martinfowler.com/articles/talk-about-platforms.html +```bash +# this is a local linux shell -https://developers.redhat.com/articles/2024/05/06/what-platform-engineering-and-why-do-we-need-it#why_we_need_platform_engineering +# check local installation +type idpbuilder +idpbuilder is /usr/local/bin/idpbuilder -https://orkohunter.net/blog/a-brief-history-of-platform-engineering +# check version +idpbuilder version +idpbuilder 0.8.0-nightly.20240914 go1.22.7 linux/amd64 -https://softwareengineeringdaily.com/2020/02/13/setting-the-stage-for-platform-engineering/ +# run +$idpbuilder create --use-path-routing --log-level debug --package-dir https://github.com/cnoe-io/stacks//ref-implementation +``` +## Show time steps -### DevOps, Cloud Native, and the Rise of Platform Engineering +tbc -https://www.linkedin.com/pulse/evolution-platform-engineering-gaurav-goel - - -## CNCF Working group / White paper - ---> porfolio - - -### Platform definition / essence - - -https://medium.com/@bijit211987/what-is-platform-engineering-and-how-it-reduce-cognitive-load-on-developers-ac7805603925 - -#### Ontology: What is 'Platform' (Digital Platform) --> Fowler / Thoughtworks - -https://martinfowler.com/articles/talk-about-platforms.html - -##### What is a 'Platform' anyway? - -> Words are hard, it seems. ‘Platform’ is just about the most ambiguous term we could use for an approach that is super-important for increasing delivery speed and efficiency at scale. Hence the title of this article, here is what I’ve been talking about most recently. -\ -Definitions for software and hardware platforms abound, generally describing an operating environment upon which applications can execute and which provides reusable capabilities such as file systems and security. -\ -Zooming out, at an organisational level a ‘digital platform’ has similar characteristics - an operating environment which teams can build upon to deliver product features to customers more quickly, supported by reusable capabilities. -\ -A digital platform is a foundation of self-service APIs, tools, services, knowledge and support which are arranged as a compelling internal product. Autonomous delivery teams can make use of the platform to deliver product features at a higher pace, with reduced co-ordination. - -#### myths :-) - -https://cloud.google.com/blog/products/application-development/common-myths-about-platform-engineering?hl=en - - -### Platform Teams - -https://platformengineering.org/blog/how-to-build-your-platform-engineering-team - -#### in comparison: devops vs sre vs platform - -https://www.qovery.com/blog/devops-vs-platform-engineering-is-there-a-difference/ - -![alt text](image.png) - -## Internal Developer Platforms - ---> portfolio cont'd - -## Platform Orchestrator - ---> dynamic configuration - -Humanitec, massdriver, CNOE, Kratix, ... (?) ... - -## Reference Architecture - -## Developer Framework Architecture - -## Developer Framework Project Epics & Use Cases +{{% pageinfo color="info" %}} +### What comes next? +[Last not least](../conclusio/) we want to sum up the whole way from Devops to 'Frameworking' (is this the correct wording???) +{{% /pageinfo %}} diff --git a/content/en/docs/project/onboarding/cnoe/_index.md b/content/en/docs/project/onboarding/cnoe/_index.md index ec610c1..d70ab72 100644 --- a/content/en/docs/project/onboarding/cnoe/_index.md +++ b/content/en/docs/project/onboarding/cnoe/_index.md @@ -3,91 +3,58 @@ title: CNOE weight: 20 --- - - -## Project context - -## Platforms - {{% pageinfo color="info" %}} -Since 2010 we have DevOps. This brings increasing delivery speed and efficiency at scale. -Next we got high cognitive loads for developers. -So we need on top of DevOps an instrumentation to ensure and enforce speed, quality, security in modern, cloud native software development. +## Summary + +In late 2023 platform orchestration raised - the discipline of declarativley dinfing, building, orchestarting and reconciling building blocks of (digital) platforms. + +The famost one ist the platfrom orchestrator from Humanitec. They provide lots of concepts and access, also open sourced tools and schemas. But they do not have open sourced the ocheastartor itself. + +Thus we were looking for open source means for platform orchestrating and found [CNOE](https://cnoe.io). {{% /pageinfo %}} +## Requirements for an Orchestrator -## History +When we want to set up a [complete platform](../platforming/platforms-def.drawio.png) we expect to have +* a **schema** which defines the platform, its ressources and internal behaviour +* a **dynamic configuration or templating mechanism** to provide a concrete specification of a platform +* a **deployment mechanism** to deploy and reconcile the platform -https://platformengineering.org/blog/the-story-of-platform-engineering +This is what [CNOE delivers](https://cnoe.io/docs/intro/approach): -![alt text](image-1.png) +> For seamless transition into a CNOE-compliant delivery pipeline, CNOE will aim at delivering **"packaging specifications"**, **"templating mechanisms"**, as well as **"deployer technologies"**, an example of which is enabled via the idpBuilder tool we have released. The combination of templates, specifications, and deployers allow for bundling and then unpacking of CNOE recommended tools into **a user's DevOps environment**. This enables teams to share and deliver components that are deemed to be the best tools for the job. -https://martinfowler.com/articles/talk-about-platforms.html +## CNOE (capabilities) architecture -https://developers.redhat.com/articles/2024/05/06/what-platform-engineering-and-why-do-we-need-it#why_we_need_platform_engineering +### Architecture -https://orkohunter.net/blog/a-brief-history-of-platform-engineering +CNOE architecture looks a bit different than the reference architecture from Humanitec, but this just a matter of details and arrangement: -https://softwareengineeringdaily.com/2020/02/13/setting-the-stage-for-platform-engineering/ +> Hint: **This has to be further investigated!** This is subject to an Epic. + +https://cnoe.io/ + +### Capabilities + +You have a [definition of all the capabilities here](https://cnoe.io/docs/category/technology-capabilities): + +> Hint: **This has to be further investigated!** This is subject to an Epic. + +https://cnoe.io/docs/category/technology-capabilities + +## Stacks + +CNOE calls the [schema and templating mechnanism 'stacks'](https://github.com/cnoe-io/stacks): + +> Hint: **This has to be further investigated!** This is subject to an Epic. + +There are already some example stacks: + + -### DevOps, Cloud Native, and the Rise of Platform Engineering - -https://www.linkedin.com/pulse/evolution-platform-engineering-gaurav-goel - - -## CNCF Working group / White paper - ---> porfolio - - -### Platform definition / essence - - -https://medium.com/@bijit211987/what-is-platform-engineering-and-how-it-reduce-cognitive-load-on-developers-ac7805603925 - -#### Ontology: What is 'Platform' (Digital Platform) --> Fowler / Thoughtworks - -https://martinfowler.com/articles/talk-about-platforms.html - -##### What is a 'Platform' anyway? - -> Words are hard, it seems. ‘Platform’ is just about the most ambiguous term we could use for an approach that is super-important for increasing delivery speed and efficiency at scale. Hence the title of this article, here is what I’ve been talking about most recently. -\ -Definitions for software and hardware platforms abound, generally describing an operating environment upon which applications can execute and which provides reusable capabilities such as file systems and security. -\ -Zooming out, at an organisational level a ‘digital platform’ has similar characteristics - an operating environment which teams can build upon to deliver product features to customers more quickly, supported by reusable capabilities. -\ -A digital platform is a foundation of self-service APIs, tools, services, knowledge and support which are arranged as a compelling internal product. Autonomous delivery teams can make use of the platform to deliver product features at a higher pace, with reduced co-ordination. - -#### myths :-) - -https://cloud.google.com/blog/products/application-development/common-myths-about-platform-engineering?hl=en - - -### Platform Teams - -https://platformengineering.org/blog/how-to-build-your-platform-engineering-team - -#### in comparison: devops vs sre vs platform - -https://www.qovery.com/blog/devops-vs-platform-engineering-is-there-a-difference/ - -![alt text](image.png) - -## Internal Developer Platforms - ---> portfolio cont'd - -## Platform Orchestrator - ---> dynamic configuration - -Humanitec, massdriver, CNOE, Kratix, ... (?) ... - -## Reference Architecture - -## Developer Framework Architecture - -## Developer Framework Project Epics & Use Cases +{{% pageinfo color="info" %}} +### What comes next? +[Next](../cnoe-showtime/) we'll see how a CNOE stacked Internal Developer Platform is deployed on you local laptop! +{{% /pageinfo %}} diff --git a/content/en/docs/project/onboarding/cnoe/cnoe-architecture.png b/content/en/docs/project/onboarding/cnoe/cnoe-architecture.png new file mode 100644 index 0000000..444c3b7 Binary files /dev/null and b/content/en/docs/project/onboarding/cnoe/cnoe-architecture.png differ diff --git a/content/en/docs/project/onboarding/cnoe/cnoe-capabilities.png b/content/en/docs/project/onboarding/cnoe/cnoe-capabilities.png new file mode 100644 index 0000000..573d9b4 Binary files /dev/null and b/content/en/docs/project/onboarding/cnoe/cnoe-capabilities.png differ diff --git a/content/en/docs/project/onboarding/cnoe/cnoe-stacks.png b/content/en/docs/project/onboarding/cnoe/cnoe-stacks.png new file mode 100644 index 0000000..0bf3871 Binary files /dev/null and b/content/en/docs/project/onboarding/cnoe/cnoe-stacks.png differ diff --git a/content/en/docs/project/onboarding/conclusio/_index.md b/content/en/docs/project/onboarding/conclusio/_index.md index 9405f96..92ca9e7 100644 --- a/content/en/docs/project/onboarding/conclusio/_index.md +++ b/content/en/docs/project/onboarding/conclusio/_index.md @@ -3,6 +3,14 @@ title: Conclusio weight: 100 --- +{{% pageinfo color="info" %}} +## Summary + +In the project 'Edge Developer Framework' we start with DevOps, set platforms on top to automate golden paths, and finally set 'frameworks' (aka Orchestrators') on top to have declarative,automated and reconcilable platforms. + +{{% /pageinfo %}} + + ## From Devops over Platform to Framework Engineering We come along from a quite well known, but already complex discipline called 'Platform Engineering', which is the next level devops. diff --git a/content/en/docs/project/onboarding/edgel-developer-framework/_index.md b/content/en/docs/project/onboarding/edgel-developer-framework/_index.md index 98406d7..e6cf70b 100644 --- a/content/en/docs/project/onboarding/edgel-developer-framework/_index.md +++ b/content/en/docs/project/onboarding/edgel-developer-framework/_index.md @@ -6,7 +6,10 @@ weight: 1 {{% pageinfo color="info" %}} ## Summary -tbd +The 'Edge Developer Framework' is both the project and the product we are working for. Out of the leading 'Portfolio Document' +we derive requirements which are ought to be fulfilled by Platform Engineering. + +**This is our claim!** {{% /pageinfo %}} @@ -19,7 +22,7 @@ tbd e. Development of DTAG/TSI Edge Developer Framework -* Goal: All developed innovations must be accessible to developer communities in a highly user-friendly and easy way +* Goal: All developed innovations must be accessible to developer communities in a **highly user-friendly and easy way** ### Development of DTAG/TSI Edge Developer Framework (p.14) | capability | major novelties ||| @@ -30,9 +33,9 @@ e. Development of DTAG/TSI Edge Developer Framework ### DTAG objectives & contributions (p.27) -DTAG will also focus on developing an easy-to-use Edge Developer framework for software -developers to manage the whole lifecycle of edge applications, i.e. for day-0-, day-1- and up to day-2- -operations. With this DTAG will strongly enable the ecosystem building for the entire IPCEI-CIS edge to +DTAG will also focus on developing an easy-to-use **Edge Developer framework for software +developers** to **manage the whole lifecycle of edge applications**, i.e. for **day-0-, day-1- and up to day-2- +operations**. With this DTAG will strongly enable the ecosystem building for the entire IPCEI-CIS edge to cloud continuum and ensure openness and accessibility for anyone or any company to make use and further build on the edge to cloud continuum. Providing the use of the tool framework via an open-source approach will further reduce entry barriers and enhance the openness and accessibility for anyone or any organization (see innovations e.). @@ -41,6 +44,12 @@ any organization (see innovations e.). e.1 Edge developer full-service framework -This tool set and related best practices and guidelines will adapt, enhance and further innovate DevOps principles and +This tool set and related best practices and guidelines will **adapt, enhance and further innovate DevOps principles** and their related, necessary supporting technologies according to the specific requirements and constraints associated with edge or edge cloud development, in order to keep the healthy and balanced innovation path on both sides, -the (software) development side and the operations side in the field of DevOps. \ No newline at end of file +the (software) development side and the operations side in the field of DevOps. + +{{% pageinfo color="info" %}} +### What comes next? + +[Next](../platforming/) we'll see how these requirements seem to be fulfilled by platforms! +{{% /pageinfo %}} diff --git a/content/en/docs/project/onboarding/orchestrators/_index.md b/content/en/docs/project/onboarding/orchestrators/_index.md index 78303c9..2a2ff8e 100644 --- a/content/en/docs/project/onboarding/orchestrators/_index.md +++ b/content/en/docs/project/onboarding/orchestrators/_index.md @@ -3,6 +3,16 @@ title: Orchestrators weight: 10 --- +{{% pageinfo color="info" %}} +## Summary + +When defining and setting up platforms next two intrinsic problems arise: +1. it is not declarative and automated +2. it is not or least not easily changable + +Thus the technology of 'Platform Orchestrating' emerged recently, in late 2023. + +{{% /pageinfo %}} ## Platform reference architecture @@ -24,13 +34,15 @@ https://humanitec.com/reference-architectures > Hint: There is a [slides tool provided by McKinsey](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) to set up your own platform deign based on the reference architecture + +{{% pageinfo color="info" %}} ### What comes next? -[Next](../cnoe/) we'll see how we are going to do platform orchestration! +[Next](../cnoe/) we'll see how we are going to do platform orchestration with CNOE! +{{% /pageinfo %}} ## Addendum - ## Building blocks from Humanitecs 'state-of-platform-engineering-report-volume-2' You remember the [capability mappings from the time before orchestration](../platforming)? Here we have a [similar setup based on Humanitecs platform engineering status ewhite paper](https://humanitec.com/whitepapers/state-of-platform-engineering-report-volume-2): diff --git a/content/en/docs/project/onboarding/platforming/_index.md b/content/en/docs/project/onboarding/platforming/_index.md index f43d16b..8dca70e 100644 --- a/content/en/docs/project/onboarding/platforming/_index.md +++ b/content/en/docs/project/onboarding/platforming/_index.md @@ -75,10 +75,12 @@ Build or buy - this is also in pltaform engineering a tweaked discussion, which [internaldeveloperplatform.org[(https://internaldeveloperplatform.org/platform-tooling/) + +{{% pageinfo color="info" %}} ### What comes next? [Next](../orchestrators/) we'll see how these concepts got structured! - +{{% /pageinfo %}} ## Addendum