doc(platform-engineering): WiP .... added first content for ference architectures

This commit is contained in:
Stephan Lo 2024-07-30 13:29:13 +02:00
parent 98f64bbc84
commit 0230333c3f
23 changed files with 790 additions and 90 deletions

View file

@ -3,4 +3,5 @@ archetype = "home"
title = ""
+++
This is a new home page.

View file

@ -0,0 +1,50 @@
+++
archetype = "chapter"
title = "Platform Engineering"
weight = 1
[params]
author = 'stephan.lo@telekom.de'
date = '2024-07-30'
+++
## Rationale
IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.
In CNCF the discipline of building stacks to enhance the developer experience is called 'Platform Engineering'
## [CNCF Platforms White Paper](https://tag-app-delivery.cncf.io/whitepapers/platforms/)
CNVF first asks why we need platform engineering:
> The desire to refocus delivery teams on their core focus and reduce duplication of effort across the organisation has motivated enterprises to implement platforms for cloud-native computing. By investing in platforms, enterprises can:
> * Reduce the cognitive load on product teams and thereby accelerate product development and delivery
> * Improve reliability and resiliency of products relying on platform capabilities by dedicating experts to configure and manage them
> * Accelerate product development and delivery by reusing and sharing platform tools and knowledge across many teams in an enterprise
> * Reduce risk of security, regulatory and functional issues in products and services by governing platform capabilities and the users, tools and processes surrounding them
> * Enable cost-effective and productive use of services from public clouds and other managed offerings by enabling delegation of implementations to those providers while maintaining control over user experience
## [platformengineering.org's Definition of Platform Engineering](https://platformengineering.org/blog/what-is-platform-engineering)
> Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.
## Internal Developer Platform
> In IPCEI-CIS right now (July 2024) we are primarily interested in understanding how IDPs are built as one option to implement an IDP is to build it ourselves.
The outcome of the Platform Engineering discipline is - created by the platform engineering team - a so called 'Internal Developer Platform'.
One of the first sites focusing on this discipline was [internaldeveloperplatform.org](https://internaldeveloperplatform.org/)
## Examples of existing IDPs
The amount of available IDPs as product is rapidly growing.
[TODO] LIST OF IDPs
* [internaldeveloperplatform.org - 'Ecosystem'](https://internaldeveloperplatform.org/)
* Typical market overview: https://medium.com/@rphilogene/10-best-internal-developer-portals-to-consider-in-2023-c780fbf8ab12
* Another one: https://www.qovery.com/blog/10-best-internal-developer-platforms-to-consider-in-2023/
* Just found as another example: [platformplane](https://www.platformplane.com/)

View file

@ -0,0 +1,39 @@
+++
archetype = "sub-chapter"
title = "Reference Architecture"
weight = 1
[params]
author = 'stephan.lo@telekom.de'
date = '2024-07-30'
+++
## [The Structure of a Successful Internal Developer Platform](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures)
In a platform reference architecture there are five main planes that make up an IDP:
1. Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with.
2. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state. It usually contains a CI pipeline, an image registry, a Platform Orchestrator, and the CD system.
3. Resource Plane this is where the actual infrastructure exists including clusters, databases, storage or DNS services.
4, Monitoring and Logging Plane provides real-time metrics and logs for apps and infrastructure.
5. Security Plane manages secrets and identity to protect sensitive information, e.g., storing, managing, and security retrieving API keys and credentials/secrets.
![alt text](platforms-def.drawio.png)
## Humanitec
https://github.com/humanitec-architecture
https://humanitec.com/reference-architectures
![alt text](<66558d14e4f205de125fcc58_AWS + Humanitec Portal Reference Architecture 2024-05-25-p-1080.webp>)
## Create a reference architecture
[Create your own platform reference architecture](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures)
[Refernce arch slide deck](https://docs.google.com/presentation/d/1yAf_FSjiA0bAFukgu5p1DRMvvGGE1fF4KhvZbb7gn2I/edit?pli=1#slide=id.g1ef66f3349b_3_3)

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View file

@ -17,17 +17,17 @@
<meta itemprop="name" content="404 Page not found :: IPCEI-CIS Developer Framework Documentation">
<title>404 Page not found :: IPCEI-CIS Developer Framework Documentation</title>
<base href="http://localhost:1313/">
<link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722331657" rel="stylesheet">
<link href="/css/auto-complete.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722331657" rel="stylesheet">
<link href="/css/fonts.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722331657" rel="stylesheet">
<link href="/css/theme-auto.css?1722331657" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722331657" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722331657" rel="stylesheet">
<link href="/css/print.css?1722331657" rel="stylesheet" media="print">
<script src="/js/variant.js?1722331657"></script>
<link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722335740" rel="stylesheet">
<link href="/css/auto-complete.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722335740" rel="stylesheet">
<link href="/css/fonts.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722335740" rel="stylesheet">
<link href="/css/theme-auto.css?1722335740" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722335740" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722335740" rel="stylesheet">
<link href="/css/print.css?1722335740" rel="stylesheet" media="print">
<script src="/js/variant.js?1722335740"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='.';

View file

@ -17,17 +17,17 @@
<meta itemprop="name" content="Categories :: IPCEI-CIS Developer Framework Documentation">
<title>Categories :: IPCEI-CIS Developer Framework Documentation</title>
<link href="/categories/index.xml" rel="alternate" type="application/rss+xml" title="Categories :: IPCEI-CIS Developer Framework Documentation">
<link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722331657" rel="stylesheet">
<link href="/css/auto-complete.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722331657" rel="stylesheet">
<link href="/css/fonts.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722331657" rel="stylesheet">
<link href="/css/theme-auto.css?1722331657" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722331657" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722331657" rel="stylesheet">
<link href="/css/print.css?1722331657" rel="stylesheet" media="print">
<script src="/js/variant.js?1722331657"></script>
<link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722335740" rel="stylesheet">
<link href="/css/auto-complete.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722335740" rel="stylesheet">
<link href="/css/fonts.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722335740" rel="stylesheet">
<link href="/css/theme-auto.css?1722335740" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722335740" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722335740" rel="stylesheet">
<link href="/css/print.css?1722335740" rel="stylesheet" media="print">
<script src="/js/variant.js?1722335740"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='..';
@ -163,12 +163,12 @@
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1722331657" defer></script>
<script src="/js/lunr/lunr.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722331657" defer></script>
<script src="/js/search.js?1722331657" defer></script>
<script src="/js/auto-complete.js?1722335740" defer></script>
<script src="/js/lunr/lunr.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722335740" defer></script>
<script src="/js/search.js?1722335740" defer></script>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<ul>
@ -179,6 +179,7 @@
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/platform-engineering/index.html" class=""><a class="padding" href="/platform-engineering/index.html">Platform Engineering</a></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
@ -231,8 +232,8 @@
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1722331657" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722331657" defer></script>
<script src="/js/theme.js?1722331657" defer></script>
<script src="/js/clipboard.min.js?1722335740" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722335740" defer></script>
<script src="/js/theme.js?1722335740" defer></script>
</body>
</html>

View file

@ -1,2 +1,2 @@
@import "chroma-relearn-light.css?1722331657" screen and (prefers-color-scheme: light);
@import "chroma-relearn-dark.css?1722331657" screen and (prefers-color-scheme: dark);
@import "chroma-relearn-light.css?1722338729" screen and (prefers-color-scheme: light);
@import "chroma-relearn-dark.css?1722338729" screen and (prefers-color-scheme: dark);

View file

@ -1,5 +1,5 @@
@import "theme-relearn-light.css?1722331657";
@import "chroma-relearn-light.css?1722331657";
@import "theme-relearn-light.css?1722338729";
@import "chroma-relearn-light.css?1722338729";
#R-sidebar {
display: none;

View file

@ -1 +1 @@
@import "format-print.css?1722331657";
@import "format-print.css?1722338729";

View file

@ -1,7 +1,7 @@
/* Styles to make Swagger-UI fit into our theme */
@import "fonts.css?1722331657";
@import "variables.css?1722331657";
@import "fonts.css?1722338729";
@import "variables.css?1722338729";
body{
line-height: 1.574;

View file

@ -1,2 +1,2 @@
@import "theme-relearn-light.css?1722331657" screen and (prefers-color-scheme: light);
@import "theme-relearn-dark.css?1722331657" screen and (prefers-color-scheme: dark);
@import "theme-relearn-light.css?1722338729" screen and (prefers-color-scheme: light);
@import "theme-relearn-dark.css?1722338729" screen and (prefers-color-scheme: dark);

View file

@ -1,4 +1,4 @@
@import "variables.css?1722331657";
@import "variables.css?1722338729";
html {
color-scheme: only var(--INTERNAL-BROWSER-theme);

View file

@ -6,32 +6,28 @@
<meta name="generator" content="Hugo 0.130.0">
<meta name="generator" content="Relearn 6.0.0+tip">
<meta name="robots" content="noindex, nofollow, noarchive, noimageindex">
<meta name="description" content="This is a new home page.">
<meta name="description" content="">
<meta name="author" content="">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="IPCEI-CIS Developer Framework Documentation">
<meta name="twitter:description" content="This is a new home page.">
<meta property="og:url" content="http://localhost:1313/index.html">
<meta property="og:site_name" content="IPCEI-CIS Developer Framework Documentation">
<meta property="og:title" content="IPCEI-CIS Developer Framework Documentation">
<meta property="og:description" content="This is a new home page.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
<meta itemprop="name" content="IPCEI-CIS Developer Framework Documentation">
<meta itemprop="description" content="This is a new home page.">
<meta itemprop="wordCount" content="6">
<title>IPCEI-CIS Developer Framework Documentation</title>
<link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722331657" rel="stylesheet">
<link href="/css/auto-complete.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722331657" rel="stylesheet">
<link href="/css/fonts.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722331657" rel="stylesheet">
<link href="/css/theme-auto.css?1722331657" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722331657" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722331657" rel="stylesheet">
<link href="/css/print.css?1722331657" rel="stylesheet" media="print">
<script src="/js/variant.js?1722331657"></script>
<link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722335740" rel="stylesheet">
<link href="/css/auto-complete.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722335740" rel="stylesheet">
<link href="/css/fonts.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722335740" rel="stylesheet">
<link href="/css/theme-auto.css?1722335740" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722335740" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722335740" rel="stylesheet">
<link href="/css/print.css?1722335740" rel="stylesheet" media="print">
<script src="/js/variant.js?1722335740"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='.';
@ -71,7 +67,7 @@
<div class="topbar-area topbar-area-end" data-area="end">
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><span class="topbar-control"><i class="fa-fw fas fa-chevron-left"></i></span>
</div>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><span class="topbar-control"><i class="fa-fw fas fa-chevron-right"></i></span>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/platform-engineering/index.html" title="Platform Engineering (🡒)"><i class="fa-fw fas fa-chevron-right"></i></a>
</div>
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button>
<div class="topbar-content">
@ -93,7 +89,6 @@
<h1 id="ipcei-cis-developer-framework-documentation">IPCEI-CIS Developer Framework Documentation</h1>
<p>This is a new home page.</p>
<footer class="footline">
</footer>
@ -169,12 +164,12 @@
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1722331657" defer></script>
<script src="/js/lunr/lunr.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722331657" defer></script>
<script src="/js/search.js?1722331657" defer></script>
<script src="/js/auto-complete.js?1722335740" defer></script>
<script src="/js/lunr/lunr.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722335740" defer></script>
<script src="/js/search.js?1722335740" defer></script>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<ul>
@ -185,6 +180,7 @@
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/platform-engineering/index.html" class=""><a class="padding" href="/platform-engineering/index.html">Platform Engineering</a></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
@ -237,8 +233,8 @@
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1722331657" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722331657" defer></script>
<script src="/js/theme.js?1722331657" defer></script>
<script src="/js/clipboard.min.js?1722335740" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722335740" defer></script>
<script src="/js/theme.js?1722335740" defer></script>
</body>
</html>

View file

@ -3,9 +3,16 @@
<channel>
<title>IPCEI-CIS Developer Framework Documentation</title>
<link>http://localhost:1313/index.html</link>
<description>This is a new home page.</description>
<description></description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Platform Engineering</title>
<link>http://localhost:1313/platform-engineering/index.html</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/platform-engineering/index.html</guid>
<description>Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.&#xA;White paper from CNCF https://tag-app-delivery.cncf.io/whitepapers/platforms/&#xA;Definition: platfrom Engineering Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era.</description>
</item>
</channel>
</rss>

View file

@ -0,0 +1,297 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr" itemscope itemtype="http://schema.org/Article">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="generator" content="Hugo 0.130.0">
<meta name="generator" content="Relearn 6.0.0+tip">
<meta name="description" content="Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.
In CNCF the discipline of building stacks to enhance the developer experience is called Platform Engineering
CNCF Platforms White Paper CNVF first asks why we need platform engineering:">
<meta name="author" content="">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Platform Engineering :: IPCEI-CIS Developer Framework Documentation">
<meta name="twitter:description" content="Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.
In CNCF the discipline of building stacks to enhance the developer experience is called Platform Engineering
CNCF Platforms White Paper CNVF first asks why we need platform engineering:">
<meta property="og:url" content="http://localhost:1313/platform-engineering/index.html">
<meta property="og:site_name" content="IPCEI-CIS Developer Framework Documentation">
<meta property="og:title" content="Platform Engineering :: IPCEI-CIS Developer Framework Documentation">
<meta property="og:description" content="Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.
In CNCF the discipline of building stacks to enhance the developer experience is called Platform Engineering
CNCF Platforms White Paper CNVF first asks why we need platform engineering:">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
<meta itemprop="name" content="Platform Engineering :: IPCEI-CIS Developer Framework Documentation">
<meta itemprop="description" content="Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.
In CNCF the discipline of building stacks to enhance the developer experience is called Platform Engineering
CNCF Platforms White Paper CNVF first asks why we need platform engineering:">
<meta itemprop="wordCount" content="361">
<title>Platform Engineering :: IPCEI-CIS Developer Framework Documentation</title>
<link href="/platform-engineering/index.xml" rel="alternate" type="application/rss+xml" title="Platform Engineering :: IPCEI-CIS Developer Framework Documentation">
<link href="/css/fontawesome-all.min.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722338729" rel="stylesheet">
<link href="/css/auto-complete.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722338729" rel="stylesheet">
<link href="/css/fonts.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722338729" rel="stylesheet">
<link href="/css/theme-auto.css?1722338729" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722338729" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722338729" rel="stylesheet">
<link href="/css/print.css?1722338729" rel="stylesheet" media="print">
<script src="/js/variant.js?1722338729"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='..';
window.relearn.relBaseUri='..';
window.relearn.absBaseUri='http:\/\/localhost:1313';
// variant stuff
window.variants && variants.init( [ 'auto' ] );
// translations
window.T_Copy_to_clipboard = `Copy to clipboard`;
window.T_Copied_to_clipboard = `Copied to clipboard!`;
window.T_Copy_link_to_clipboard = `Copy link to clipboard`;
window.T_Link_copied_to_clipboard = `Copied link to clipboard!`;
window.T_Reset_view = `Reset view`;
window.T_View_reset = `View reset!`;
window.T_No_results_found = `No results found for "{0}"`;
window.T_N_results_found = `{1} results found for "{0}"`;
</script>
</head>
<body class="mobile-support html" data-url="/platform-engineering/index.html">
<div id="R-body" class="default-animation">
<div id="R-body-overlay"></div>
<nav id="R-topbar">
<div class="topbar-wrapper">
<div class="topbar-sidebar-divider"></div>
<div class="topbar-area topbar-area-start" data-area="start">
<div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide"><button class="topbar-control" onclick="toggleNav()" type="button" title="Menu (CTRL&#43;ALT&#43;n)"><i class="fa-fw fas fa-bars"></i></button>
</div>
<div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Table of Contents (CTRL&#43;ALT&#43;t)"><i class="fa-fw fas fa-list-alt"></i></button>
<div class="topbar-content">
<div class="topbar-content-wrapper"><nav class="TableOfContents">
<ul>
<li><a href="#rationale">Rationale</a></li>
<li><a href="#cncf-platforms-white-paperhttpstag-app-deliverycncfiowhitepapersplatforms"><a href="https://tag-app-delivery.cncf.io/whitepapers/platforms/">CNCF Platforms White Paper</a></a></li>
<li><a href="#platformengineeringorgs-definition-of-platform-engineeringhttpsplatformengineeringorgblogwhat-is-platform-engineering"><a href="https://platformengineering.org/blog/what-is-platform-engineering">platformengineering.org&rsquo;s Definition of Platform Engineering</a></a></li>
<li><a href="#internal-developer-platform">Internal Developer Platform</a></li>
<li><a href="#examples-of-existing-idps">Examples of existing IDPs</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Platform Engineering</span><meta itemprop="position" content="1"></li>
</ol>
<div class="topbar-area topbar-area-end" data-area="end">
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/index.html" title="IPCEI-CIS Developer Framework Documentation (🡐)"><i class="fa-fw fas fa-chevron-left"></i></a>
</div>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/platform-engineering/reference-architecture/index.html" title="Reference Architecture (🡒)"><i class="fa-fw fas fa-chevron-right"></i></a>
</div>
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<div class="topbar-area topbar-area-more" data-area="more">
</div>
</div>
</div>
</div>
</div>
</div>
</nav>
<div id="R-main-overlay"></div>
<main id="R-body-inner" class="highlightable chapter narrow" tabindex="-1">
<div class="flex-block-wrapper">
<article class="chapter">
<header class="headline">
</header>
<div class="article-subheading">Chapter 1</div>
<h1 id="platform-engineering">Platform Engineering</h1>
<h2 id="rationale">Rationale</h2>
<p>IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.</p>
<p>In CNCF the discipline of building stacks to enhance the developer experience is called &lsquo;Platform Engineering&rsquo;</p>
<h2 id="cncf-platforms-white-paperhttpstag-app-deliverycncfiowhitepapersplatforms"><a href="https://tag-app-delivery.cncf.io/whitepapers/platforms/" rel="external" target="_blank">CNCF Platforms White Paper</a></h2>
<p>CNVF first asks why we need platform engineering:</p>
<blockquote>
<p>The desire to refocus delivery teams on their core focus and reduce duplication of effort across the organisation has motivated enterprises to implement platforms for cloud-native computing. By investing in platforms, enterprises can:</p>
<ul>
<li>Reduce the cognitive load on product teams and thereby accelerate product development and delivery</li>
<li>Improve reliability and resiliency of products relying on platform capabilities by dedicating experts to configure and manage them</li>
<li>Accelerate product development and delivery by reusing and sharing platform tools and knowledge across many teams in an enterprise</li>
<li>Reduce risk of security, regulatory and functional issues in products and services by governing platform capabilities and the users, tools and processes surrounding them</li>
<li>Enable cost-effective and productive use of services from public clouds and other managed offerings by enabling delegation of implementations to those providers while maintaining control over user experience</li>
</ul>
</blockquote>
<h2 id="platformengineeringorgs-definition-of-platform-engineeringhttpsplatformengineeringorgblogwhat-is-platform-engineering"><a href="https://platformengineering.org/blog/what-is-platform-engineering" rel="external" target="_blank">platformengineering.org&rsquo;s Definition of Platform Engineering</a></h2>
<blockquote>
<p>Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.</p>
</blockquote>
<h2 id="internal-developer-platform">Internal Developer Platform</h2>
<blockquote>
<p>In IPCEI-CIS right now (July 2024) we are primarily interested in understanding how IDPs are built as one option to implement an IDP is to build it ourselves.</p>
</blockquote>
<p>The outcome of the Platform Engineering discipline is - created by the platform engineering team - a so called &lsquo;Internal Developer Platform&rsquo;.</p>
<p>One of the first sites focusing on this discipline was <a href="https://internaldeveloperplatform.org/" rel="external" target="_blank">internaldeveloperplatform.org</a></p>
<h2 id="examples-of-existing-idps">Examples of existing IDPs</h2>
<p>The amount of available IDPs as product is rapidly growing.</p>
<p>[TODO] LIST OF IDPs</p>
<ul>
<li><a href="https://internaldeveloperplatform.org/" rel="external" target="_blank">internaldeveloperplatform.org - &lsquo;Ecosystem&rsquo;</a></li>
<li>Typical market overview: <a href="https://medium.com/@rphilogene/10-best-internal-developer-portals-to-consider-in-2023-c780fbf8ab12" rel="external" target="_blank">https://medium.com/@rphilogene/10-best-internal-developer-portals-to-consider-in-2023-c780fbf8ab12</a></li>
<li>Another one: <a href="https://www.qovery.com/blog/10-best-internal-developer-platforms-to-consider-in-2023/" rel="external" target="_blank">https://www.qovery.com/blog/10-best-internal-developer-platforms-to-consider-in-2023/</a></li>
<li>Just found as another example: <a href="https://www.platformplane.com/" rel="external" target="_blank">platformplane</a></li>
</ul>
<footer class="footline">
</footer>
</article>
</div>
</main>
</div>
<aside id="R-sidebar" class="default-animation">
<div id="R-header-topbar" class="default-animation"></div>
<div id="R-header-wrapper" class="default-animation">
<div id="R-header" class="default-animation">
<style>
#R-logo svg,
#R-logo svg * {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
fill: #282828 !important;
fill: var(--MENU-SECTIONS-BG-color) !important;
opacity: .945;
}
a#R-logo {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
font-family: 'Work Sans', 'Helvetica', 'Tahoma', 'Geneva', 'Arial', sans-serif;
font-size: 1.875rem;
font-weight: 300;
margin-top: -.8125rem;
max-width: 60%;
text-transform: uppercase;
width: 14.125rem;
white-space: nowrap;
}
a#R-logo:hover {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
}
#R-logo svg {
margin-bottom: -1.25rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
width: 40.5%;
}
@media only all and (max-width: 59.999rem) {
a#R-logo {
font-size: 1.5625rem;
margin-top: -.1875rem;
}
#R-logo svg {
margin-bottom: -.75rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
}
}
</style>
<a id="R-logo" href="/index.html">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.044 64.044">
<path d="M46.103 136.34c-.642-.394-1.222-2.242-1.98-2.358-.76-.117-1.353.506-1.618 1.519-.266 1.012-.446 4.188.173 5.538.213.435.482.787 1.03.845.547.057.967-.504 1.45-1.027.482-.523.437-.9 1.142-.612.705.289 1.051.4 1.586 1.229.535.828 1.085 4.043.868 5.598-.241 1.458-.531 2.8-.59 4.088.26.075.517.148.772.217 2.68.724 5.373 1.037 7.873.02.001-.028.01-.105.008-.11-.048-.165-.18-.41-.36-.698-.18-.29-.414-.645-.586-1.114a3.212 3.212 0 0 1-.125-1.735c.056-.21.153-.342.249-.475 1.237-1.193 2.932-1.373 4.244-1.384.557-.004 1.389.016 2.198.255.809.239 1.706.724 2.068 1.843.187.578.114 1.17-.043 1.623-.153.438-.369.783-.545 1.091-.178.31-.329.6-.401.821-.007.02-.003.071-.005.094 2.256 1.008 4.716.91 7.189.398.55-.114 1.11-.247 1.673-.377.344-1.085.678-2.145.852-3.208.124-.752.158-2.311-.078-3.538-.118-.613-.306-1.15-.52-1.489-.221-.349-.413-.501-.747-.538-.243-.027-.51.013-.796.098-.67.223-1.33.606-1.966.76l-.008.002-.109.032c-.556.152-1.233.158-1.797-.36-.556-.51-.89-1.367-1.117-2.596-.283-1.528-.075-3.279.89-4.518l.071-.09h.07c.65-.71 1.485-.802 2.16-.599.706.213 1.333.629 1.772.84.736.354 1.185.319 1.475.171.291-.148.5-.439.668-.955.332-1.017.301-2.819.022-4.106-.148-.684-.13-1.292-.13-1.883-1.558-.463-3.067-.982-4.574-1.208-1.128-.169-2.263-.173-3.298.164-.13.046-.256.095-.38.15-.373.164-.633.342-.805.52-.077.098-.081.105-.087.21-.004.068.031.289.13.571.1.282.256.634.467 1.03.279.524.448 1.063.431 1.618a2.12 2.12 0 0 1-.499 1.309 1.757 1.757 0 0 1-.62.51h-.002c-.515.291-1.107.404-1.723.464-.86.083-1.787.026-2.598-.097-.806-.123-1.47-.28-1.948-.555-.444-.256-.79-.547-1.037-.925a2.273 2.273 0 0 1-.356-1.301c.029-.837.403-1.437.625-1.897.111-.23.191-.433.236-.583.045-.15.044-.25.046-.24-.005-.029-.127-.355-1.015-.741-1.138-.495-2.322-.673-3.533-.668h-.015a9.711 9.711 0 0 0-.521.016h-.002c-1.163.057-2.35.308-3.541.569.383 1.531.79 2.753.818 4.502-.096 1.297.158 2.114-1.03 2.935-.85.588-1.508.729-2.15.335" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:1.03763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M61.472 101.34v.002c-.3-.003-.603.01-.894.04-.544.055-1.39.165-1.778.306-1.238.364.13 2.344.41 2.913.28.569.285 2.03.14 2.134-.144.103-.375.261-.934.345-.56.084.03-.037-1.589.086-1.62.122-5.506.29-8.265.248-.022.26-.036.521-.097.808-.309 1.442-.63 3.163-.494 4.074.071.473.168.65.414.8.23.14.737.235 1.62-.004.834-.227 1.3-.442 1.887-.456.595-.016 1.555.472 1.965.717.411.245-.03-.008.002 0s.128.05.176.102c.049.053-.276-.523.104.199.379.721.72 3.256.002 4.68-.46.913-1.01 1.49-1.64 1.711-.63.22-1.229.067-1.734-.135-.881-.353-1.584-.7-2.205-.647-1.199 1.94-1.186 4.17-.6 6.602.097.397.212.814.327 1.23 2.68-.556 5.542-1.016 8.337.132 1.064.437 1.73 1.015 1.902 1.857.169.831-.193 1.508-.438 1.986-.122.238-.23.46-.307.642-.07.164-.096.28-.104.324.069.429.309.723.686.945.385.227.89.355 1.35.423.723.104 1.567.152 2.287.086.693-.064 1.032-.338 1.241-.544a2.447 2.447 0 0 0 .303-.437.175.175 0 0 0 .013-.035c-.004-.066-.037-.246-.195-.527-.46-.816-.87-1.595-.817-2.51.028-.476.218-.938.529-1.288.304-.343.698-.586 1.186-.79 1.442-.606 2.96-.609 4.372-.409 1.525.216 2.963.679 4.378 1.083.226-2.09.784-3.9.592-5.77-.058-.565-.287-1.333-.598-1.827-.32-.508-.59-.717-1.036-.642-.648.11-1.472.935-2.707 1.078-.791.092-1.494-.267-1.95-.86-.45-.583-.678-1.335-.78-2.101-.202-1.525.031-3.229.89-4.27.615-.747 1.45-.887 2.15-.74.687.145 1.307.492 1.857.745v-.002c.546.252 1.033.388 1.281.344a.547.547 0 0 0 .353-.188c.113-.124.242-.35.384-.75.604-1.712.206-3.68-.303-5.654-.667.145-1.336.293-2.018.413-1.341.236-2.73.392-4.136.273-.656-.055-1.695-.085-2.58-.476-.442-.195-.903-.514-1.157-1.093-.259-.591-.205-1.313.08-2.014.223-.64 1.082-2.178.692-2.585-.391-.407-1.651-.56-2.554-.571z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.992837;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M83.128 98.116c-.484 1.875-1.057 3.757-2.486 5.033-.638.57-1.13.666-1.483.548-.401-.134-.715-.506-1.058-.973-.338-.461-.655-.97-1.076-1.332-.192-.165-.404-.315-.683-.38-.279-.066-.599-.02-.9.102-.489.196-.89.58-1.28 1.047a6.1 6.1 0 0 0-.985 1.632c-.234.591-.356 1.174-.277 1.713.072.487.392.977.905 1.185.463.187.926.156 1.36.154.433 0 .843.01 1.242.147.55.189.79.736.822 1.368.034.66-.145 1.412-.393 1.988l-.008.021c-.74 1.705-1.946 2.893-3.004 4.349l-.664.915.979.099c.924.092 1.788.26 2.468.675.46.281 1.806 1.205 2.794 2.222.497.513.888 1.031 1.047 1.502.078.231.095.422.05.6a.93.93 0 0 1-.345.474c-.301.223-.606.395-.864.532l-.354.186c-.107.058-.189.087-.345.228a.637.637 0 0 1 .062-.045l-.064.041-.209.236-.103.343s.003.126.007.152c.003.017.003.007.004.015v.002c.016.195.061.307.133.476a4.1 4.1 0 0 0 .32.596 5.7 5.7 0 0 0 2.8 2.258c.284.108.908.321 1.548.36.33.02.59.015.912-.13h.002c.08-.037.228-.095.382-.281.153-.186.19-.355.212-.445l.019-.075.003-.078c.023-.585-.037-1.296.072-1.899.153-.657.435-.956 1.009-.909 2.771.239 4.74 1.955 6.693 3.83l.742.714.279-1.155c.55-2.29 1.093-4.464 2.928-5.977.692-.57 1.184-.642 1.527-.509.39.151.676.536.996.995.319.458.605.926 1.07 1.212.194.119.464.232.784.209.32-.024.638-.163.988-.384 1.022-.645 1.778-1.756 2.086-2.942.136-.522.102-.991-.046-1.301-.158-.334-.433-.553-.754-.707-.653-.314-1.468-.373-2.094-.486-.825-.15-1.22-.475-1.345-.878-.13-.417 0-.953.335-1.61.6-1.173 1.887-2.602 3.13-3.911l.498-.526-.449-.432c-1.545-1.49-3.163-3.01-5.252-3.715h-.002c-.473-.16-1.097-.413-1.73-.424h-.003c-.311-.004-.596.04-.883.24v.002c-.22.155-.483.537-.583.937l-.008.036-.006.038c-.116.773-.06 1.467-.217 1.995-.063.212-.198.418-.359.507-.202.111-.492.153-.976.072-.582-.097-1.978-.69-3.021-1.503-.523-.407-.934-.85-1.117-1.3a1.153 1.153 0 0 1-.083-.63c.03-.184.1-.477.308-.593.21-.116.941-.32 1.377-.642h.002c.192-.141.403-.367.518-.64.114-.275.127-.526.123-.774-.006-.142-.036-.192-.08-.3a8.417 8.417 0 0 0-3-3.027c-1.226-.725-2.585-1.135-3.927-1.539-.434-.12-.844-.111-1.02.466zm.912.947c1.186.364 2.357.718 3.345 1.303 1.035.612 1.864 1.488 2.507 2.528-.514.263-1.095.5-1.44.79-.345.29-.729.914-.815 1.434-.084.509 0 .968.155 1.347.301.74.85 1.276 1.44 1.735 1.18.92 2.554 1.545 3.47 1.698.604.1 1.186.088 1.739-.216.594-.327.935-.911 1.088-1.427.264-.884.193-1.664.262-2.17h.1c.3.006.926.206 1.417.371 1.646.554 3.044 1.773 4.431 3.089-1.102 1.174-2.222 2.423-2.888 3.73-.42.823-.73 1.789-.453 2.687.283.913 1.1 1.415 2.138 1.603.691.126 1.472.226 1.84.403.19.091.258.182.278.223.03.064.058.075-.023.387-.21.804-.761 1.598-1.413 2.01-.247.155-.365.183-.407.187-.042.003-.061.002-.172-.066-.144-.088-.455-.473-.772-.929-.317-.454-.714-1.07-1.452-1.356-.783-.304-1.776-.022-2.713.75-1.942 1.6-2.626 3.764-3.146 5.8-1.802-1.676-3.772-3.138-6.589-3.517h-.002c-.346-.095-1.013-.031-1.293.143-.735.501-1.005 1.132-1.168 2.007-.125.69-.082 1.216-.074 1.659-.055.006-.046.01-.104.006-.42-.026-1.035-.215-1.244-.295-.947-.361-1.774-1.006-2.314-1.857-.054-.085-.072-.132-.109-.2l.027-.016c.284-.15.656-.36 1.045-.648.44-.327.789-.798.93-1.35a2.4 2.4 0 0 0-.068-1.379c-.254-.751-.753-1.353-1.295-1.911-1.09-1.124-2.452-2.049-2.99-2.378-.609-.372-1.303-.44-1.981-.56.875-1.094 1.878-2.251 2.596-3.921.294-.823.543-1.907.513-2.658-.049-.97-.489-2.013-1.52-2.367-.579-.2-1.131-.204-1.58-.203-.45.002-.786-.006-.97-.08h-.002c-.264-.107-.236-.108-.268-.33-.025-.17.021-.553.183-.962a4.67 4.67 0 0 1 .725-1.192c.29-.348.617-.59.705-.626.142-.057.176-.05.22-.04.045.011.127.052.263.17.235.201.56.671.92 1.161.354.484.791 1.08 1.543 1.33.8.267 1.784-.052 2.671-.846 1.594-1.424 2.235-3.317 2.714-5.051zm11.705 7.023c-.02.014.042-.002.042 0l-.008.035c.05-.2-.028-.04-.034-.035zM79.472 122.45a.198.198 0 0 1 .005.023v.014c-.002-.01-.003-.03-.005-.037zm-.29.732-.006.01-.044.027c.016-.01.033-.024.05-.036z" style="color:#000;fill:#282828;stroke-width:1.02352;-inkscape-stroke:none" transform="translate(-40.698 -95.175)"/>
<path d="M76.694 128.845c-.85-.012-1.668.253-2.434.67-.01.592-.015 1.17.109 1.772.323 1.573.422 3.553-.07 5.147-.247.804-.684 1.535-1.347 1.891-.663.356-1.467.296-2.362-.159-.522-.266-1.059-.62-1.487-.757-.223-.072-.392-.096-.522-.069-.13.027-.232.094-.362.27-.53.719-.681 1.823-.497 2.876.177 1.012.418 1.438.543 1.56.143.137.26.154.604.055.548-.158 1.523-.857 2.573-.972l.02-.002.5.058c.686.081 1.247.562 1.622 1.19.372.62.591 1.37.73 2.136.279 1.532.25 3.16.083 4.232-.14.91-.394 1.72-.632 2.53 1.719-.385 3.485-.692 5.307-.36 1.174.214 2.749.574 3.762 1.977l.088.122.046.159c.162.551.16 1.114.024 1.578-.13.45-.348.772-.533 1.023-.181.246-.336.444-.437.606-.102.16-.141.275-.145.336-.01.17 0 .197.07.315.057.1.186.242.39.366.408.246 1.106.414 1.843.45a7.842 7.842 0 0 0 2.174-.21 4.28 4.28 0 0 0 .822-.296c.218-.106.385-.242.377-.233l.029-.031c.025-.035.05-.072.05-.068 0-.004 0-.017-.003-.05a2.733 2.733 0 0 0-.21-.579c-.26-.548-.839-1.333-.822-2.46.01-.657.27-1.21.598-1.576.32-.357.696-.575 1.074-.736.759-.323 1.57-.418 2.054-.458 1.653-.136 3.252.296 4.755.765.457.142.905.29 1.352.434.325-2.258.902-4.247.598-6.217-.071-.46-.25-1.169-.486-1.684-.238-.518-.495-.762-.675-.779-.351-.032-.716.14-1.174.418-.457.277-1.005.665-1.695.742-.745.082-1.406-.291-1.84-.908-.428-.608-.653-1.394-.754-2.196-.203-1.596.016-3.377.794-4.493.568-.813 1.358-.984 2.024-.835.65.146 1.243.51 1.769.779.524.267.99.413 1.237.365a.527.527 0 0 0 .346-.2c.11-.132.235-.373.37-.798.612-1.918.27-3.894-.246-6.054-2.815-.851-5.49-1.534-8.089-.267a.727.727 0 0 0-.223.148c-.024.028-.018.021-.026.056.001-.003-.01.178.07.44.162.522.611 1.29.911 1.978l.004.009.029.063.024.084V133c.162.635.016 1.297-.274 1.727-.272.404-.618.636-.952.81-.675.353-1.399.484-1.724.533a5.888 5.888 0 0 1-3.973-.795c-.512-.311-.876-.594-1.133-1.02-.282-.466-.318-1.084-.172-1.557.252-.814.715-1.266.971-1.89a.663.663 0 0 0 .047-.14c.001-.013 0-.006-.007-.037a.761.761 0 0 0-.184-.268c-.264-.267-.865-.595-1.54-.826-1.356-.462-3.07-.659-3.583-.686-.062-.002-.121-.006-.178-.006z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.991342;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
</svg>ipcei-cis
</a>
</div>
<search>
<div class="searchbox default-animation">
<i class="fas fa-search" title="Search (CTRL+ALT+f)"></i>
<label class="a11y-only" for="R-search-by">Search</label>
<input data-search-input id="R-search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
<button class="search-clear" type="button" data-search-clear="" title="Clear search"><i class="fas fa-times" title="Clear search"></i></button>
</div>
</search>
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1722338729" defer></script>
<script src="/js/lunr/lunr.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722338729" defer></script>
<script src="/js/search.js?1722338729" defer></script>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<ul>
<li><a class="padding" href="/index.html"><i class="fa-fw fas fa-home"></i> Home</a></li>
</ul>
<hr class="padding">
</div>
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/platform-engineering/index.html" class="active parent "><a class="padding" href="/platform-engineering/index.html">Platform Engineering</a><ul id="R-subsections-210cb528a18b32229019c9de4f6a4009" class="morespace collapsible-menu">
<li data-nav-id="/platform-engineering/reference-architecture/index.html" class=""><a class="padding" href="/platform-engineering/reference-architecture/index.html">Reference Architecture</a></li></ul></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
<div id="R-menu-footer">
<hr class="padding default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter">
<div id="R-prefooter" class="footerLangSwitch footerVariantSwitch footerVisitedLinks">
<ul>
<li id="R-select-language-container" class="footerLangSwitch">
<div class="padding menu-control">
<i class="fa-fw fas fa-language"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-language">Language</label>
<select id="R-select-language" onchange="location = this.querySelector( this.value ).dataset.url;">
<option id="R-select-language-en" value="#R-select-language-en" data-url="/platform-engineering/index.html" lang="en-us" selected></option>
</select>
</div>
<div class="clear"></div>
</div>
</li>
<li id="R-select-variant-container" class="footerVariantSwitch">
<div class="padding menu-control">
<i class="fa-fw fas fa-paint-brush"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-variant">Theme</label>
<select id="R-select-variant" onchange="window.variants && variants.changeVariant( this.value );">
<option id="R-select-variant-auto" value="auto" selected>Auto</option>
</select>
</div>
<div class="clear"></div>
</div>
<script>window.variants && variants.markSelectedVariant();</script>
</li>
<li class="footerVisitedLinks">
<div class="padding menu-control">
<i class="fa-fw fas fa-history"></i>
<span>&nbsp;</span>
<div class="control-style">
<button onclick="clearHistory();">Clear History</button>
</div>
<div class="clear"></div>
</div>
</li>
</ul>
</div>
<div id="R-footer" class="footerFooter showFooter">
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
</div>
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1722338729" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722338729" defer></script>
<script src="/js/theme.js?1722338729" defer></script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Platform Engineering :: IPCEI-CIS Developer Framework Documentation</title>
<link>http://localhost:1313/platform-engineering/index.html</link>
<description>Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results.&#xA;In CNCF the discipline of building stacks to enhance the developer experience is called Platform Engineering&#xA;CNCF Platforms White Paper CNVF first asks why we need platform engineering:</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/platform-engineering/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Reference Architecture</title>
<link>http://localhost:1313/platform-engineering/reference-architecture/index.html</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/platform-engineering/reference-architecture/index.html</guid>
<description>The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:&#xA;Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.</description>
</item>
</channel>
</rss>

View file

@ -0,0 +1,276 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr" itemscope itemtype="http://schema.org/Article">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="generator" content="Hugo 0.130.0">
<meta name="generator" content="Relearn 6.0.0+tip">
<meta name="description" content="The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:
Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.">
<meta name="author" content="">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Reference Architecture :: IPCEI-CIS Developer Framework Documentation">
<meta name="twitter:description" content="The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:
Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.">
<meta property="og:url" content="http://localhost:1313/platform-engineering/reference-architecture/index.html">
<meta property="og:site_name" content="IPCEI-CIS Developer Framework Documentation">
<meta property="og:title" content="Reference Architecture :: IPCEI-CIS Developer Framework Documentation">
<meta property="og:description" content="The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:
Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
<meta itemprop="name" content="Reference Architecture :: IPCEI-CIS Developer Framework Documentation">
<meta itemprop="description" content="The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:
Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.">
<meta itemprop="wordCount" content="165">
<title>Reference Architecture :: IPCEI-CIS Developer Framework Documentation</title>
<link href="/platform-engineering/reference-architecture/index.xml" rel="alternate" type="application/rss+xml" title="Reference Architecture :: IPCEI-CIS Developer Framework Documentation">
<link href="/css/fontawesome-all.min.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722338729" rel="stylesheet">
<link href="/css/auto-complete.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722338729" rel="stylesheet">
<link href="/css/fonts.css?1722338729" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722338729" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722338729" rel="stylesheet">
<link href="/css/theme-auto.css?1722338729" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722338729" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722338729" rel="stylesheet">
<link href="/css/print.css?1722338729" rel="stylesheet" media="print">
<script src="/js/variant.js?1722338729"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='..\/..';
window.relearn.relBaseUri='..\/..';
window.relearn.absBaseUri='http:\/\/localhost:1313';
// variant stuff
window.variants && variants.init( [ 'auto' ] );
// translations
window.T_Copy_to_clipboard = `Copy to clipboard`;
window.T_Copied_to_clipboard = `Copied to clipboard!`;
window.T_Copy_link_to_clipboard = `Copy link to clipboard`;
window.T_Link_copied_to_clipboard = `Copied link to clipboard!`;
window.T_Reset_view = `Reset view`;
window.T_View_reset = `View reset!`;
window.T_No_results_found = `No results found for "{0}"`;
window.T_N_results_found = `{1} results found for "{0}"`;
</script>
</head>
<body class="mobile-support html" data-url="/platform-engineering/reference-architecture/index.html">
<div id="R-body" class="default-animation">
<div id="R-body-overlay"></div>
<nav id="R-topbar">
<div class="topbar-wrapper">
<div class="topbar-sidebar-divider"></div>
<div class="topbar-area topbar-area-start" data-area="start">
<div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide"><button class="topbar-control" onclick="toggleNav()" type="button" title="Menu (CTRL&#43;ALT&#43;n)"><i class="fa-fw fas fa-bars"></i></button>
</div>
<div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Table of Contents (CTRL&#43;ALT&#43;t)"><i class="fa-fw fas fa-list-alt"></i></button>
<div class="topbar-content">
<div class="topbar-content-wrapper"><nav class="TableOfContents">
<ul>
<li><a href="#the-structure-of-a-successful-internal-developer-platformhttpsplatformengineeringorgblogcreate-your-own-platform-engineering-reference-architectures"><a href="https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures">The Structure of a Successful Internal Developer Platform</a></a></li>
<li><a href="#humanitec">Humanitec</a></li>
<li><a href="#create-a-reference-architecture">Create a reference architecture</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="/platform-engineering/index.html"><span itemprop="name">Platform Engineering</span></a><meta itemprop="position" content="1">&nbsp;>&nbsp;</li><li
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Reference Architecture</span><meta itemprop="position" content="2"></li>
</ol>
<div class="topbar-area topbar-area-end" data-area="end">
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/platform-engineering/index.html" title="Platform Engineering (🡐)"><i class="fa-fw fas fa-chevron-left"></i></a>
</div>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><span class="topbar-control"><i class="fa-fw fas fa-chevron-right"></i></span>
</div>
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<div class="topbar-area topbar-area-more" data-area="more">
</div>
</div>
</div>
</div>
</div>
</div>
</nav>
<div id="R-main-overlay"></div>
<main id="R-body-inner" class="highlightable default" tabindex="-1">
<div class="flex-block-wrapper">
<article class="default">
<header class="headline">
</header>
<h1 id="reference-architecture">Reference Architecture</h1>
<h2 id="the-structure-of-a-successful-internal-developer-platformhttpsplatformengineeringorgblogcreate-your-own-platform-engineering-reference-architectures"><a href="https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures" rel="external" target="_blank">The Structure of a Successful Internal Developer Platform</a></h2>
<p>In a platform reference architecture there are five main planes that make up an IDP:</p>
<ol>
<li>Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with.</li>
<li>Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state. It usually contains a CI pipeline, an image registry, a Platform Orchestrator, and the CD system.</li>
<li>Resource Plane this is where the actual infrastructure exists including clusters, databases, storage or DNS services.
4, Monitoring and Logging Plane provides real-time metrics and logs for apps and infrastructure.</li>
<li>Security Plane manages secrets and identity to protect sensitive information, e.g., storing, managing, and security retrieving API keys and credentials/secrets.</li>
</ol>
<p><a href="#R-image-fe76af248733d5eee9b0b83f19e3e4e8" class="lightbox-link"><img alt="alt text" class="noborder lazy lightbox noshadow figure-image" loading="lazy" src="/platform-engineering/reference-architecture/platforms-def.drawio.png" style=" height: auto; width: auto;"></a>
<a href="javascript:history.back();" class="lightbox-back" id="R-image-fe76af248733d5eee9b0b83f19e3e4e8"><img alt="alt text" class="noborder lazy lightbox noshadow lightbox-image" loading="lazy" src="/platform-engineering/reference-architecture/platforms-def.drawio.png"></a></p>
<h2 id="humanitec">Humanitec</h2>
<p><a href="https://github.com/humanitec-architecture" rel="external" target="_blank">https://github.com/humanitec-architecture</a></p>
<p><a href="https://humanitec.com/reference-architectures" rel="external" target="_blank">https://humanitec.com/reference-architectures</a></p>
<p><a href="#R-image-9e217a67b88e1917c049a63bfe1ef525" class="lightbox-link"><img alt="alt text" class="noborder lazy lightbox noshadow figure-image" loading="lazy" src="/platform-engineering/reference-architecture/66558d14e4f205de125fcc58_AWS%20+%20Humanitec%20Portal%20Reference%20Architecture%202024-05-25-p-1080.webp" style=" height: auto; width: auto;"></a>
<a href="javascript:history.back();" class="lightbox-back" id="R-image-9e217a67b88e1917c049a63bfe1ef525"><img alt="alt text" class="noborder lazy lightbox noshadow lightbox-image" loading="lazy" src="/platform-engineering/reference-architecture/66558d14e4f205de125fcc58_AWS%20+%20Humanitec%20Portal%20Reference%20Architecture%202024-05-25-p-1080.webp"></a></p>
<h2 id="create-a-reference-architecture">Create a reference architecture</h2>
<p><a href="https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures" rel="external" target="_blank">Create your own platform reference architecture</a></p>
<p><a href="https://docs.google.com/presentation/d/1yAf_FSjiA0bAFukgu5p1DRMvvGGE1fF4KhvZbb7gn2I/edit?pli=1#slide=id.g1ef66f3349b_3_3" rel="external" target="_blank">Refernce arch slide deck</a></p>
<footer class="footline">
</footer>
</article>
</div>
</main>
</div>
<aside id="R-sidebar" class="default-animation">
<div id="R-header-topbar" class="default-animation"></div>
<div id="R-header-wrapper" class="default-animation">
<div id="R-header" class="default-animation">
<style>
#R-logo svg,
#R-logo svg * {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
fill: #282828 !important;
fill: var(--MENU-SECTIONS-BG-color) !important;
opacity: .945;
}
a#R-logo {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
font-family: 'Work Sans', 'Helvetica', 'Tahoma', 'Geneva', 'Arial', sans-serif;
font-size: 1.875rem;
font-weight: 300;
margin-top: -.8125rem;
max-width: 60%;
text-transform: uppercase;
width: 14.125rem;
white-space: nowrap;
}
a#R-logo:hover {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
}
#R-logo svg {
margin-bottom: -1.25rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
width: 40.5%;
}
@media only all and (max-width: 59.999rem) {
a#R-logo {
font-size: 1.5625rem;
margin-top: -.1875rem;
}
#R-logo svg {
margin-bottom: -.75rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
}
}
</style>
<a id="R-logo" href="/index.html">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.044 64.044">
<path d="M46.103 136.34c-.642-.394-1.222-2.242-1.98-2.358-.76-.117-1.353.506-1.618 1.519-.266 1.012-.446 4.188.173 5.538.213.435.482.787 1.03.845.547.057.967-.504 1.45-1.027.482-.523.437-.9 1.142-.612.705.289 1.051.4 1.586 1.229.535.828 1.085 4.043.868 5.598-.241 1.458-.531 2.8-.59 4.088.26.075.517.148.772.217 2.68.724 5.373 1.037 7.873.02.001-.028.01-.105.008-.11-.048-.165-.18-.41-.36-.698-.18-.29-.414-.645-.586-1.114a3.212 3.212 0 0 1-.125-1.735c.056-.21.153-.342.249-.475 1.237-1.193 2.932-1.373 4.244-1.384.557-.004 1.389.016 2.198.255.809.239 1.706.724 2.068 1.843.187.578.114 1.17-.043 1.623-.153.438-.369.783-.545 1.091-.178.31-.329.6-.401.821-.007.02-.003.071-.005.094 2.256 1.008 4.716.91 7.189.398.55-.114 1.11-.247 1.673-.377.344-1.085.678-2.145.852-3.208.124-.752.158-2.311-.078-3.538-.118-.613-.306-1.15-.52-1.489-.221-.349-.413-.501-.747-.538-.243-.027-.51.013-.796.098-.67.223-1.33.606-1.966.76l-.008.002-.109.032c-.556.152-1.233.158-1.797-.36-.556-.51-.89-1.367-1.117-2.596-.283-1.528-.075-3.279.89-4.518l.071-.09h.07c.65-.71 1.485-.802 2.16-.599.706.213 1.333.629 1.772.84.736.354 1.185.319 1.475.171.291-.148.5-.439.668-.955.332-1.017.301-2.819.022-4.106-.148-.684-.13-1.292-.13-1.883-1.558-.463-3.067-.982-4.574-1.208-1.128-.169-2.263-.173-3.298.164-.13.046-.256.095-.38.15-.373.164-.633.342-.805.52-.077.098-.081.105-.087.21-.004.068.031.289.13.571.1.282.256.634.467 1.03.279.524.448 1.063.431 1.618a2.12 2.12 0 0 1-.499 1.309 1.757 1.757 0 0 1-.62.51h-.002c-.515.291-1.107.404-1.723.464-.86.083-1.787.026-2.598-.097-.806-.123-1.47-.28-1.948-.555-.444-.256-.79-.547-1.037-.925a2.273 2.273 0 0 1-.356-1.301c.029-.837.403-1.437.625-1.897.111-.23.191-.433.236-.583.045-.15.044-.25.046-.24-.005-.029-.127-.355-1.015-.741-1.138-.495-2.322-.673-3.533-.668h-.015a9.711 9.711 0 0 0-.521.016h-.002c-1.163.057-2.35.308-3.541.569.383 1.531.79 2.753.818 4.502-.096 1.297.158 2.114-1.03 2.935-.85.588-1.508.729-2.15.335" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:1.03763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M61.472 101.34v.002c-.3-.003-.603.01-.894.04-.544.055-1.39.165-1.778.306-1.238.364.13 2.344.41 2.913.28.569.285 2.03.14 2.134-.144.103-.375.261-.934.345-.56.084.03-.037-1.589.086-1.62.122-5.506.29-8.265.248-.022.26-.036.521-.097.808-.309 1.442-.63 3.163-.494 4.074.071.473.168.65.414.8.23.14.737.235 1.62-.004.834-.227 1.3-.442 1.887-.456.595-.016 1.555.472 1.965.717.411.245-.03-.008.002 0s.128.05.176.102c.049.053-.276-.523.104.199.379.721.72 3.256.002 4.68-.46.913-1.01 1.49-1.64 1.711-.63.22-1.229.067-1.734-.135-.881-.353-1.584-.7-2.205-.647-1.199 1.94-1.186 4.17-.6 6.602.097.397.212.814.327 1.23 2.68-.556 5.542-1.016 8.337.132 1.064.437 1.73 1.015 1.902 1.857.169.831-.193 1.508-.438 1.986-.122.238-.23.46-.307.642-.07.164-.096.28-.104.324.069.429.309.723.686.945.385.227.89.355 1.35.423.723.104 1.567.152 2.287.086.693-.064 1.032-.338 1.241-.544a2.447 2.447 0 0 0 .303-.437.175.175 0 0 0 .013-.035c-.004-.066-.037-.246-.195-.527-.46-.816-.87-1.595-.817-2.51.028-.476.218-.938.529-1.288.304-.343.698-.586 1.186-.79 1.442-.606 2.96-.609 4.372-.409 1.525.216 2.963.679 4.378 1.083.226-2.09.784-3.9.592-5.77-.058-.565-.287-1.333-.598-1.827-.32-.508-.59-.717-1.036-.642-.648.11-1.472.935-2.707 1.078-.791.092-1.494-.267-1.95-.86-.45-.583-.678-1.335-.78-2.101-.202-1.525.031-3.229.89-4.27.615-.747 1.45-.887 2.15-.74.687.145 1.307.492 1.857.745v-.002c.546.252 1.033.388 1.281.344a.547.547 0 0 0 .353-.188c.113-.124.242-.35.384-.75.604-1.712.206-3.68-.303-5.654-.667.145-1.336.293-2.018.413-1.341.236-2.73.392-4.136.273-.656-.055-1.695-.085-2.58-.476-.442-.195-.903-.514-1.157-1.093-.259-.591-.205-1.313.08-2.014.223-.64 1.082-2.178.692-2.585-.391-.407-1.651-.56-2.554-.571z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.992837;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M83.128 98.116c-.484 1.875-1.057 3.757-2.486 5.033-.638.57-1.13.666-1.483.548-.401-.134-.715-.506-1.058-.973-.338-.461-.655-.97-1.076-1.332-.192-.165-.404-.315-.683-.38-.279-.066-.599-.02-.9.102-.489.196-.89.58-1.28 1.047a6.1 6.1 0 0 0-.985 1.632c-.234.591-.356 1.174-.277 1.713.072.487.392.977.905 1.185.463.187.926.156 1.36.154.433 0 .843.01 1.242.147.55.189.79.736.822 1.368.034.66-.145 1.412-.393 1.988l-.008.021c-.74 1.705-1.946 2.893-3.004 4.349l-.664.915.979.099c.924.092 1.788.26 2.468.675.46.281 1.806 1.205 2.794 2.222.497.513.888 1.031 1.047 1.502.078.231.095.422.05.6a.93.93 0 0 1-.345.474c-.301.223-.606.395-.864.532l-.354.186c-.107.058-.189.087-.345.228a.637.637 0 0 1 .062-.045l-.064.041-.209.236-.103.343s.003.126.007.152c.003.017.003.007.004.015v.002c.016.195.061.307.133.476a4.1 4.1 0 0 0 .32.596 5.7 5.7 0 0 0 2.8 2.258c.284.108.908.321 1.548.36.33.02.59.015.912-.13h.002c.08-.037.228-.095.382-.281.153-.186.19-.355.212-.445l.019-.075.003-.078c.023-.585-.037-1.296.072-1.899.153-.657.435-.956 1.009-.909 2.771.239 4.74 1.955 6.693 3.83l.742.714.279-1.155c.55-2.29 1.093-4.464 2.928-5.977.692-.57 1.184-.642 1.527-.509.39.151.676.536.996.995.319.458.605.926 1.07 1.212.194.119.464.232.784.209.32-.024.638-.163.988-.384 1.022-.645 1.778-1.756 2.086-2.942.136-.522.102-.991-.046-1.301-.158-.334-.433-.553-.754-.707-.653-.314-1.468-.373-2.094-.486-.825-.15-1.22-.475-1.345-.878-.13-.417 0-.953.335-1.61.6-1.173 1.887-2.602 3.13-3.911l.498-.526-.449-.432c-1.545-1.49-3.163-3.01-5.252-3.715h-.002c-.473-.16-1.097-.413-1.73-.424h-.003c-.311-.004-.596.04-.883.24v.002c-.22.155-.483.537-.583.937l-.008.036-.006.038c-.116.773-.06 1.467-.217 1.995-.063.212-.198.418-.359.507-.202.111-.492.153-.976.072-.582-.097-1.978-.69-3.021-1.503-.523-.407-.934-.85-1.117-1.3a1.153 1.153 0 0 1-.083-.63c.03-.184.1-.477.308-.593.21-.116.941-.32 1.377-.642h.002c.192-.141.403-.367.518-.64.114-.275.127-.526.123-.774-.006-.142-.036-.192-.08-.3a8.417 8.417 0 0 0-3-3.027c-1.226-.725-2.585-1.135-3.927-1.539-.434-.12-.844-.111-1.02.466zm.912.947c1.186.364 2.357.718 3.345 1.303 1.035.612 1.864 1.488 2.507 2.528-.514.263-1.095.5-1.44.79-.345.29-.729.914-.815 1.434-.084.509 0 .968.155 1.347.301.74.85 1.276 1.44 1.735 1.18.92 2.554 1.545 3.47 1.698.604.1 1.186.088 1.739-.216.594-.327.935-.911 1.088-1.427.264-.884.193-1.664.262-2.17h.1c.3.006.926.206 1.417.371 1.646.554 3.044 1.773 4.431 3.089-1.102 1.174-2.222 2.423-2.888 3.73-.42.823-.73 1.789-.453 2.687.283.913 1.1 1.415 2.138 1.603.691.126 1.472.226 1.84.403.19.091.258.182.278.223.03.064.058.075-.023.387-.21.804-.761 1.598-1.413 2.01-.247.155-.365.183-.407.187-.042.003-.061.002-.172-.066-.144-.088-.455-.473-.772-.929-.317-.454-.714-1.07-1.452-1.356-.783-.304-1.776-.022-2.713.75-1.942 1.6-2.626 3.764-3.146 5.8-1.802-1.676-3.772-3.138-6.589-3.517h-.002c-.346-.095-1.013-.031-1.293.143-.735.501-1.005 1.132-1.168 2.007-.125.69-.082 1.216-.074 1.659-.055.006-.046.01-.104.006-.42-.026-1.035-.215-1.244-.295-.947-.361-1.774-1.006-2.314-1.857-.054-.085-.072-.132-.109-.2l.027-.016c.284-.15.656-.36 1.045-.648.44-.327.789-.798.93-1.35a2.4 2.4 0 0 0-.068-1.379c-.254-.751-.753-1.353-1.295-1.911-1.09-1.124-2.452-2.049-2.99-2.378-.609-.372-1.303-.44-1.981-.56.875-1.094 1.878-2.251 2.596-3.921.294-.823.543-1.907.513-2.658-.049-.97-.489-2.013-1.52-2.367-.579-.2-1.131-.204-1.58-.203-.45.002-.786-.006-.97-.08h-.002c-.264-.107-.236-.108-.268-.33-.025-.17.021-.553.183-.962a4.67 4.67 0 0 1 .725-1.192c.29-.348.617-.59.705-.626.142-.057.176-.05.22-.04.045.011.127.052.263.17.235.201.56.671.92 1.161.354.484.791 1.08 1.543 1.33.8.267 1.784-.052 2.671-.846 1.594-1.424 2.235-3.317 2.714-5.051zm11.705 7.023c-.02.014.042-.002.042 0l-.008.035c.05-.2-.028-.04-.034-.035zM79.472 122.45a.198.198 0 0 1 .005.023v.014c-.002-.01-.003-.03-.005-.037zm-.29.732-.006.01-.044.027c.016-.01.033-.024.05-.036z" style="color:#000;fill:#282828;stroke-width:1.02352;-inkscape-stroke:none" transform="translate(-40.698 -95.175)"/>
<path d="M76.694 128.845c-.85-.012-1.668.253-2.434.67-.01.592-.015 1.17.109 1.772.323 1.573.422 3.553-.07 5.147-.247.804-.684 1.535-1.347 1.891-.663.356-1.467.296-2.362-.159-.522-.266-1.059-.62-1.487-.757-.223-.072-.392-.096-.522-.069-.13.027-.232.094-.362.27-.53.719-.681 1.823-.497 2.876.177 1.012.418 1.438.543 1.56.143.137.26.154.604.055.548-.158 1.523-.857 2.573-.972l.02-.002.5.058c.686.081 1.247.562 1.622 1.19.372.62.591 1.37.73 2.136.279 1.532.25 3.16.083 4.232-.14.91-.394 1.72-.632 2.53 1.719-.385 3.485-.692 5.307-.36 1.174.214 2.749.574 3.762 1.977l.088.122.046.159c.162.551.16 1.114.024 1.578-.13.45-.348.772-.533 1.023-.181.246-.336.444-.437.606-.102.16-.141.275-.145.336-.01.17 0 .197.07.315.057.1.186.242.39.366.408.246 1.106.414 1.843.45a7.842 7.842 0 0 0 2.174-.21 4.28 4.28 0 0 0 .822-.296c.218-.106.385-.242.377-.233l.029-.031c.025-.035.05-.072.05-.068 0-.004 0-.017-.003-.05a2.733 2.733 0 0 0-.21-.579c-.26-.548-.839-1.333-.822-2.46.01-.657.27-1.21.598-1.576.32-.357.696-.575 1.074-.736.759-.323 1.57-.418 2.054-.458 1.653-.136 3.252.296 4.755.765.457.142.905.29 1.352.434.325-2.258.902-4.247.598-6.217-.071-.46-.25-1.169-.486-1.684-.238-.518-.495-.762-.675-.779-.351-.032-.716.14-1.174.418-.457.277-1.005.665-1.695.742-.745.082-1.406-.291-1.84-.908-.428-.608-.653-1.394-.754-2.196-.203-1.596.016-3.377.794-4.493.568-.813 1.358-.984 2.024-.835.65.146 1.243.51 1.769.779.524.267.99.413 1.237.365a.527.527 0 0 0 .346-.2c.11-.132.235-.373.37-.798.612-1.918.27-3.894-.246-6.054-2.815-.851-5.49-1.534-8.089-.267a.727.727 0 0 0-.223.148c-.024.028-.018.021-.026.056.001-.003-.01.178.07.44.162.522.611 1.29.911 1.978l.004.009.029.063.024.084V133c.162.635.016 1.297-.274 1.727-.272.404-.618.636-.952.81-.675.353-1.399.484-1.724.533a5.888 5.888 0 0 1-3.973-.795c-.512-.311-.876-.594-1.133-1.02-.282-.466-.318-1.084-.172-1.557.252-.814.715-1.266.971-1.89a.663.663 0 0 0 .047-.14c.001-.013 0-.006-.007-.037a.761.761 0 0 0-.184-.268c-.264-.267-.865-.595-1.54-.826-1.356-.462-3.07-.659-3.583-.686-.062-.002-.121-.006-.178-.006z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.991342;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
</svg>ipcei-cis
</a>
</div>
<search>
<div class="searchbox default-animation">
<i class="fas fa-search" title="Search (CTRL+ALT+f)"></i>
<label class="a11y-only" for="R-search-by">Search</label>
<input data-search-input id="R-search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
<button class="search-clear" type="button" data-search-clear="" title="Clear search"><i class="fas fa-times" title="Clear search"></i></button>
</div>
</search>
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1722338729" defer></script>
<script src="/js/lunr/lunr.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722338729" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722338729" defer></script>
<script src="/js/search.js?1722338729" defer></script>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<ul>
<li><a class="padding" href="/index.html"><i class="fa-fw fas fa-home"></i> Home</a></li>
</ul>
<hr class="padding">
</div>
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/platform-engineering/index.html" class="parent "><a class="padding" href="/platform-engineering/index.html">Platform Engineering</a><ul id="R-subsections-210cb528a18b32229019c9de4f6a4009" class="morespace collapsible-menu">
<li data-nav-id="/platform-engineering/reference-architecture/index.html" class="active"><a class="padding" href="/platform-engineering/reference-architecture/index.html">Reference Architecture</a></li></ul></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
<div id="R-menu-footer">
<hr class="padding default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter">
<div id="R-prefooter" class="footerLangSwitch footerVariantSwitch footerVisitedLinks">
<ul>
<li id="R-select-language-container" class="footerLangSwitch">
<div class="padding menu-control">
<i class="fa-fw fas fa-language"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-language">Language</label>
<select id="R-select-language" onchange="location = this.querySelector( this.value ).dataset.url;">
<option id="R-select-language-en" value="#R-select-language-en" data-url="/platform-engineering/reference-architecture/index.html" lang="en-us" selected></option>
</select>
</div>
<div class="clear"></div>
</div>
</li>
<li id="R-select-variant-container" class="footerVariantSwitch">
<div class="padding menu-control">
<i class="fa-fw fas fa-paint-brush"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-variant">Theme</label>
<select id="R-select-variant" onchange="window.variants && variants.changeVariant( this.value );">
<option id="R-select-variant-auto" value="auto" selected>Auto</option>
</select>
</div>
<div class="clear"></div>
</div>
<script>window.variants && variants.markSelectedVariant();</script>
</li>
<li class="footerVisitedLinks">
<div class="padding menu-control">
<i class="fa-fw fas fa-history"></i>
<span>&nbsp;</span>
<div class="control-style">
<button onclick="clearHistory();">Clear History</button>
</div>
<div class="clear"></div>
</div>
</li>
</ul>
</div>
<div id="R-footer" class="footerFooter showFooter">
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
</div>
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1722338729" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722338729" defer></script>
<script src="/js/theme.js?1722338729" defer></script>
</body>
</html>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Reference Architecture :: IPCEI-CIS Developer Framework Documentation</title>
<link>http://localhost:1313/platform-engineering/reference-architecture/index.html</link>
<description>The Structure of a Successful Internal Developer Platform In a platform reference architecture there are five main planes that make up an IDP:&#xA;Developer Control Plane this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. Integration and Delivery Plane this plane is about building and storing the image, creating app and infra configs, and deploying the final state.</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/platform-engineering/reference-architecture/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View file

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://localhost:1313/platform-engineering/index.html</loc>
</url>
<url>
<loc>http://localhost:1313/categories/index.html</loc>
</url>

View file

@ -17,17 +17,17 @@
<meta itemprop="name" content="Tags :: IPCEI-CIS Developer Framework Documentation">
<title>Tags :: IPCEI-CIS Developer Framework Documentation</title>
<link href="/tags/index.xml" rel="alternate" type="application/rss+xml" title="Tags :: IPCEI-CIS Developer Framework Documentation">
<link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722331657" rel="stylesheet">
<link href="/css/auto-complete.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722331657" rel="stylesheet">
<link href="/css/fonts.css?1722331657" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722331657" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722331657" rel="stylesheet">
<link href="/css/theme-auto.css?1722331657" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722331657" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722331657" rel="stylesheet">
<link href="/css/print.css?1722331657" rel="stylesheet" media="print">
<script src="/js/variant.js?1722331657"></script>
<link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/nucleus.css?1722335740" rel="stylesheet">
<link href="/css/auto-complete.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1722335740" rel="stylesheet">
<link href="/css/fonts.css?1722335740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1722335740" rel="stylesheet"></noscript>
<link href="/css/theme.css?1722335740" rel="stylesheet">
<link href="/css/theme-auto.css?1722335740" rel="stylesheet" id="R-variant-style">
<link href="/css/chroma-auto.css?1722335740" rel="stylesheet" id="R-variant-chroma-style">
<link href="/css/variant.css?1722335740" rel="stylesheet">
<link href="/css/print.css?1722335740" rel="stylesheet" media="print">
<script src="/js/variant.js?1722335740"></script>
<script>
window.relearn = window.relearn || {};
window.relearn.relBasePath='..';
@ -163,12 +163,12 @@
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1722331657" defer></script>
<script src="/js/lunr/lunr.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722331657" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722331657" defer></script>
<script src="/js/search.js?1722331657" defer></script>
<script src="/js/auto-complete.js?1722335740" defer></script>
<script src="/js/lunr/lunr.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1722335740" defer></script>
<script src="/js/lunr/lunr.en.min.js?1722335740" defer></script>
<script src="/js/search.js?1722335740" defer></script>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<ul>
@ -179,6 +179,7 @@
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/platform-engineering/index.html" class=""><a class="padding" href="/platform-engineering/index.html">Platform Engineering</a></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
@ -231,8 +232,8 @@
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1722331657" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722331657" defer></script>
<script src="/js/theme.js?1722331657" defer></script>
<script src="/js/clipboard.min.js?1722335740" defer></script>
<script src="/js/perfect-scrollbar.min.js?1722335740" defer></script>
<script src="/js/theme.js?1722335740" defer></script>
</body>
</html>