├── .github └── workflows │ ├── main.yml │ └── staging.yml ├── .gitignore ├── .gitmodules ├── Dockerfile ├── LICENSE.md ├── README.md ├── archetypes └── default.md ├── config ├── production │ └── config.toml └── staging │ └── config.toml ├── content ├── _assets │ └── images │ │ ├── 3_panes_of_glass.png │ │ ├── aiven-pick-cloud.png │ │ ├── alan_barr.jpg │ │ ├── app_config_mgmt_after.png │ │ ├── app_config_mgmt_before.png │ │ ├── choreo.png │ │ ├── components-of-a-Developer-Portal.png │ │ ├── environment-management-after.png │ │ ├── environment-management-before.png │ │ ├── gitops.png │ │ ├── idp-and-gitops.png │ │ ├── idp_under_the_hood.png │ │ ├── infrastructure-orchestration.png │ │ ├── james_whinn.jpg │ │ └── pergola.png ├── _index.md ├── community │ ├── _index.md │ ├── articles.md │ ├── consultancies │ │ ├── _index.md │ │ ├── axem.md │ │ ├── cloudraft.md │ │ ├── codecentric.md │ │ ├── consol.md │ │ ├── container-solutions.md │ │ ├── croz.md │ │ ├── eficode.md │ │ ├── equalexperts.md │ │ ├── expert-thinking.md │ │ ├── hallatek.md │ │ ├── infracloud-technologies.md │ │ ├── livewyer.md │ │ ├── masterpoint.md │ │ ├── northcode.md │ │ ├── platform-engineers-io.md │ │ ├── polarsquad.md │ │ ├── tektit.md │ │ ├── thoughtworks.md │ │ └── virtuslab.md │ ├── events.md │ ├── experts │ │ ├── _index.md │ │ ├── alan_barr.md │ │ └── james_whinn.md │ ├── join.md │ └── war-stories.md ├── ecosystem │ ├── _index.md │ ├── paas-devops-platforms │ │ ├── _index.md │ │ ├── choreo.md │ │ ├── coherence.md │ │ ├── devopsbox.md │ │ ├── dyrectorio.md │ │ ├── giantswarm.md │ │ ├── gopaddle.md │ │ ├── mia-platform.md │ │ ├── nullstone.md │ │ ├── pergola.md │ │ ├── platformsh.md │ │ ├── portainer-ce.md │ │ └── qovery.md │ └── platform-tooling │ │ ├── _index.md │ │ ├── cd-operators │ │ ├── _index.md │ │ ├── argo-cd.md │ │ ├── flux-cd.md │ │ ├── jenkins.md │ │ └── kubevela.md │ │ ├── ci-tools │ │ ├── _index.md │ │ ├── bytebase.md │ │ ├── circleci.md │ │ ├── codefresh.md │ │ ├── github-actions.md │ │ ├── gitlab.md │ │ └── jenkins-ci.md │ │ ├── databases │ │ ├── _index.md │ │ ├── aiven.md │ │ ├── aws-rds.md │ │ ├── azure-sql.md │ │ ├── google-cloudsql.md │ │ ├── mongodb.md │ │ └── postgresql.md │ │ ├── developer-portals │ │ ├── _index.md │ │ ├── arctir-flightdeck.md │ │ ├── atlassian-compass.md │ │ ├── backstage.md │ │ ├── cortex.md │ │ ├── cycloid.md │ │ ├── flanksource-mission-control.md │ │ ├── opslevel.md │ │ ├── port.md │ │ ├── relyio.md │ │ ├── roadie.md │ │ └── tempest.md │ │ ├── image-registries │ │ ├── _index.md │ │ ├── amazon-ecr.md │ │ ├── azure-container-registry.md │ │ ├── dockerhub.md │ │ ├── gcp-artifact-registry.md │ │ ├── gcp-container-registry.md │ │ └── harbor.md │ │ ├── in-cluster-resources │ │ ├── _index.md │ │ ├── elastic.md │ │ ├── mariadb.md │ │ ├── rabbitmq.md │ │ └── redis.md │ │ ├── infrastructure-as-code │ │ ├── _index.md │ │ ├── pulumi.md │ │ └── terraform-by-hashicorp.md │ │ ├── infrastructure-control-planes │ │ ├── _index.md │ │ ├── nitric.md │ │ └── upbound.md │ │ ├── kubernetes-control-planes │ │ ├── _index.md │ │ ├── ambassador-labs.md │ │ ├── gimlet.md │ │ └── shipa.md │ │ ├── kubernetes │ │ ├── _index.md │ │ ├── kubernetes-self-hosted │ │ │ ├── _index.md │ │ │ ├── charmed-k8s.md │ │ │ ├── openshift.md │ │ │ └── rancher.md │ │ └── managed-kubernetes │ │ │ ├── _index.md │ │ │ ├── amazon-eks.md │ │ │ ├── azure-aks.md │ │ │ ├── google-gke.md │ │ │ └── oracle-oke.md │ │ ├── monitoring │ │ ├── _index.md │ │ ├── canary-checker.md │ │ ├── datadog.md │ │ ├── dynatrace.md │ │ ├── elastic.md │ │ ├── grafana.md │ │ ├── instana.md │ │ ├── new-relic.md │ │ └── prometheus.md │ │ ├── platform-orchestrators │ │ ├── _index.md │ │ ├── humanitec.md │ │ └── massdriver.md │ │ └── security │ │ ├── _index.md │ │ ├── dynatrace.md │ │ ├── gremlin.md │ │ └── selefra.md ├── learn │ ├── _index.md │ ├── core-components │ │ ├── _index.md │ │ ├── application-configuration-management.md │ │ ├── deployment-management.md │ │ ├── environment-management.md │ │ ├── infrastructure-orchestration.md │ │ └── role-based-access-control.md │ ├── how-do-internal-developer-platforms-relate-to-other-concepts.md │ ├── what-is-an-internal-developer-platform.md │ ├── when-do-you-need-an-internal-developer-platform.md │ └── why-use-an-internal-developer-platform.md └── license.md ├── default.conf ├── layouts ├── partials │ └── docs │ │ └── inject │ │ ├── body.html │ │ └── head.html └── shortcodes │ └── hint.html └── static ├── favicon.png ├── favicon.svg ├── full_logo.png └── logo.png /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CI for Production 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - name: Checkout repository and submodules 13 | uses: actions/checkout@v2 14 | with: 15 | submodules: recursive 16 | 17 | - name: Build and Push to Humanitec 18 | uses: humanitec/build-push-to-humanitec@v1 19 | with: 20 | humanitec-token: ${{ secrets.HUMANITEC_TOKEN }} 21 | organization: internaldeveloperplatform 22 | additional-docker-arguments: --build-arg env=production 23 | -------------------------------------------------------------------------------- /.github/workflows/staging.yml: -------------------------------------------------------------------------------- 1 | name: CI for Staging 2 | 3 | on: 4 | push: 5 | branches: [staging] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - name: Checkout repository and submodules 13 | uses: actions/checkout@v2 14 | with: 15 | submodules: recursive 16 | 17 | - name: Build and Push to Humanitec 18 | uses: humanitec/build-push-to-humanitec@v1 19 | with: 20 | humanitec-token: ${{ secrets.HUMANITEC_TOKEN }} 21 | organization: internaldeveloperplatform 22 | additional-docker-arguments: --build-arg env=staging 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | config/apache/.ht* 2 | /.idea 3 | .hugo_build.lock 4 | /resources 5 | /public -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "themes/book"] 2 | path = themes/book 3 | url = https://github.com/alex-shpak/hugo-book 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM hugomods/hugo:exts-0.136.4 AS build 2 | 3 | ARG env=staging 4 | 5 | COPY ./ /site 6 | WORKDIR /site 7 | RUN hugo --environment $env 8 | 9 | #Copy static files to Nginx 10 | FROM nginx:alpine 11 | COPY --from=build /site/public /usr/share/nginx/html 12 | COPY default.conf /etc/nginx/conf.d/default.conf 13 | 14 | WORKDIR /usr/share/nginx/html -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Internal Developer Platform 2 | 3 | This repository holds the source code for the public community page [Internal Developer Platform](https://internaldeveloperplatform.org). We welcome public contributions. Please make sure to follow the instructions below to contribute. You can reach out to us [via email](mailto:info@internaldeveloperplatform.org) in case of any questions. 4 | 5 | ## How to contribute 6 | 7 | We are using Hugo to generate a static site from the md-files in this repository. In order to contribute, clone this repository and make your changes. Make sure to test your changes locally (see next section) before submitting a pull request. Once you are happy with your contribution, submit a pull request against the `main` branch (or the `staging` branch if your changes are more experimental). 8 | 9 | ## Test the site locally 10 | 11 | Make sure that you have Hugo installed. If not then please follow the instructions [here](https://gohugo.io/getting-started/installing/). Check out the repository and make sure that you also check out the required submodules: 12 | 13 | ``` 14 | git submodule update --init --recursive 15 | ``` 16 | 17 | Then run the following command in the ROOT of the repository: 18 | 19 | ``` 20 | hugo serve --environment staging 21 | ``` 22 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /config/production/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = 'https://internaldeveloperplatform.org/' 2 | title = 'Internal Developer Platform' 3 | theme = 'book' 4 | 5 | # (Optional) Set Google Analytics if you use it to track your website. 6 | # Always put it on the top of the configuration file, otherwise it won't work 7 | # googleAnalytics = "UA-XXXXXXXXX-X" 8 | 9 | # (Optional) If you provide a Disqus shortname, comments will be enabled on 10 | # all pages. 11 | # disqusShortname = "my-site" 12 | 13 | # (Optional) Set this to true if you use capital letters in file names 14 | disablePathToLower = true 15 | 16 | # (Optional) Set this to true to enable 'Last Modified by' date and git author 17 | # information on 'doc' type pages. 18 | enableGitInfo = true 19 | 20 | # (Optional) Theme is intended for documentation use, therefore it doesn't render taxonomy. 21 | # You can remove related files with config below 22 | disableKinds = ['taxonomy'] 23 | 24 | # Needed for mermaid/katex shortcodes 25 | [markup] 26 | [markup.goldmark.renderer] 27 | unsafe = true 28 | 29 | [markup.tableOfContents] 30 | startLevel = 2 31 | 32 | # Multi-lingual mode config 33 | # There are different options to translate files 34 | # See https://gohugo.io/content-management/multilingual/#translation-by-filename 35 | # And https://gohugo.io/content-management/multilingual/#translation-by-content-directory 36 | [languages] 37 | [languages.en] 38 | languageName = 'English' 39 | contentDir = 'content' 40 | weight = 1 41 | 42 | [menu] 43 | # [[menu.before]] 44 | [[menu.after]] 45 | name = "GitHub" 46 | url = "https://github.com/internaldeveloperplatform/public-site" 47 | weight = 10 48 | 49 | [[menu.after]] 50 | name = "Contact" 51 | url = "mailto:info@internaldeveloperplatform.org" 52 | weight = 20 53 | 54 | [params] 55 | # (Optional, default light) Sets color theme: light, dark or auto. 56 | # Theme 'auto' switches between dark and light modes based on browser/os preferences 57 | BookTheme = 'light' 58 | 59 | # (Optional, default true) Controls table of contents visibility on right side of pages. 60 | # Start and end levels can be controlled with markup.tableOfContents setting. 61 | # You can also specify this parameter per page in front matter. 62 | BookToC = true 63 | 64 | # (Optional, default none) Set the path to a logo for the book. If the logo is 65 | # /static/logo.png then the path would be logo.png 66 | BookLogo = 'logo.png' 67 | 68 | # (Optional, default none) Set leaf bundle to render as side menu 69 | # When not specified file structure and weights will be used 70 | # BookMenuBundle = '/menu' 71 | 72 | # (Optional, default docs) Specify root page to render child pages as menu. 73 | # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/ 74 | # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/' 75 | BookSection = '*' 76 | 77 | # Set source repository location. 78 | # Used for 'Last Modified' and 'Edit this page' links. 79 | BookRepo = 'https://github.com/internaldeveloperplatform/public-site' 80 | 81 | # Enable "Edit this page" links for 'doc' page type. 82 | # Disabled by default. Uncomment to enable. Requires 'BookRepo' param. 83 | # Edit path must point to root directory of repo. 84 | # BookEditPath = 'edit/master/public-site' 85 | 86 | # Configure the date format used on the pages 87 | # - In git information 88 | # - In blog posts 89 | BookDateFormat = 'January 2, 2006' 90 | 91 | # (Optional, default true) Enables search function with flexsearch, 92 | # Index is built on fly, therefore it might slowdown your website. 93 | # Configuration for indexing can be adjusted in i18n folder per language. 94 | BookSearch = true 95 | 96 | # (Optional, default true) Enables comments template on pages 97 | # By default partals/docs/comments.html includes Disqus template 98 | # See https://gohugo.io/content-management/comments/#configure-disqus 99 | # Can be overwritten by same param in page frontmatter 100 | BookComments = false 101 | 102 | # /!\ This is an experimental feature, might be removed or changed at any time 103 | # (Optional, experimental, default false) Enables portable links and link checks in markdown pages. 104 | # Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode 105 | # Theme will print warning if page referenced in markdown does not exists. 106 | BookPortableLinks = true 107 | 108 | # /!\ This is an experimental feature, might be removed or changed at any time 109 | # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use. 110 | BookServiceWorker = true 111 | 112 | # /!\ This is an experimental feature, might be removed or changed at any time 113 | # (Optional, experimental, default false) Enables a drop-down menu for translations only if a translation is present. 114 | BookTranslatedOnly = true 115 | 116 | # Google Tag Manager 117 | googleTagManagerId = "GTM-M4F8PQZ" 118 | 119 | # Add image for Open Graph 120 | images = ["full_logo.png"] 121 | -------------------------------------------------------------------------------- /config/staging/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = 'https://howehuelsoconnellwindlerwatsica.newapp.io/' 2 | title = 'Internal Developer Platform' 3 | theme = 'book' 4 | 5 | # (Optional) Set Google Analytics if you use it to track your website. 6 | # Always put it on the top of the configuration file, otherwise it won't work 7 | # googleAnalytics = "UA-XXXXXXXXX-X" 8 | 9 | # (Optional) If you provide a Disqus shortname, comments will be enabled on 10 | # all pages. 11 | # disqusShortname = "my-site" 12 | 13 | # (Optional) Set this to true if you use capital letters in file names 14 | disablePathToLower = true 15 | 16 | # (Optional) Set this to true to enable 'Last Modified by' date and git author 17 | # information on 'doc' type pages. 18 | enableGitInfo = true 19 | 20 | # (Optional) Theme is intended for documentation use, therefore it doesn't render taxonomy. 21 | # You can remove related files with config below 22 | disableKinds = ['taxonomy'] 23 | 24 | # Needed for mermaid/katex shortcodes 25 | [markup] 26 | [markup.goldmark.renderer] 27 | unsafe = true 28 | 29 | [markup.tableOfContents] 30 | startLevel = 2 31 | 32 | # Multi-lingual mode config 33 | # There are different options to translate files 34 | # See https://gohugo.io/content-management/multilingual/#translation-by-filename 35 | # And https://gohugo.io/content-management/multilingual/#translation-by-content-directory 36 | [languages] 37 | [languages.en] 38 | languageName = 'English' 39 | contentDir = 'content' 40 | weight = 1 41 | 42 | [menu] 43 | # [[menu.before]] 44 | [[menu.after]] 45 | name = "GitHub" 46 | url = "https://github.com/internaldeveloperplatform/public-site" 47 | weight = 10 48 | 49 | [[menu.after]] 50 | name = "Contact" 51 | url = "mailto:info@internaldeveloperplatform.org" 52 | weight = 20 53 | 54 | [params] 55 | # (Optional, default light) Sets color theme: light, dark or auto. 56 | # Theme 'auto' switches between dark and light modes based on browser/os preferences 57 | BookTheme = 'light' 58 | 59 | # (Optional, default true) Controls table of contents visibility on right side of pages. 60 | # Start and end levels can be controlled with markup.tableOfContents setting. 61 | # You can also specify this parameter per page in front matter. 62 | BookToC = true 63 | 64 | # (Optional, default none) Set the path to a logo for the book. If the logo is 65 | # /static/logo.png then the path would be logo.png 66 | BookLogo = 'logo.png' 67 | 68 | # (Optional, default none) Set leaf bundle to render as side menu 69 | # When not specified file structure and weights will be used 70 | # BookMenuBundle = '/menu' 71 | 72 | # (Optional, default docs) Specify root page to render child pages as menu. 73 | # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/ 74 | # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/' 75 | BookSection = '*' 76 | 77 | # Set source repository location. 78 | # Used for 'Last Modified' and 'Edit this page' links. 79 | BookRepo = 'https://github.com/internaldeveloperplatform/public-site' 80 | 81 | # Enable "Edit this page" links for 'doc' page type. 82 | # Disabled by default. Uncomment to enable. Requires 'BookRepo' param. 83 | # Edit path must point to root directory of repo. 84 | # BookEditPath = 'edit/master/public-site' 85 | 86 | # Configure the date format used on the pages 87 | # - In git information 88 | # - In blog posts 89 | BookDateFormat = 'January 2, 2006' 90 | 91 | # (Optional, default true) Enables search function with flexsearch, 92 | # Index is built on fly, therefore it might slowdown your website. 93 | # Configuration for indexing can be adjusted in i18n folder per language. 94 | BookSearch = true 95 | 96 | # (Optional, default true) Enables comments template on pages 97 | # By default partals/docs/comments.html includes Disqus template 98 | # See https://gohugo.io/content-management/comments/#configure-disqus 99 | # Can be overwritten by same param in page frontmatter 100 | BookComments = false 101 | 102 | # /!\ This is an experimental feature, might be removed or changed at any time 103 | # (Optional, experimental, default false) Enables portable links and link checks in markdown pages. 104 | # Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode 105 | # Theme will print warning if page referenced in markdown does not exists. 106 | BookPortableLinks = true 107 | 108 | # /!\ This is an experimental feature, might be removed or changed at any time 109 | # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use. 110 | BookServiceWorker = true 111 | 112 | # /!\ This is an experimental feature, might be removed or changed at any time 113 | # (Optional, experimental, default false) Enables a drop-down menu for translations only if a translation is present. 114 | BookTranslatedOnly = true 115 | 116 | # Add image for Open Graph 117 | images = ["full_logo.png"] 118 | -------------------------------------------------------------------------------- /content/_assets/images/3_panes_of_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/3_panes_of_glass.png -------------------------------------------------------------------------------- /content/_assets/images/aiven-pick-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/aiven-pick-cloud.png -------------------------------------------------------------------------------- /content/_assets/images/alan_barr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/alan_barr.jpg -------------------------------------------------------------------------------- /content/_assets/images/app_config_mgmt_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/app_config_mgmt_after.png -------------------------------------------------------------------------------- /content/_assets/images/app_config_mgmt_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/app_config_mgmt_before.png -------------------------------------------------------------------------------- /content/_assets/images/choreo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/choreo.png -------------------------------------------------------------------------------- /content/_assets/images/components-of-a-Developer-Portal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/components-of-a-Developer-Portal.png -------------------------------------------------------------------------------- /content/_assets/images/environment-management-after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/environment-management-after.png -------------------------------------------------------------------------------- /content/_assets/images/environment-management-before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/environment-management-before.png -------------------------------------------------------------------------------- /content/_assets/images/gitops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/gitops.png -------------------------------------------------------------------------------- /content/_assets/images/idp-and-gitops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/idp-and-gitops.png -------------------------------------------------------------------------------- /content/_assets/images/idp_under_the_hood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/idp_under_the_hood.png -------------------------------------------------------------------------------- /content/_assets/images/infrastructure-orchestration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/infrastructure-orchestration.png -------------------------------------------------------------------------------- /content/_assets/images/james_whinn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/james_whinn.jpg -------------------------------------------------------------------------------- /content/_assets/images/pergola.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/content/_assets/images/pergola.png -------------------------------------------------------------------------------- /content/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Internal Developer Platform" 3 | weight=0 4 | +++ 5 | 6 | # Internal Developer Platform 7 | 8 | _Everything the WWW has around Internal Developer Platforms in one curated space. It helps you understand the why, how, what and who._ 9 | 10 | ## A modern way to run engineering teams 11 | 12 | While self-built IDPs have been around in elite teams for around 5 years, they’re now going mainstream in 2021, embraced by huge enterprises like Spotify, Airbnb, and Zalando. 13 | 14 | > "I'm convinced the majority of people managing infrastructure just want a PaaS. The only requirement: it has to be built by them." 15 | > 16 | > — Kelsey Hightower (@kelseyhightower), April 11, 2017 17 | 18 | {{< button relref="learn/what-is-an-internal-developer-platform" >}} 19 | -> What is an Internal Developer Platform (IDP) 20 | {{< /button >}} 21 | 22 | ## How we curate this site 23 | 24 | The initial contributors to this site built Internal Developer Platforms (IDPs) in many different contexts. Think product managers for internal developer tooling at industry leaders like Google, tech management at McKinsey, and solution architects building internal platforms for their clients. Some of them are working now for Humanitec, the market leader in IDPs. 25 | 26 | On this site, we want to gather, share and synthesize all our knowledge and experience around building IDPs. We want to provide a space where we can share systemic problems around internal developer tooling and software delivery. We want to contribute to a better understanding of common and complex problems and share paths to conceptual solutions. 27 | 28 | In addition, we want to provide you with all the relevant news, events, and information about IDP-related tooling. 29 | 30 | ## Who should read the Internal Developer Platform site? 31 | 32 | This site is for everyone and anyone who is interested in how to provide a better developer experience to dev teams and make software delivery more efficient. 33 | 34 | ## How to contribute to Internal Developer Platform? 35 | 36 | This is a living and breathing document. We are embracing input from the community. The easiest way to contribute is by submitting a pull request to our public [GitHub repository](https://github.com/internaldeveloperplatform/public-site). You can also reach out to us via an email to [info@internaldeveloperplatform.org](mailto:info@internaldeveloperplatform.org). 37 | -------------------------------------------------------------------------------- /content/community/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Community" 3 | bookFlatSection=true 4 | weight=30 5 | +++ -------------------------------------------------------------------------------- /content/community/consultancies/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Consultancies" 3 | url="/consultancies" 4 | bookCollapseSection=true 5 | weight=60 6 | +++ 7 | 8 | # Consultancies 9 | 10 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing a great consultancy? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | There are a number of great DevOps consultancies out there that can help you to build your own Internal Developer Platform (IDP). We will enhance this section step by step. 13 | 14 | | **Consultancy** | 15 | |---------------------------------------------------------------------| 16 | | [axem]({{< relref "axem" >}}) | 17 | | [Cloudraft]({{< relref "cloudraft" >}}) | 18 | | [Codecentric]({{< relref "codecentric" >}}) | 19 | | [CROZ]({{< relref "croz" >}}) | 20 | | [ConSol]({{< relref "consol" >}}) | 21 | | [Container Solutions]({{< relref "container-solutions" >}}) | 22 | | [Eficode]({{< relref "eficode" >}}) | 23 | | [EqualExperts]({{< relref "equalexperts" >}}) | 24 | | [Expert Thinking]({{< relref "expert-thinking" >}}) | 25 | | [Hallatek]({{< relref "hallatek" >}}) | 26 | | [InfraCloud Technologies]({{< relref "infracloud-technologies" >}}) | 27 | | [LiveWyer]({{< relref "livewyer" >}}) | 28 | | [Masterpoint]({{< relref "masterpoint" >}}) | 29 | | [NorthCode]({{< relref "northcode" >}}) | 30 | | [Platform Engineers]({{< relref "platform-engineers-io" >}}) | 31 | | [Polarsquad]({{< relref "polarsquad" >}}) | 32 | | [Tektit Consulting]({{< relref "tektit" >}}) | 33 | | [Thoughtworks]({{< relref "thoughtworks" >}}) | 34 | | [VirtusLab]({{< relref "virtuslab" >}}) | 35 | -------------------------------------------------------------------------------- /content/community/consultancies/axem.md: -------------------------------------------------------------------------------- 1 | 2 | +++ 3 | title="axem" 4 | url="/consultancies/axem" 5 | +++ 6 | 7 | # axem 8 | 9 | Here at [axem](https://axemsolutions.io/), we are dedicated to helping individuals and businesses 10 | create a productive and enjoyable embedded development experience. We provide services to build and 11 | manage the whole development infrastructure with the power of DevOps methodologies combined with our 12 | expertise in embedded systems. We create consistent and scalable customized Development Environments 13 | that enable the developers to solely focus on their tasks. Our solutions are specifically tailored 14 | for tools used in the embedded industry, covering the developer's PC and the CI/CD server. Our main 15 | goal is to create and share better, accelerated embedded solutions, to get back the lost time and 16 | effort. We have no intention of reinventing the wheel, but we want it to go as smoothly as possible. 17 | 18 | ## DEM 19 | 20 | We are building a tool called 21 | [Development Environment Manager (DEM)](https://axemsolutions.io/dem_doc/), which provides a 22 | convenient way for developers to set up the right tooling for a project. The DEM is designed to act 23 | as the core element of an IDP. 24 | 25 | ## Blog 26 | 27 | Check out our [blog](https://axemsolutions.io/blog/index.html) to learn more about us! 28 | 29 | {{< button href="https://axemsolutions.io/" target="_blank" >}} 30 | -> axem 31 | {{< /button >}} -------------------------------------------------------------------------------- /content/community/consultancies/cloudraft.md: -------------------------------------------------------------------------------- 1 | 2 | +++ 3 | title="Cloudraft" 4 | url="/consultancies/cloudraft" 5 | +++ 6 | 7 | # Cloudraft 8 | 9 | Cloudraft is a DevOps & Platform Engineering Consulting company. We make developers happy by leveraging cloud-native solutions and reducing friction by implementing automation and setting up an easy-to-use platform using Cloud and Kubernetes. We have served early-stage companies to scale-ups. 10 | 11 | ## Blog 12 | 13 | Check out our [blog](https://cloudraft.io/blog) to learn more about us! 14 | 15 | {{< button href="https://cloudraft.io/" target="_blank" >}} 16 | -> Cloudraft 17 | {{< /button >}} 18 | -------------------------------------------------------------------------------- /content/community/consultancies/codecentric.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Codecentric" 3 | url="/consultancies/codecentric" 4 | +++ 5 | 6 | # Codecentric 7 | 8 | {{< button href="https://www.codecentric.de/" target="_blank" >}} 9 | -> Codecentric 10 | {{< /button >}} 11 | -------------------------------------------------------------------------------- /content/community/consultancies/consol.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="ConSol" 3 | url="/consultancies/consol" 4 | +++ 5 | 6 | # ConSol 7 | 8 | ConSol is an IT consulting company specializing in software development, 9 | platform engineering, cloud native solutions, and IT operations. We have 10 | a passion for new technologies and are big fans of OpenSource. We 11 | partner with OpenSource-minded industry leaders of enterprise container 12 | platforms. 13 | 14 | Build it once, but build it right! Our platform engineering team will 15 | help you build flexible Internal Developer Platforms focused on your 16 | needs. We rely on Kubernetes as a foundation and build solid tools for 17 | your developer teams on top of it. GitOps and automation are key but we 18 | always keep an eye on observability and operability as well. 19 | 20 | ## Article 21 | 22 | - [What is platform engineering and why seems everybody suddenly to be talking about it](https://blog.consol.de/it-consulting-solutions/what-is-platform-engineering/) 23 | 24 | {{< button href="https://www.consol.de/" target="_blank" >}} 25 | -> ConSol 26 | {{< /button >}} 27 | -------------------------------------------------------------------------------- /content/community/consultancies/container-solutions.md: -------------------------------------------------------------------------------- 1 | 2 | +++ 3 | title="Container Solutions" 4 | url="/consultancies/container-solutions" 5 | +++ 6 | 7 | # Container Solutions 8 | 9 | Container Solutions is a professional services company focused on cloud-native technology. They guide companies in their cloud-native transformations. This process often involves building some kind of Internal Developer Platform (IDP), which made them into experts in this field. Their approach to building IDPs includes: 10 | 11 | - Creating an awesome Platform Team 12 | - Focus on the user experience both for development and operations teams (Developer Experience, Operations Experience) 13 | - Use opensource tools as much as possible (e.g. Docker, Kubernetes, etc.) 14 | - Build a modular system for future evolution, make each component replaceable. 15 | - Use GitOps to manage intended system state 16 | 17 | ## War Stories 18 | 19 | - [\# Building a Large-Scale, Continuous Delivery Platform: a Case Study](https://blog.container-solutions.com/building-a-large-scale-continuous-delivery-platform-a-case-study) 20 | 21 | ## Articles 22 | 23 | - [GitOps: The Bad and the Ugly](https://blog.container-solutions.com/gitops-limitations) 24 | - [Deployment Automation on Kubernetes Part 1](https://blog.container-solutions.com/deep-dive-deployment-automation-for-applications-on-kubernetes-part-1) & [Part 2](https://blog.container-solutions.com/deep-dive-deployment-automation-for-applications-on-kubernetes-part-2) 25 | - [Kubernetes Native CI/CD: From Knative Build to TektonCD](https://blog.container-solutions.com/kubernetes-native-ci/cd-from-knative-build-to-tektoncd) 26 | - [Enterprise Grade CI/CD with GitOps](https://blog.container-solutions.com/gitops-case-study) 27 | 28 | {{< button href="https://www.container-solutions.com/" target="_blank" >}} 29 | -> Container Solutions 30 | {{< /button >}} 31 | -------------------------------------------------------------------------------- /content/community/consultancies/croz.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="CROZ" 3 | url="/consultancies/croz" 4 | +++ 5 | 6 | # CROZ 7 | 8 | There are a lot of challenges and risks in building the appropriate digital platform, one that best fits an organization. 9 | 10 | Finding the right balance can be very challenging. Should the platform be built or bought, is your current platform struggling to float due to excessive weight (lacking buoyancy), are you building the right thing… many more questions can come up. 11 | 12 | With our years of experience and many effective platforms we’ve helped to build, we are more than capable of helping you understand and answer those questions by applying Platform Engineering principles and viewing the platform as a product – a platform that should continuously evolve and enable fast flow of value. 13 | 14 | {{< button href="https://croz.net/services/strategy-and-service-design?utm_source=internaldeveloperplatform&utm_medium=webpage&utm_campaign=PlatformEngineering" target="_blank" >}}Strategy & Service Design{{< /button >}} 15 | {{< button href="https://croz.net/services/engineering?utm_source=internaldeveloperplatform&utm_medium=webpage&utm_campaign=PlatformEngineering" target="_blank" >}}Software, Data
& AI Engineering{{< /button >}} 16 | {{< button href="https://croz.net/services/operations-support?utm_source=internaldeveloperplatform&utm_medium=webpage&utm_campaign=PlatformEngineering" target="_blank" >}}Operations & Managed Services{{< /button >}} 17 | 18 | ## Platform Engineering Case Studies 19 | 20 | - Read about real-life experience in applying Team Topologies patterns when [Building a successful platform at CROZ](https://teamtopologies.com/industry-examples/building-a-successful-platform-team-at-croz) 21 | - Watch how we help our customers in [building a Successful Platform Team](https://videos.itrevolution.com/watch/549298069). 22 | -------------------------------------------------------------------------------- /content/community/consultancies/eficode.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Eficode" 3 | url="/consultancies/eficode" 4 | +++ 5 | 6 | # Eficode 7 | 8 | {{< button href="https://www.eficode.com/" target="_blank" >}} 9 | -> Eficode 10 | {{< /button >}} 11 | -------------------------------------------------------------------------------- /content/community/consultancies/equalexperts.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="EqualExperts" 3 | url="/consultancies/equalexperts" 4 | +++ 5 | 6 | # EqualExperts 7 | 8 | {{< button href="https://www.equalexperts.com/" target="_blank" >}} 9 | -> EqualExperts 10 | {{< /button >}} 11 | -------------------------------------------------------------------------------- /content/community/consultancies/expert-thinking.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Expert Thinking" 3 | url="/consultancies/expert-thinking" 4 | +++ 5 | 6 | # Expert Thinking 7 | 8 | Expert Thinking is a leading professional services consultancy that works with organisations to adopt cloud-native technologies at scale. 9 | 10 | 11 | {{< button href="https://expert-thinking.co.uk" target="_blank" >}} 12 | -> Expert Thinking 13 | {{< /button >}} -------------------------------------------------------------------------------- /content/community/consultancies/hallatek.md: -------------------------------------------------------------------------------- 1 | 2 | +++ 3 | title="Hallatek" 4 | url="/consultancies/hallatek" 5 | +++ 6 | 7 | # Hallatek 8 | 9 | Hallatek is a professional DevOps company specializing in Kubernetes deployments on-prem, edge, IoT and cloud, and ensuring developer teams get best possible experience adopting and using Kubernetes. 10 | 11 | {{< button href="https://www.hallatek.com/" target="_blank" >}} 12 | -> Hallatek 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/community/consultancies/infracloud-technologies.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="InfraCloud Technologies" 3 | url="/consultancies/infracloud-technologies" 4 | +++ 5 | 6 | # InfraCloud Technologies 7 | 8 | InfraCloud Technologies is a cloud native consulting company which has been building products, services, and solutions to modernize applications and infrastructure for resilience and scalability. InfraCloud was one of the first Kubernetes partners and have been contributing to the open source community around cloud-native technologies. 9 | 10 | InfraCloud is your end-to-end partner for every step of platform engineering - from choosing the right platform to building MVP, integrations, and support. InfraCloud's deep and full-stack platform capabilities, along with robust cloud-native ecosystem exposure help create platforms that are optimized for both experience and performance. 11 | 12 | With InfraCloud, harness the potential of scalable, user-centric platforms to improve the productivity of engineers by reducing their cognitive load to fuel organizational expansion, foster innovation, and drive sustainable growth. 13 | 14 | As a part of CNCF's TAG App Delivery contributors, InfraCloud IDP experts shaped the '[Platform Engineering Maturity Model](https://tag-app-delivery.cncf.io/whitepapers/platform-eng-maturity-model/)', helping organizations understand why & what to build. 15 | 16 | {{< button href="https://www.infracloud.io/platform-engineering-consulting/" target="_blank" >}} 17 | Explore Platform Engineering Capabilities 18 | {{< /button >}} 19 | 20 | 21 | ## Building an OSS Platform? Use this eBook 22 | 23 | InfraCloud wants to empower teams to understand what goes into building a platform & how to get started. Refer to [Platform Engineering OSS Reference Architecture eBook](https://www.infracloud.io/platform-engineering-reference-architecture-ebook/). The 22 page eBook includes framework, maturity questionnaires & required capabilities to build a successful platform. 24 | 25 | 26 | ## Platform Engineering and IDP related Articles 27 | 28 | * [DevOps to Platform Engineering: How We Got Here?](https://www.infracloud.io/blogs/devops-to-platform-engineering-how-we-got-here/) 29 | * [Platform Engineering 101: Get Started with Platforms](https://www.infracloud.io/blogs/platform-engineering-101/) 30 | * [Decoding Workload Specification for Effective Platform Engineering](https://www.infracloud.io/blogs/decoding-workload-specification-for-effective-platform-engineering/) 31 | * [Starting Platform Engineering Journey with Backstage](https://www.infracloud.io/blogs/starting-platform-engineering-journey-backstage/) 32 | * [Mastering Platform Engineering with Kratix](https://www.infracloud.io/blogs/mastering-platform-engineering-with-kratix/) 33 | * [How to Fail at Platform Engineering?](https://www.infracloud.io/blogs/how-to-fail-at-platform-engineering/) 34 | * [Unlocking the Basics of Port](https://www.infracloud.io/blogs/unlocking-basics-of-port/) 35 | * [Taking the Product Approach to Building Platforms](https://www.infracloud.io/blogs/taking-product-approach-to-building-platforms/) 36 | * [Port vs Backstage - Choosing Your Internal Developer Portal](https://www.infracloud.io/blogs/port-vs-backstage-idp-comparison/) 37 | 38 | -------------------------------------------------------------------------------- /content/community/consultancies/livewyer.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="LiveWyer" 3 | url="/consultancies/livewyer" 4 | +++ 5 | 6 | # LiveWyer 7 | 8 | LiveWyer is a cloud platform consultancy dedicated to helping organisations build scalable, efficient, and resilient **Cloud Native** infrastructures. Specialising in **Platform Engineering**, LiveWyer leverages modern DevOps practices and cloud technologies to optimise development, enhance reliability, and boost performance. Their expertise spans **Kubernetes**, cloud platforms such as AWS, GCP, and Azure, and a range of open-source tools tailored to each client’s business needs. 9 | 10 | Understanding that every organisation faces unique challenges, LiveWyer customises its consulting services to align with specific business objectives. By partnering with LiveWyer, clients gain a trusted advisor committed to optimising cloud strategy, maximising technology investments, and empowering teams to deliver exceptional products. 11 | 12 | {{< button href="https://intro.livewyer.io" target="_blank" >}}Find out more about LiveWyer Cloud Native Consultants{{< /button >}} 13 | -------------------------------------------------------------------------------- /content/community/consultancies/masterpoint.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Masterpoint" 3 | url="/consultancies/masterpoint" 4 | +++ 5 | 6 | # Masterpoint 7 | 8 | Is your engineering team struggling to keep pace with the demands of modern software delivery? At Masterpoint, we specialize in platform engineering solutions that streamline your development workflow. We partner with growing organizations to build robust, scalable platforms that integrate cutting-edge practices like Infrastructure as Code (IaC), enhancing standardization and automation. Whether you're looking to optimize your CI/CD pipelines, implement self-service infrastructure, or speed up your time to delivery, we're here to elevate your platform engineering capabilities and accelerate your time to market. 9 | 10 | {{< button href="https://masterpoint.io/" target="_blank" >}}Check us out!{{< /button >}} 11 | -------------------------------------------------------------------------------- /content/community/consultancies/northcode.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="NorthCode" 3 | url="/consultancies/northcode" 4 | +++ 5 | 6 | # NorthCode 7 | 8 | We provide services within DevSecOps include audits, hands-on-work, training, coaching and full solutions. 9 | 10 | {{< button href="https://www.northcode.fi/" target="_blank" >}} 11 | -> NorthCode 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/community/consultancies/platform-engineers-io.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Platform Engineers" 3 | url="/consultancies/platform-engineers-io" 4 | +++ 5 | 6 | # Platform Engineers 7 | 8 | At Platform Engineers, we understand the challenges our clients face when it comes to effectively utilizing cloud infrastructure. With the rise of the platform economy and its impact on various industries, businesses are constantly adapting to new requirements and facing fierce competition. To address these needs, we offer our platform engineering expertise to help businesses achieve success. 9 | 10 | Our solutions provide several key benefits, including enhanced scalability and reliability, accelerated prototyping, and cost savings. By leveraging our expertise, your business can overcome the complexities of the cloud and focus on developing and delivering software solutions. We accomplish this by constructing an internal platform that empowers development teams within your organization to build and deploy applications quickly and efficiently. This approach allows you to redirect your efforts from repetitive, low-level tasks such as infrastructure setup and configuration towards more productive endeavors. 11 | 12 | We're passionate about helping organizations unlock the full potential of the cloud and committed to providing the guidance and support they need to achieve their goals with the help of our team of expert developers with their deep understanding of: 13 | 14 | - Infrastructure-as-code (IaC) tools such as Terraform, CloudFormation, and Ansible 15 | 16 | - Containerization and Clustering tools such as Docker and Kubernetes 17 | 18 | - Monitoring and logging tools such as Prometheus and ELK Stack 19 | 20 | - Continuous integration and continuous delivery (CI/CD) tools such as CircleCI and GitLab 21 | 22 | - Cloud computing platforms such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) 23 | 24 | - Configuration management tools such as Chef and Ansible 25 | 26 | - Version control systems such as Git and SVN 27 | 28 | - Scripting languages such as Python and Bash 29 | 30 | - Collaboration tools such as Jira and Confluence 31 | 32 | Whether you're looking to build a new application or optimize your existing cloud infrastructure, Platform Engineers is here to help. We work closely with you to understand your specific needs and develop a customized solution that meets your unique requirements. Our solutions are scalable, secure, and efficient, designed to help you unlock the full potential of the cutting-edge technology of the cloud. 33 | 34 | Don't let the complexity of the cloud hold you back. Let Platform Engineers help you achieve your goals and make the most of the cloud. Contact us today to learn more! 35 | 36 | {{< button href="https://platformengineers.io/" target="_blank" >}} 37 | Official Website 38 | {{< /button >}} 39 | 40 | ## Case Study 41 | 42 | - [From Complexity to Simplicity: A Cost Reduction Case Study through Infrastructure Consolidation and Automation for a Collaborative Social Media Platform](https://platformengineers.io/case-studies/from-complexity-to-simplicity-case-study-of-infrastructure-consolidation/) 43 | 44 | ## Article 45 | 46 | - [Evolving from Software to Platform Engineering: Our Journey and Why It Matters](https://platformengineers.io/blog/evolving-from-software-to-platform-engineering/) 47 | 48 | -------------------------------------------------------------------------------- /content/community/consultancies/polarsquad.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Polar Squad" 3 | url="/consultancies/polarsquad" 4 | +++ 5 | 6 | # Polar Squad 7 | The best DevOps company* 8 | 9 | We make tech work meaningful. 10 | We build scalable tech organizations by improving software development practices and creating rapid, reliable cloud environments. By transforming tech and culture, we enable people and organizations to focus on the things that matter. 11 | 12 | {{< button href="https://polarsquad.com/" target="_blank" >}} 13 | -> Polar Squad 14 | {{< /button >}} 15 | 16 | * According to us 17 | -------------------------------------------------------------------------------- /content/community/consultancies/tektit.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Tektit" 3 | url="/consultancies/tektit" 4 | +++ 5 | 6 | # Tektit 7 | 8 | {{< button href="https://de.tektitconsulting.com/" target="_blank" >}} 9 | -> Tektit 10 | {{< /button >}} 11 | -------------------------------------------------------------------------------- /content/community/consultancies/thoughtworks.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Thoughtworks" 3 | url="/consultancies/thoughtworks" 4 | +++ 5 | 6 | # Thoughtworks 7 | 8 | Thoughtworks invented the concept of distributed agile and we know how to harness the power of global teams to deliver software excellence at scale. Today, we help our clients create their own path to digital fluency and to build organizational resilience to navigate the future. 9 | 10 | Over the last few years platforms have transformed everything from how we pay for goods, to how we consume our favorite TV shows and movies. They have virtually limitless potential. But as many businesses have discovered, it takes more than the digital platform itself to turn that potential into measurable value. 11 | 12 | {{< button href="https://www.thoughtworks.com/en-us/what-we-do/enterprise-modernization-platforms-cloud/empc-hub" target="_blank" >}}Read more here{{< /button >}} 13 | -------------------------------------------------------------------------------- /content/community/consultancies/virtuslab.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="VirtusLab" 3 | url="/consultancies/virtuslab" 4 | +++ 5 | 6 | # VirtusLab 7 | 8 | VirtusLab provides custom software engineering and consulting services, and specialises in internal developer platforms. We guide our clients through a comprehensive journey that includes discovery and assessment, platform strategy, development, operations and developer community management. 9 | 10 | Our expertise helps you navigate the complexities of platform engineering. A multi-disciplinary team works closely with you to help you realise the full benefits of your internal developer platform, including: 11 | 12 | - Centralise infrastructure and drive adoption of standard architectures 13 | - Facilitate full compliance in a dynamic security and regulatory environment 14 | - Reduce lead time to production by optimising developer friction points 15 | - Control costs, encourage code reuse and replace multiple 'do-it-yourself' solutions. 16 | 17 | What are the advantages of working with VirtusLab’s platform engineers? 18 | 19 | - **Realistic expectations**: We focus on building a strong foundation and delivering high quality work, rather than making unrealistic promises of rapid time-to-market. While it is possible to achieve basic "hello world" functionality quickly, navigating the complexities of the enterprise environment requires a carefully planned effort. 20 | - **Ensure flexibility and avoid lock-ins**: We prioritise time-bound partnerships and avoid locking customers into long-term commitments. Our approach focuses on guiding organisations towards a tech-first mindset. We also actively share knowledge, upskill teams and provide training to ensure long-term sustainability, even after our involvement has ended. 21 | 22 | 23 | {{< button href="https://virtuslab.com/about-us/" target="_blank" >}}Find out more about us here{{< /button >}} 24 | -------------------------------------------------------------------------------- /content/community/events.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Events" 3 | url="/events" 4 | weight=20 5 | +++ 6 | 7 | # Events 8 | 9 | _Community events are a great way to connect with other developers, to exchange ideas, and learn more about Internal Developer Platforms (IDPs). All are welcome._ 10 | 11 | ## Join the IDP community 12 | 13 | - Connect with fellow community members 14 | - Get answers to your technical questions 15 | - Find and share useful resources 16 | - Stay up-to-date with the latest IDP news 17 | - Find or host a meetup in your area! 18 | 19 | ## Upcoming events 20 | 21 | Please check the meetup groups for online events. 22 | 23 | Got an upcoming event you'd like to promote? Let us know. 24 | 25 | ## Find a local IDP group 26 | 27 | ### Europe 28 | 29 | - [Platform Engineers Amsterdam](https://www.meetup.com/platform-engineers-amsterdam/) 30 | - [Platform Engineers Barcelona](https://www.meetup.com/platform-engineers-barcelona/) 31 | - [Platform Engineers Berlin](https://www.meetup.com/platform-engineers-berlin/) 32 | - [Platform Engineers Copenhagen](https://www.meetup.com/platform-engineers-copenhagen/) 33 | - [Platform Engineers Dublin](https://www.meetup.com/platform-engineers-dublin/) 34 | - [Platform Engineers London](https://www.meetup.com/platform-engineers-london/) 35 | - [Platform Engineers Munich](https://www.meetup.com/platform-engineers-munich/) 36 | - [Platform Engineers Stockholm](https://www.meetup.com/platform-engineers-stockholm/) 37 | 38 | ### North America 39 | 40 | - [Platform Engineers ATX](https://www.meetup.com/platform-engineers-atx-online/) 41 | - [Platform Engineers Dallas](https://www.meetup.com/platform-engineers-dallas/) 42 | - [Platform Engineers Denver](https://www.meetup.com/platform-engineers-denver/) 43 | - [Platform Engineers Los Angeles](https://www.meetup.com/platform-engineers-los-angeles/) 44 | - [Platform Engineers NYC](https://www.meetup.com/platform-engineers-nyc/) 45 | - [Platform Engineers Seattle](https://www.meetup.com/platform-engineers-seattle/) 46 | - [Platform Engineers SF & Bay Area](https://www.meetup.com/platform-engineers-sf/) 47 | - [Platform Engineers Toronto](https://www.meetup.com/platform-engineers-toronto/) 48 | - [Platform Engineers Vancouver](https://www.meetup.com/platform-engineers-vancouver/) 49 | 50 | ### Australia 51 | 52 | - [Platform Engineers Brisbane](https://www.meetup.com/pebrisbane/) 53 | - [Platform Engineers Sydney](https://www.meetup.com/Sydney-PE/) 54 | 55 | ### Global 56 | - [PlatformCon](https://platformcon.com/) 57 | 58 | ## Start your own 59 | 60 | Don’t see a group near you? We love to support new user group leaders and help grow the community. We can connect you with other user group leaders to share content ideas, help you source speakers, provide stickers and swag, and get you listed on the user group page. 61 | 62 | [Contact us](mailto:info@internaldeveloperplatform.org) to find out more. 63 | -------------------------------------------------------------------------------- /content/community/experts/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Experts" 3 | url="/experts" 4 | bookCollapseSection=true 5 | weight=50 6 | +++ 7 | 8 | # Experts 9 | 10 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing an important expert? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | There are a number of experts if it comes to Internal Developer Platforms (IDP). We will enhance this section step by step. 13 | 14 | **Expert** | 15 | --- | 16 | [Alan Barr]({{< relref "alan_barr" >}}) | 17 | [James Whinn]({{< relref "james_whinn" >}}) | -------------------------------------------------------------------------------- /content/community/experts/alan_barr.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Alan Barr" 3 | url="/experts/alan_barr" 4 | +++ 5 | 6 | {{< figure src="/_assets/images/alan_barr.jpg" alt="Alan Barr" >}} 7 | 8 | **Alan Barr** is a Platform Product Owner at [Veterans United Home Loans](http://linkedin.com/in/alanmbarr). He writes about IDPs and software engineering practices at his [blog](https://www.alanmbarr.com/blog). He also guides the vision of a white-glove experience IDP, named Dev.Lab, for product-minded Engineers. Dev.Lab is unique in the space due to its focus on enabling .NET software engineers to write applications with an API-First mindset. 9 | 10 | [Linkedin](https://www.linkedin.com/in/alanmbarr/) -------------------------------------------------------------------------------- /content/community/experts/james_whinn.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="James Whinn" 3 | url="/experts/james_whinn" 4 | +++ 5 | 6 | {{< figure src="/_assets/images/james_whinn.jpg" alt="James Whinn" >}} 7 | 8 | **James Whinn**, CTO of [Expert Thinking](https://expert-thinking.co.uk), is an industry certified expert with comprehensive experience helping organisations succeed in their digital transformations. With exposure to such a wide range of sectors, including highly regulated industries such as finance and pharmaceuticals, James is well rehearsed in the common pitfalls facing companies when it comes to adopting cloud-native technologies and how to overcome them. 9 | 10 | As an advocate of Internal Developer Platforms, James believes that IDP's are key to an organisations ability to compete in the age of software. James goes further to suggest that often, in times where companies across all sectors are increasingly adapting to become technology companies, that the difference between success or falling behind the competion is often the successful adoption of an IDP which enables the organisation to deliver on its business outcomes. 11 | 12 | Follow James and his team on the Expert Thinking [blog](https://expert-thinking.co.uk/expert-blog/) and also connect with him via [Linkedin](https://www.linkedin.com/in/jameswhinn/) 13 | -------------------------------------------------------------------------------- /content/community/join.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Join" 3 | url="/join" 4 | weight=10 5 | +++ 6 | 7 | # Join 8 | 9 | ## Join a Global Community 10 | 11 | _InternalDeveloperPlatform.org_ is the central hub for our global community of engineers and platform nerds. It provides a space for developers to discuss best practices and war stories around their Internal Developer Platforms and tooling setups. Join our Platform Engineering slack channel to meet other platform engineers, find jobs in the industry and attend our community events. 12 | 13 | [Join our growing Slack community](https://platformengineering.org/slack-rd) 14 | 15 | ## Our Community Mission 16 | 17 | [internaldeveloperplatform.org](https://internaldeveloperplatform.org) community members have a common mission to: 18 | 19 | - Collaborate free, open, and independent knowledge around IDPs 20 | - Educate teams around the benefits of IDPs 21 | - Exchange ideas and best practices to build IDPs 22 | - Create a better developer experience for everyone involved! 23 | 24 | {{< button relref="events" >}} 25 | -> Events 26 | {{< /button >}} 27 | -------------------------------------------------------------------------------- /content/community/war-stories.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="War Stories" 3 | url="/war-stories" 4 | weight=40 5 | +++ 6 | 7 | # War Stories 8 | 9 | _A space where you can share your failures and pain points with IDPs without judgment or recrimination. Want your war story with Internal Developer Platforms featured here? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | We recognize that creating new tech is hard. It typically requires hours of planning, focus, and energy. When something goes wrong it can be incredibly frustrating and exhausting, especially if it due to factors outside your control. Here at _Internal Developer Platform_, we think that growth comes from failure. Sharing our challenges makes us feel less alone and provides an opportunity to learn from the experiences of others. 12 | 13 | Got something you'd like to get off your chest? [Send a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}}) 14 | -------------------------------------------------------------------------------- /content/ecosystem/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Ecosystem" 3 | bookFlatSection=true 4 | weight=20 5 | +++ -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="PaaS and DevOps Platforms" 3 | url="/paas-devops-platforms" 4 | bookCollapseSection=true 5 | weight="20" 6 | +++ 7 | 8 | # PaaS and DevOps Platforms 9 | 10 | Internal Developer Platforms (IDPs) are crafted by platform teams to build golden paths and enable developer self-service. 11 | Platform engineering teams follow a _Platform as a Product_ approach to build something that exactly meets the needs of developers in large enterprise setups. 12 | 13 | If you don't want to build an IDP on your own, if you don't have the capacity to do proper user research, the talent and resources to bind together a compelling product or if you are just a small startup that quickly wants to build an MVP, a PaaS or end-to-end DevOps Platform might be an alternative. 14 | 15 | | **PaaS and end-to-end DevOps Platforms** | 16 | |-----------------------------------------------| 17 | | [Choreo]({{< relref "choreo" >}}) | 18 | | [Coherence]({{< relref "coherence" >}}) | 19 | | [DevOpsBox]({{< relref "devopsbox" >}}) | 20 | | [dyrector.io]({{< relref "dyrectorio" >}}) | 21 | | [Giant Swarm]({{< relref "giantswarm" >}}) | 22 | | [gopaddle]({{< relref "gopaddle" >}}) | 23 | | [Mia-Platform]({{< relref "mia-platform" >}}) | 24 | | [Nullstone]({{< relref "nullstone" >}}) | 25 | | [Pergola]({{< relref "pergola" >}}) | 26 | | [Portainer]({{< relref "portainer-ce" >}}) | 27 | | [Platform.sh]({{< relref "platformsh" >}}) | 28 | | [Qovery]({{< relref "qovery" >}}) | 29 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/choreo.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Choreo" 3 | aliases="/frameworks/choreo/" 4 | url="/paas-devops-platforms/choreo" 5 | +++ 6 | 7 | # Choreo 8 | 9 | **Claim:** An Internal Developer Platform as a Service for Developers. 10 | 11 | **Website:** [choreo.dev](https://choreo.dev/) 12 | 13 | **Docs:** [https://wso2.com/choreo/docs/](https://wso2.com/choreo/docs/) 14 | 15 | **Twitter:** [https://x.com/ChoreoDev](https://x.com/ChoreoDev) 16 | 17 | ## What is Choreo? 18 | 19 | Choreo is an internal developer platform as a service for developers. It simplifies the deployment, monitoring, and management of cloud-native applications, allowing developers to focus on innovation and writing efficient code. Simply connect your code and have it deployed in minutes. Choreo ensures rapid integration and deployment, empowering developers to streamline their workflow and enhance productivity. 20 | 21 | {{< figure src="/_assets/images/choreo.png" alt="General Choreo usecases" >}} 22 | 23 | ## What does Choreo Offer? 24 | 25 | - Host Saas products, web apps, APIs and jobs. 26 | - Built-in application security. 27 | - Built-in CI/CD. 28 | - Multi-cloud and multi-environment support. 29 | - Automatic deployment and scaling. 30 | - Built-in observability for applications. 31 | - API management. 32 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/coherence.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Coherence" 3 | aliases="/frameworks/coherence/" 4 | url="/paas-devops-platforms/coherence" 5 | +++ 6 | 7 | # Coherence 8 | 9 | **Claim:** The first full developer experience platform 10 | 11 | **Focus:** Coherence is a full-cycle platform that enables development, testing, and deployment of full-stack web apps, supporting and formalizing the full SDLC. Includes functionality to manage databases and other cloud resources in all environment types (dev/Cloud IDE, staging/ephemeral branch previews, & production). 12 | 13 | **Website:**[www.withcoherence.com](https://www.withcoherence.com/) 14 | 15 | **Docs:** [docs.withcoherence.com](https://docs.withcoherence.com/) 16 | 17 | {{< button href="https://www.withcoherence.com" target="_blank" >}} 18 | -> Coherence 19 | {{< /button >}} 20 | 21 | 22 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/devopsbox.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="DevOpsBox" 3 | aliases="/frameworks/devopsbox/" 4 | url="/paas-devops-platforms/devopsbox" 5 | +++ 6 | 7 | # DevOpsBox 8 | 9 | **Claim:** The first full cloud-native NoOps platform 10 | 11 | **Focus:** DevOpsBox tries to cover the full scope of DevOps tools, installs and integrates them. It is based on open-source technologies but adds an easy-to-use abstraction layer on top of them. 12 | 13 | **Website:**[www.devopsbox.io](https://www.devopsbox.io/) 14 | 15 | **Docs:** available soon 16 | 17 | {{< button href="https://www.devopsbox.io" target="_blank" >}} 18 | -> DevOpsBox 19 | {{< /button >}} 20 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/dyrectorio.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="dyrector.io" 3 | url="/frameworks/dyrectorio" 4 | +++ 5 | 6 | # dyrector.io 7 | 8 | **Claim:** Self-service container deployment and release management. 9 | 10 | **Focus:** Configure your OCI images once and deploy them as a new version anytime, to any environment. 11 | 12 | **Website:** [dyrector.io](https://dyrector.io/) 13 | 14 | **Docs:** [https://docs.dyrector.io](https://docs.dyrector.io) 15 | 16 | **GitHub:** [https://github.com/dyrector-io/dyrectorio/](https://github.com/dyrector-io/dyrectorio/) 17 | 18 | **Twitter:** [https://twitter.com/dyrectorio](https://twitter.com/dyrectorio) 19 | 20 | {{< button href="https://github.com/dyrector-io/dyrectorio" target="_blank" >}} 21 | Check out the project on GitHub 22 | {{< /button >}} 23 | 24 | ## What is dyrector.io? 25 | 26 | dyrector.io is an open-source container management platform that helps you with self-service OCI image configuration and deployment capabilities. 27 | 28 | ### Who is it for? 29 | 30 | - **DevOps Engineers / System Admins** - The platform can be used as a hub where your team can interact with your infrastructure without your presence. 31 | - **Software Engineers / Developers** - You can spend more time creating new features instead of manually going through steps of deploying your containerized stack repeatedly. 32 | - **Indie hackers / Self-hosters** - You can use the platform by installing the agent of the platform on your infrastructure instead of setting up a dashboard and individually adding all the applications you host for yourself. 33 | - **Startups / Organizations afraid of vendor lock-ins** - If you're a startupper or the decision-maker of an organization, you can check out the platform as a developer platform that fits your infrastructure as long as you manage OCI images. 34 | 35 | ### Use cases 36 | 37 | #### Self-service container management 38 | 39 | Deploy, start, restart, stop, delete containers on your infrastructure. Check logs and inspect containers when you need to. 40 | 41 | #### Self-hosted stacks for indie hackers 42 | 43 | Set up containerized stacks on any environment and manage your entire ecosystem via a GUI. 44 | 45 | #### Multi-instance deployments 46 | 47 | When you create business applications, configure releases and deploy them to as many environments as you need them to with one click. 48 | 49 | ![General dyrector.io usecases](https://3138693079-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNvxW8k55ZlpJfMk8Oep%2Fuploads%2F4s6SXAcqsWnS9uxuizxx%2Fdyrector-io-workflow-roles-dark.png?alt=media&token=f5954f9f-ddc2-468d-9507-78910c190278) 50 | 51 | #### Instant test environments 52 | 53 | When you develop applications as a member of a team, your QA or sales teammates can set up the stack for themselves without your presence. 54 | 55 | ### What makes it special? 56 | 57 | #### UI & API for Kubernetes and Docker 58 | 59 | The platform substitutes container management with commands in Kubernetes and Docker with a UI. If you'd like to build something new that involves interactions with these technologies, you can do so by using the platform's [API](https://docs.dyrector.io/basics/api). 60 | 61 | #### Cloud provider & technology agnostic 62 | 63 | Any environment is ready to be used with the platform with minimal effort, no need to set up your stack on an entirely new infrastructure. Get instant results with the platform. 64 | 65 | #### Wide-range of integrations 66 | 67 | You can manage any OCI image available in any V2 compatible registry, for example Docker Hub, GitLab, GitHub, Google or Azure container registries. 68 | Chat notifications are also available in Slack, Discord and MS Teams. Popular containerized projects, such as WordPress and Strapi are also available as preset applications, ready for deployments with minimal configuration changes. 69 | 70 | #### Product Owners, Project Managers, Stakeholders 71 | 72 | Stakeholders have access to Product information, but they can’t execute any actions regarding them. 73 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/giantswarm.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Giant Swarm" 3 | aliases="/frameworks/giantswarm/" 4 | url="/paas-devops-platforms/giantswarm" 5 | +++ 6 | 7 | # Giant Swarm 8 | 9 | **Claim:** 10 | Giant Swarm’s Cloud Native Platform enables teams to rapidly develop, iterate and operate services at scale. 11 | 12 | **What Giant Swarm is:** 13 | 14 | _Giant Swarm is a Kubernetes-based product._ It’s built incrementally by incorporating feedback from all our customers. It accelerates the delivery of products. 15 | 16 | _Differentiating._ It empowers your teams to concentrate on solving real business problems by abstracting away organisational complexities and toil. 17 | 18 | _Opinionated._ It makes it easy for your teams to build, deploy, and operate products by providing a curated set of high quality platform building blocks. 19 | 20 | **Website:**[www.giantswarm.io](https://www.giantswarm.io/) 21 | 22 | **Docs:** [docs.giantswarm.io](https://docs.giantswarm.io/) 23 | 24 | {{< button href="https://github.com/giantswarm" target="_blank" >}} 25 | -> Giant Swarm GitHub repository 26 | {{< /button >}} 27 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/gopaddle.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="gopaddle" 3 | aliases="/frameworks/gopaddle/" 4 | url="/paas-devops-platforms/gopaddle" 5 | +++ 6 | 7 | # gopaddle 8 | 9 | **Claim:** Simplest low-code platform for Kubernetes developers and operators 10 | 11 | **Focus:** Simple Self-Service Platform to accelerate Kubernetes implementation, streamline team collaboration and improve feedback loop. The best part? It is a highly customizable low code platform. 12 | 13 | **Website:**[gopaddle.io](https://gopaddle.io/) 14 | 15 | **Docs:** [help.gopaddle.io](https://help.gopaddle.io/) 16 | 17 | {{< button href="https://gopaddle.io/" target="_blank" >}} 18 | -> gopaddle 19 | {{< /button >}} 20 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/mia-platform.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Mia-Platform" 3 | aliases="/frameworks/mia-platform/" 4 | url="/paas-devops-platforms/mia-platform" 5 | +++ 6 | 7 | # Mia-Platform 8 | 9 | **Claim:** Turn your company into a Digital Platform 10 | 11 | **Focus:** Mia-Platform brings to the market the first solution for the end-to-end creation of cloud-native digital platforms. 12 | 13 | Mia-Platform is a Developer Hub that manages the end-to-end life cycle of cloud native applications and simplifies the life of Dev and Ops. We also provide a marketplace full of plug-n-play components to accelerate the construction of your own digital platform. 14 | 15 | **Website:** [mia-platform.eu](https://mia-platform.eu/) 16 | 17 | **Docs:** [docs.mia-platform.eu](https://docs.mia-platform.eu/) 18 | 19 | {{< button href="https://mia-platform.eu/" target="_blank" >}} 20 | -> Mia-Platform 21 | {{< /button >}} 22 | 23 | **What is Mia-Platform?** 24 | Mia-Platform is an ISV with a suite of products for the development of enterprise Digital Platforms, based on Kubernetes and all the best cloud-native technologies. 25 | 26 | **What Is the Mission and Vision of Mia-Platform?** 27 | Mia-Platform's talent is to write excellent software to create a product that improves dev teams' work worldwide. 28 | 29 | Mia-Platform works every day with infinite passion for all that is new and innovative, respecting clients and ethic of the market. Mia-Platform pays attention, shows kindness and support to those who work with us. 30 | 31 | Mia-Platform is a company that builds the future, and it's here to stay. 32 | 33 | **A Brief History of Mia-Platform** 34 | Mia-Platform starts small and goes bigger. In 2022, the company counts more than 130 people and it is expanding all across Europe with a strong network of partners. 35 | 36 | In 2021, Gartner has recognized Mia-Platform as a Cool Vendor for Software Engineering Technologies, the only European company to be mentioned by the research leader. 37 | 38 | **Core Features of Mia-Platform** 39 | Among its products, Mia-Platform Console is the core solution: it is a platform builder that industrializes development processes, accelerates the creation of microservices architectures, and improves the developer experience (DevX). 40 | 41 | The Mia-Platform Marketplace provides the Console with multiple ready-to-use components and add-ons that strongly accelerate and facilitate development. 42 | 43 | Moreover, Mia-Platform Fast Data is a set of ready-to-use microservices for the creation of an out-of-the-box Digital Integration Hub, a new foundational architecture recognized by Gartner that enables seamless and real-time data availability 24/7, decoupling of legacy systems, incremental cloud migration, and high scaling performances. 44 | 45 | Mia-Platform solutions are adaptable in any industry, with strong references specifically in the financial sector, insurance, healthcare, utilities, and mobility & transportation. 46 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/nullstone.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Nullstone" 3 | url="/paas-devops-platforms/nullstone" 4 | +++ 5 | 6 | # Nullstone 7 | 8 | **Claim:** Nullstone is an easy-to-use developer platform that allows developers to ship fast to the cloud without being experts. The platform is customizable to meet the security and compliance needs of customers. 9 | 10 | **Focus:** Nullstone is an open platform that provides a single experience for infrastructure code and application code. The platform provides better visibility/control over cloud providers, automates the deployment process, and automates environment provisioning (including ephemeral environments). All infrastructure modules are open-source and compliance-certified providing teams with a great launch point for managing secure/compliant infrastructure. 11 | 12 | **Website:**[nullstone.io](https://www.nullstone.io/) 13 | 14 | **Docs:** [docs.nullstone.io](https://docs.nullstone.io/) 15 | 16 | **Blog:**[nullstone.io/blog](https://www.nullstone.io/blog) 17 | 18 | **GitHub:** 19 | - [github.com/nullstone-io/nullstone](https://github.com/nullstone-io/nullstone) 20 | - [github.com/nullstone-modules](https://github.com/nullstone-modules) 21 | 22 | **Forum:** [GitHub Discussions](https://github.com/nullstone-io/nullstone/discussions) 23 | 24 | {{< button href="https://nullstone.io" target="_blank" >}} 25 | -> Nullstone 26 | {{< /button >}} 27 | 28 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/pergola.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Pergola" 3 | aliases="/frameworks/pergola/" 4 | url="/paas-devops-platforms/pergola" 5 | +++ 6 | 7 | # Pergola 8 | 9 | A Platform as a Service from Developers for Developers. 10 | 11 | {{< figure src="/_assets/images/pergola.png" alt="Pergola Logo" width="170px" >}} 12 | 13 | **Website:** [pergola.cloud](https://pergola.cloud/) 14 | 15 | **Docs:** [docs.pergola.cloud](https://docs.pergola.cloud/docs/overview) 16 | 17 | ## What is Pergola? 18 | 19 | As an end-to-end self-service platform for developers, Pergola simplifies the creation, deployment, execution and management of software products as a service. It enables developers to focus on their work and turn ideas into great products without losing time on the technical infrastructure and operations. 20 | 21 | With Pergola, you have full control over the entire process, from building to deploying and serving your applications to your users, without any of the IT complexity. 22 | 23 | No need to set up and administer servers or clusters. Never again worry about patching, firewalls, scalability or availability. Simply focus on your use-cases, work with the technologies and frameworks you know and love. Pergola does all the nerdy magic for you. 24 | 25 | ## What does Pergola offer? 26 | 27 | - Hosts software products and services, from simple frontends and dashboards to AI-driven applications and multi service landscapes 28 | - Runs on multi-cloud, on-prem and multi-architecture environments 29 | - Built-in CI/CD pipeline with vulnerability scans 30 | - Multi-stage (dev/qa/prod) rollouts and release management 31 | - Configuration management per stage, separates [builds from run stages](https://12factor.net/build-release-run) 32 | - Auto scaling, load balancing and failover handling 33 | - SSO and MFA support for applications 34 | - Configurable traffic routing enables LAN/WAN/Internet deployment scenarios per application 35 | - Built-in security, application firewall and data encryption 36 | - Built-in monitoring and logs for application level observability 37 | - CLI and API for remote automation 38 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/portainer-ce.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Portainer" 3 | aliases="/diy/portainer-cd/" 4 | url="/paas-devops-platforms/portainer-cd" 5 | +++ 6 | 7 | # Portainer Community Edition 8 | 9 | [Portainer](https://portainer.io) is an [open source](https://github.com/portainer/portainer) tool that lets users set-up, configure, and govern a container management portal that helps them get more value from Kubernetes sooner, with the skills the team already has. Manage any orchestrator, in the cloud, on prem, or at the edge, in a single interface. 10 | 11 | ## Resources 12 | 13 | - [Get started with Portainer](https://docs.portainer.io/v/ce-2.9/start/install/server/kubernetes/baremetal) 14 | - [Join the community](https://community.portainer.io/) 15 | - [Check out the blog](https://portainer.io/blog) 16 | 17 | {{< button href="https://portainer.io/" target="_blank" >}} 18 | -> Portainer 19 | {{< /button >}} 20 | -------------------------------------------------------------------------------- /content/ecosystem/paas-devops-platforms/qovery.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Qovery" 3 | aliases="/frameworks/qovery/" 4 | url="/paas-devops-platforms/qovery" 5 | +++ 6 | 7 | # Qovery 8 | 9 | **Claim:** The self-service infrastructure platform with an outstanding developer experience 10 | 11 | **Focus:** Qoveru is a full-cycle platform that enables development, testing, and deployment of full-stack web apps, supporting and formalizing the full SDLC. Includes functionality to manage databases and other cloud resources in all environment types (dev/Cloud IDE, staging/ephemeral branch previews, & production). 12 | 13 | **Website:**[www.qovery.com](https://www.qovery.com/) 14 | 15 | **Docs:** [hub.qovery.com](https://hub.qovery.com/) 16 | 17 | **Blog:**[blog.qovery.com](https://www.qovery.com/blog) 18 | 19 | **Forum:** [discuss.qovery.com](https://discuss.qovery.com/) 20 | 21 | {{< button href="https://www.qovery.com" target="_blank" >}} 22 | -> Qovery 23 | {{< /button >}} 24 | 25 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Platform tooling to build your IDP" 3 | url="/platform-tooling" 4 | aliases="/frameworks/, /build-vs-buy/, /diy/, /ecosystem/integrations/" 5 | bookCollapseSection=true 6 | weight="10" 7 | +++ 8 | 9 | # Platform tooling to build your Internal Developer Platform 10 | 11 | An Internal Developer Platform (IDP) is built by a platform team to build golden paths and enable developer self-service. 12 | 13 | {{< hint info >}} 14 | According to Gartner's latest _Software Engineering Leader’s Guide to Improving Developer Experience_, it is important to consider 3 key points: 15 | 16 | 1. “Improve developer experience by building internal developer platforms to reduce cognitive load, developer toil and repetitive manual work.” 17 | 2. “Platforms don’t enforce a specific toolset or approach – it is about making it easy for developers to build and deliver software while not abstracting away useful and differentiated capabilities of the underlying core services” 18 | 3. “Platform engineering teams treat platforms as a product (used by developers) and design the platform to be consumed in a self-service manner.” 19 | 20 | Source: A Software Engineering Leader’s Guide to Improving Developer Experience by Manjunath Bhat, Research VP, Software Engineering Practice at Gartner. ([Full report behind paywall](https://www.gartner.com/document/4017457)) 21 | {{< /hint >}} 22 | 23 | In this platform tooling section we present a selection of platform tooling categories mostly used to build an IDP out of. "Platform as a Product" doesn't mean you should start from scratch with everything but build a compelling product to serve developers needs. 24 | 25 | _Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 26 | 27 | 28 | | **Platform tooling to build your Internal Developer Platform** | 29 | | --------------------------------------------------------------------| 30 | | [Platform Orchestrators]({{< relref "platform-orchestrators" >}}) | 31 | | [Developer Portals]({{< relref "developer-portals" >}}) | 32 | | [CD Operators]({{< relref "cd-operators" >}}) | 33 | | [CI Tools]({{< relref "ci-tools" >}}) | 34 | | [Databases]({{< relref "databases" >}}) | 35 | | [Image Registries]({{< relref "image-registries" >}}) | 36 | | [In-Cluster Resources]({{< relref "in-cluster-resources" >}}) | 37 | | [Infrastructure as Code]({{< relref "infrastructure-as-code" >}}) | 38 | | [Infrastructure Control Planes]({{< relref "infrastructure-control-planes" >}}) | 39 | | [Kubernetes]({{< relref "kubernetes" >}}) | 40 | | [Kubernetes Control Planes]({{< relref "kubernetes-control-planes" >}}) | 41 | | [Monitoring]({{< relref "monitoring" >}}) | 42 | | [Security]({{< relref "security" >}}) | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/cd-operators/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="CD Operators" 3 | url="/cd-operators" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # CD Operators 8 | 9 | _Internal Developer Platforms (IDPs) are the sum of all tools and tech that platform engineering teams use to build golden paths for developers. CD Operators are only one category among others in such a platform tooling setup. Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/cd-operators/flux-cd.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Flux CD" 3 | aliases="/diy/flux-cd" 4 | url="/cd-operators/flux-cd" 5 | +++ 6 | 7 | # Flux CD 8 | 9 | **Claim:** Flux is a set of continuous and progressive delivery solutions for Kubernetes, and they are open and extensible. 10 | 11 | **Focus:** Flux CD is a Continuous Delivery tool to help keep Kubernetes clusters in sync with configuration sources such as Git repositories and automate configuration updates when available. Flux is built with the GitOps toolkit and supports multi-tenancy and syncing an arbitrary number of Git repositories. Flux CD is one of the multiple components available to developers looking to utilize open source tools to build an IDP. It is most often compared to ArgoCD. 12 | 13 | Website: 14 | 15 | Docs: 16 | 17 | {{< button href="https://fluxcd.io/" target="_blank" >}} 18 | -> Flux CD 19 | {{< /button >}} 20 | 21 | What is FluxCD? 22 | --------------- 23 | Flux CD is a GitOps operator for Kubernetes that works by synchronizing the state of manifests in a Git repository to the designated setting for a cluster. Users who have experimented with various CD systems claim that Flux offers the simplest interface to use and set up a GitOps workflow. 24 | 25 | The tool focuses on specific clusters and monitors a remote Git repository to adjust any changes in Kubernetes manifests. While this may seem like a tool with limited capabilities, seasoned developers can use multiple instances of Flux CD to create intricate scenarios, with each instance having specific RBAC permissions. 26 | 27 | ### What Is the Mission and Vision of Flux CD? ### 28 | 29 | The creators of Flux designed the system for 30 | 31 | - Cluster Operators who automate the provision and configuration of clusters 32 | 33 | - Platform Engineers who build CD systems for developer teams 34 | 35 | - App Developers who rely on CD to get their code up and running 36 | 37 | However, Flux openly concedes that platform developers who want to create their own CD system should use the GitOps Toolkit because it offers requirements not included with Flux. 38 | 39 | ### A Brief History of Flux CD ### 40 | 41 | Flux CD was initially created by Weaveworks and has since become a Cloud Native Computing Foundation (CNCF) project with an Apache 2.0 license on GitHub. 42 | 43 | ### Core Features of Flux CD ### 44 | 45 | - Operates in true GitOps fashion by periodically pulling a remote Git repository and applying its manifest files to the cluster if there are any new changes 46 | 47 | - Offers source configuration from Git and Helm repositories 48 | 49 | - Provides support for Kustomize and Helm 50 | 51 | - Integrates with Kubernetes RBAC 52 | 53 | - Triggered by events and provides periodic reconciliation 54 | 55 | - Monitors the health of clusters and workloads 56 | 57 | - Manages the dependency of infrastructure and workloads 58 | 59 | - Alerts webhook senders to external systems 60 | 61 | - Handles external events for webhook receivers 62 | 63 | - Provides policy-driven validation for OPA, Kyverno, and admission controllers 64 | 65 | - Offers seamless integration with Git providers, including GitHub, GitLab, and Bitbucket 66 | 67 | - Requires little management after installation, and changes can be implemented by reapplying the same manifests with new values, using Kustomize, or using Helm 68 | 69 | - Easy to troubleshoot repository issues because it's a highly specific system 70 | 71 | Other important things to note include: 72 | 73 | - Flux is a simple component and doesn't have a multi-tenancy mode 74 | 75 | - Flux can be used in a multi-cluster scenario 76 | 77 | - Developers can enable auto-deploy new versions of container images  78 | 79 | - Flux can reapply drifted resources through the synchronization of workload states 80 | 81 | - Flux can delete unnecessary resources from the cluster 82 | 83 | - Flux doesn't work with Cluster API (CAPI) providers or workflow providers like GitHub Actions, Tekton, and Argo. 84 | 85 | ## Flux CD vs ArgoCD ## 86 | 87 | When addressing Flux CD, we'd be remiss if we didn't touch on the similarities and differences between this system and ArgoCD. Many developers have their preference for which tool to use for implementing a GitOps style of application deployments, and it's helpful to understand which system will work best for specific projects. 88 | 89 | |- | Flux CD | ArgoCD | 90 | | -- | --- | --- | 91 | | Repositories | Allows one repository connection per instance | Can connect multiple Git repositories to one cluster | 92 | | Clusters | Only works inside a cluster in typical Kubernetes Operator fashion | Can manage multiple clusters in one instance | 93 | | Graphical User Interface (GUI) | Doesn't provide a GUI but can be integrated with Weaveworks SaaS services | GUI visualizes relationships between objects in the app manifests and monitors apps | 94 | | Enterprise Readiness | Limited to Kubernetes RBAC | Features SSO and built-in support for RBAC | 95 | | Manifest Generation | Has some ways to enable manifest generation | Has built-in support for more tools, including Kustomize, Helm, and Ksonnet | 96 | | Updating Container Images | Can update container images automatically | Container image versions can only be updated with a commit to the change in the Git repo | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/cd-operators/jenkins.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Jenkins" 3 | aliases="/diy/jenkins" 4 | url="/cd-operators/jenkins" 5 | +++ 6 | 7 | # Jenkins 8 | 9 | Jenkins is the leading open source automation server, providing hundreds of plugins to support building, deploying, and automating. Jenkins is often used to orchestrate the scripts and Infrastructure as Code (IaC) setups to power an Internal Developer Platform (IDP). However, Jenkins has a tendency to become very hard to maintain. While IDPs built with Jenkins scale to a certain degree, they require significant maintenance. 10 | 11 | {{< button href="https://www.jenkins.io/" target="_blank" >}} 12 | -> Jenkins 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/cd-operators/kubevela.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Kubevela" 3 | aliases="/diy/kubevela" 4 | url="/cd-operators/kubevela" 5 | +++ 6 | 7 | # Kubevela 8 | 9 | **Claim:** Make shipping applications more enjoyable. 10 | 11 | Shifting to the open application model makes it necessary to restructure the entire config setup. 12 | 13 | Website: https://kubevela.io/ 14 | 15 | Docs: https://kubevela.io/docs/ 16 | 17 | {{< button href="https://kubevela.io/" target="_blank" >}} 18 | -> Kubevela 19 | {{< /button >}} 20 | 21 | What is KubeVela? 22 | ----------------- 23 | KubeVela's goal is to make shipping applications more enjoyable. As a modern application delivery platform, KubeVela works to make application deployment and operation across hybrid, multi-cloud environments faster, easier, and more reliable. 24 | 25 | The system is infrastructure agnostic, programmable, and application-centric. Ideally, the platform effortlessly scales and adapts to platform needs. KubeVela offers potential for multiple users, including app developers, operators, and DevOps engineers; platform builders for PaaS, Serverless, and app management or delivery systems; and ISV, SaaS owners, and app architects. 26 | 27 | Developers design deployment topology, policy, and workflow through their Open Application Model (OAM), then use KubeVela to distribute components to the target cloud, IoT or Edge device, or Kubernetes cluster. 28 | 29 | What KubeVela Is NOT 30 | -------------------- 31 | 32 | - A CI/CD System: KubeVela works downstream of a CI process as a Continuous Delivery (CD) control plane. With KubeVela, developers retain their adopted CI process. 33 | 34 | - Platform as a Service (PaaS): KubeVela claims to be more flexible and programmable than a PaaS system. 35 | 36 | - A Serverless Platform: KubeVela isn't hard-coded like serverless platforms (including AWS Lambda) but can deploy both Kubernetes-based serverless workloads and cloud-based functions. 37 | 38 | - A Platform Agnostic Developer Tool: Developers can integrate KubeVela with developer-facing tools like Waypoint. In these cases, KubeVela serves as the underlying deployment platform 39 | 40 | - Helm: Helm works as a package manager for Kubernetes, and developers can use KubeVela to deploy Helm charts. 41 | 42 | What Is the Mission and Vision of KubeVela? 43 | ----------- 44 | 45 | Although Kubernetes has become the standard layer for abstracting away low-level infrastructure details, it doesn't offer abstractions to model application deployment in addition to hybrid and distributed environments. In response to this gap impacting user experience, KubeVela developed the system to reduce unexpected errors caused by misconfigurations in production. 46 | 47 | Additionally, a system layer was needed to address the issues surrounding fragmented microservice application deployment and outgrown system capabilities as developers scaled their platform. 48 | 49 | KubeVela was designed to be an effective solution to these problems. KubeVela's keyword is "simplicity," considering that it tries to take a complicated system and make it easier for developers of all skill levels to use. 50 | 51 | KubeVela is a Cloud Native Computing Foundation (CNCF) sandbox project. 52 | 53 | Core Features of KubeVela 54 | ----------- 55 | 56 | KubeVela offers multiple features as a way to simplify Kubernetes use for developers. 57 | 58 | - Application Centricity: KubeVela provides a consistent and higher-level API to capture and execute full microservice deployments on hybrid environments through an Open Application Model (OAM). By keeping applications at the heart of the system, users can declare placement strategy, traffic sharing, and rolling updates at the application level. According to KubeVela creators, this results in no infrastructure-level concerns and simple deployment. 59 | 60 | - Programmable Workflow: KubeVela uses a Directed Acyclic Graph (DAB) to model application delivery and expresses app delivery through a modern data configuration language (CUE). This enables developers to create application deployments based on platform needs without restrictions. 61 | 62 | - Infrastructure Agnostic: As an application delivery control plane, KubeVela operates fully decoupled from runtime infrastructure. Following the workflow designed by the developer, the system deploys workload types, including containers, cloud services, databases, or VM instances to clouds or Kubernetes clusters. -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="CI Tools" 3 | url="/ci-tools" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # Continuous Integration (CI) Tools 8 | 9 | _Internal Developer Platforms (IDPs) are the sum of all tools and tech that platform engineering teams use to build golden paths for developers. CI tools are an important category in such a setup. Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | **Integration** | 12 | --- | 13 | [Bytebase]({{< relref "bytebase" >}}) | 14 | [CircleCI]({{< relref "circleci" >}}) | 15 | [Codefresh]({{< relref "codefresh" >}}) | 16 | [GitHub Actions]({{< relref "github-actions" >}}) | 17 | [GitLab]({{< relref "gitlab" >}}) | 18 | [Jenkins CI]({{< relref "jenkins-ci" >}}) | 19 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/bytebase.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Bytebase" 3 | url="/ci-tools/bytebase" 4 | +++ 5 | 6 | # Bytebase 7 | 8 | Bytebase is an open source database CI/CD tool for developers and DBAs. It covers the entire database development lifecyle including database change and query, SQL review, version control and rollback. Bytebase supports MySQL, PostgreSQL, TiDB, ClickHouse and Snowflake. It also provides GitOps workflow with the native GitLab and GitHub integration. 9 | 10 | {{< button href="https://www.bytebase.com/" target="_blank" >}} 11 | -> Bytebase 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/circleci.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="CircleCI" 3 | url="/ci-tools/circleci" 4 | +++ 5 | 6 | # CircleCI 7 | 8 | CircleCI is on a mission is to empower technology-driven organizations to do their best work. They want to make engineering teams more productive through intelligent automation, and provide enterprise-class support and services, with the flexibility of a startup. 9 | 10 | {{< button href="https://circleci.com/" target="_blank" >}} 11 | -> CircleCI 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/codefresh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Codefresh" 3 | url="/ci-tools/codefresh" 4 | +++ 5 | 6 | # Codefresh 7 | 8 | Codefresh is a solid Continuous Integration tool built specifically for Kubernetes and Docker. It pioneered the concept of jobs and works great with Internal Developer Platforms. 9 | 10 | {{< button href="hhttps://codefresh.io/" target="_blank" >}} 11 | -> Codefresh 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/github-actions.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="GitHub Actions" 3 | url="/ci-tools/github-actions" 4 | +++ 5 | 6 | # GitHub Actions 7 | 8 | GitHub Actions is a newish project by version control giant GitHub. It's conveniently integrated into a tool that most teams already use. GitHub Actions makes it easy to automate all your software workflows, now with world-class Continuous Integration, Continous Delivery, and Deployment (referred to as CI/CD). Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want. 9 | 10 | {{< button href="https://github.com/features/actions" target="_blank" >}} 11 | -> GitHub Actions 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/gitlab.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="GitLab" 3 | url="/ci-tools/gitlab" 4 | +++ 5 | 6 | # GitLab 7 | 8 | GitLab is one application with endless possibilities. Organizations rely on GitLab’s source code management, Continuous Integration, Continous Delivery, and Deployment (referred to as CI/CD), security, and more to deliver software rapidly. GitLab is growing rapidly, although some say it's spread slightly too thin across all layers. But Continuous Integration and version control are what they live and breathe. 9 | 10 | {{< button href="https://about.gitlab.com/" target="_blank" >}} 11 | -> GitLab 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/ci-tools/jenkins-ci.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Jenkins" 3 | url="/ci-tools/jenkins" 4 | +++ 5 | 6 | # Jenkins 7 | 8 | Jenkins is the leading open source automation server, providing hundreds of plugins to support building, deploying, and automating. Jenkins is often used to orchestrate the scripts and Infrastructure as Code (IaC) setups that power an Internal Developer Platform (IDP). However, it has a tendency to get very difficult to maintain. While IDPs build with Jenkins scale to a certain degree, they require a large amount of maintenance. 9 | 10 | {{< button href="https://www.jenkins.io/" target="_blank" >}} 11 | -> Jenkins 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Databases" 3 | url="/databases" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # Databases 8 | 9 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | **Integration** | 12 | --- | 13 | [Aiven]({{< relref "aiven" >}}) | 14 | [AWS RDS]({{< relref "aws-rds" >}}) | 15 | [Azure SQL]({{< relref "azure-sql" >}}) | 16 | [Google CloudSQL]({{< relref "google-cloudsql" >}}) | 17 | [MongoDB]({{< relref "mongodb" >}}) | 18 | [PostgreSQL]({{< relref "postgresql" >}}) | 19 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/aiven.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Aiven" 3 | url="/databases/aiven" 4 | +++ 5 | 6 | # Aiven Database-as-a-Service 7 | 8 | Aiven provides managed, cloud-based instances of your favorite open source tools such as PostgreSQL, Kafka and M3DB. We focus on making hassle-free, reliable and scalable cloud services, so that you can focus on the things you know best. 9 | 10 | Aiven database-as-a-service enables you to accelerate application innovation through a modern, fully-managed open source data infrastructure immediately deployable in public clouds, including Amazon Web Services, Google Cloud Platform, and Microsoft Azure. The multi-cloud and open source approach means that you are never locked in to an Aiven solution. 11 | 12 | {{< figure caption="Deploy to your preferred cloud and region with Aiven" src="/_assets/images/aiven-pick-cloud.png" alt="Web UI for choosing your cloud and region" >}} 13 | 14 | ### Open Source Cloud Data Hub 15 | 16 | Aiven has a tool for your every need, here is an overview of the highlights: 17 | 18 | * Traditional keystone databases/datastores: PostgreSQL (and extensions), MySQL, Redis 19 | * Data streaming pipelines: Apache Kafka, Apache Kafka Connect, Apache Kafka MirrorMaker 20 | * Fun with distributed systems: Apache Cassandra 21 | * Time series data: InfluxDB, M3DB (and TimescaleDB as a PostgreSQL extension) 22 | * Every-stack essentials: ElasticSearch and Grafana 23 | 24 | ### Choosing Aiven 25 | 26 | Aiven comes highly recommended because the product provides a single, well documented, and easy to manage API that spans several different types of databases at once. The API also powers a CLI tool, the friendly web console interface, and a Terraform provider, making your services much easier to manage and maintain. 27 | 28 | 29 | {{< button href="https://aiven.io/" target="_blank" >}} 30 | -> Aiven 31 | {{< /button >}} 32 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/aws-rds.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="AWS RDS" 3 | url="/databases/aws-rds" 4 | +++ 5 | 6 | # AWS Relational Database Service (RDS) 7 | 8 | Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching, and backups. It frees you to focus on your applications so you can give them the fast performance, high availability, security, and compatibility they need. 9 | 10 | Amazon RDS is reliable but incredibly slow in integrating with Internal Developer Platforms because of Amazon's permissions model. 11 | 12 | {{< button href="https://aws.amazon.com/rds/" target="_blank" >}} 13 | -> Amazon RDS 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/azure-sql.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Azure SQL" 3 | url="/databases/azure-sql" 4 | +++ 5 | 6 | # Microsoft Azure SQL Database 7 | 8 | Azure SQL Database is a fully managed platform as a service (PaaS) database that automates most of the database management functions like upgrading, patching, backups, and monitoring without your involvement. Azure SQL Database runs on the latest stable version of the SQL Server database engine and patched OS with 99.99% availability. 9 | 10 | With Azure SQL Database, you can create highly available and high-performance data storage layers for your applications and solutions in Azure or elsewhere. 11 | 12 | {{< button href="https://azure.microsoft.com/en-us/products/azure-sql/" target="_blank" >}} 13 | -> Azure SQL 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/google-cloudsql.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Google CloudSQL" 3 | url="/databases/google-cloudsql" 4 | +++ 5 | 6 | # Google CloudSQL 7 | 8 | Google Cloud SQL is a managed Google Cloud database service that allows you to run MySQL, PostgreSQL, and Microsoft SQL Server databases on Google Cloud. It offers a fully managed relational database service. 9 | 10 | {{< button href="https://cloud.google.com/sql/" target="_blank" >}} 11 | -> Google CloudSQL 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/mongodb.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="MongoDB" 3 | url="/databases/mongodb" 4 | +++ 5 | 6 | # MongoDB 7 | 8 | MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is a distributed database at its core, so high availability, horizontal scaling, and geographic distribution are built-in and easy to use. 9 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/databases/postgresql.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="PostgreSQL" 3 | url="/databases/postgresql" 4 | +++ 5 | 6 | # PostgreSQL 7 | 8 | PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development. It's earned a strong reputation for reliability, feature robustness, and performance. 9 | 10 | {{< button href="https://www.postgresql.org/" target="_blank" >}} 11 | -> PostgreSQL 12 | {{< /button >}} 13 | 14 | ### PostgreSQL Kubernetes scalable solution 15 | 16 | [Postgres operator](https://postgres-operator.readthedocs.io/en/latest/) is a scalable solution that enables teams to create, update, upgrade and monitor PostgreSQL clusters using Kubernetes CRDs. 17 | 18 | It is actively maintained and battle tested by [Zalando](https://engineering.zalando.com/). 19 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Developer Portals & Service Catalogs" 3 | url="/developer-portals" 4 | bookCollapseSection=true 5 | weight="2" 6 | +++ 7 | 8 | # Developer Portals & Service Catalogs 9 | 10 | _Internal Developer Platforms (IDPs) are the sum of all tools and tech that platform engineering teams use to build golden paths for developers. Developer Portals & Service Catalogs are an important category in such a setup. Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | There is still a lot of confusion about the relationship between Internal Developer Platforms (IDPs) and Developer Portals. 13 | Gartner recently came up with a clear definition, which we adapt here: 14 | 15 | _“Internal **developer portals** serve as the interface through which developers can discover and access **internal developer platform** capabilities.”_ 16 | 17 | Source: “A Software Engineering Leader’s Guide to Improving Developer Experience” by Manjunath Bhat, Research VP, Software Engineering Practice at Gartner. 18 | https://www.gartner.com/document/4017457 19 | 20 | | **Developer Portals & Service Catalogs** | **Claim** | 21 | | --------------------------------------------------------------------------- | ----------------------------------------------------------------------- | 22 | | [Backstage]({{< relref "backstage" >}}) | An open platform for building developer portals | 23 | | [Compass from Atlassian]({{< relref "atlassian-compass" >}}) | Developer experience platform and service catalog | 24 | | [Cortex]({{< relref "cortex" >}}) | Build reliable and innovative software at scale | 25 | | [Cycloid]({{< relref "cycloid" >}}) | An end-to-end Internal Developer Platform to cut cloud waste and scale software delivery | 26 | | [Flanksource Mission Control]({{< relref "flanksource-mission-control" >}}) | Kubernetes-native Internal Developer Portal and GitOps orchestrator. | 27 | | [Flightdeck]({{< relref "arctir-flightdeck" >}}) | A no-hassle, managed developer portal built atop open source Backstage. | 28 | | [OpsLevel]({{< relref "opslevel" >}}) | All your services, all in one interface | 29 | | [Port]({{< relref "port" >}}) | A developer portal for all your services,software & resources | 30 | | [Rely.io]({{< relref "relyio" >}}) | A Managed Developer experience that just works | 31 | | [Roadie]({{< relref "roadie" >}}) | Backstage as a service: adopt OSS without the overhead | 32 | | [Tempest]({{< relref "tempest" >}}) | End-to-end platform automations with comprehensive built-in portal | 33 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/arctir-flightdeck.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Flightdeck" 3 | url="/developer-portals/arctir-flightdeck" 4 | 5 | +++ 6 | 7 | # Flightdeck 8 | 9 | **Claim:** An API-first developer platform built atop open source [Backstage](https://backstage.io). 10 | 11 | **Focus:** 12 | 13 | Flightdeck is a developer platform that is built for developers. Every aspect of Flightdeck is tailored to the tools and practices typically used by high-performing development teams. Not only does Flightdeck reduce operational toil, but also provides actionable insights about the complete software development environment. 14 | 15 | **Website:** [arctir.com](https://arctir.com/flightdeck) 16 | 17 | **Docs:** [docs.arctir.com](https://docs.arctir.com) 18 | 19 | ### Details 20 | 21 | | Details | | 22 | | --- | --- | 23 | | Does it require developers to have DevOps knowledge? | No | 24 | | Self-hosted: | Yes (available as SaaS or on-premises) | 25 | | Orchestrator | Flightdeck has been built API-first. Arctir provides interfaces for commonly used languages and frameworks such as Go, Typescript, and Terraform. | 26 | | Integration Concept | Flightdeck comes complete with integrations for the most common infrastructure services, with the option to easily add custom integrations where necessary. | 27 | | Setup time first app | Less than 10 minutes | 28 | | Source | OSS Based | 29 | | Use Case | 50+ developers with features for every team size: startups through large enterprise. | 30 | | Total Cost of Ownership | [Flightdeck Pricing](https://arctir.com/pricing) | 31 | | Adoption | Stable | 32 | 33 | {{< button href="https://arctir.com/flightdeck" target="_blank" >}} 34 | -> Flightdeck 35 | {{< /button >}} 36 | 37 | What is Flightdeck? 38 | --------------------- 39 | 40 | Flightdeck is an API-first developer platform built on top of the open-source Backstage project. It is designed to streamline the development process by providing a centralized hub for managing software components, documentation, API specifications, and integrations. Flightdeck focuses on enhancing developer productivity by offering tools and practices commonly employed by platform engineering teams. It supports both SaaS and on-premises deployment, making it flexible for various organizational needs. With features like a secure tunnel model for accessing private infrastructure and custom plugin support, Flightdeck aims to simplify and accelerate the development lifecycle. 41 | 42 | ### How Arctir Manages Flightdeck 43 | 44 | Arctir manages Flightdeck by leveraging a combination of open-source technologies and proprietary enhancements to ensure a seamless developer experience. The platform is built on top of Backstage, which provides a robust foundation for managing software components, documentation, golden path templates, and integrations. 45 | 46 | Arctir enhances this foundation with additional features tailored to the needs of high-performing development teams. These enhancements include: 47 | 48 | - **Community Plugins**: Arctir is actively engaged in the Backstage community, notably contributing to community plugin support. New plugins are continually add to Flightdeck for a frictionless user experience. 49 | - **Secure Tunnel Model**: To ensure secure access to private infrastructure, Arctir employs a secure tunnel model. This approach allows developers to interact with Kubernetes clusters and other internal resources while simultaneously maintaining security standards. 50 | - **API-First Approach**: Flightdeck has been designed API-first, enabling seamless integration with other tools and frameworks. No more "click ops". Users can manage Backstage with tooling that they are already familiar with. 51 | - **SaaS and On-Premises Deployment**: Arctir offers Flightdeck as both a SaaS solution and an on-premises deployment, providing flexibility for organizations with different security and compliance requirements. 52 | - **Continuous Updates**: Arctir continuously updates Flightdeck with new features and improvements, ensuring that the platform remains up-to-date with the latest developer tooling and practices baked-in. 53 | 54 | By combining these elements, Arctir ensures that Flightdeck remains a powerful and flexible developer platform that enhances productivity and streamlines the complete development lifecycle. 55 | 56 | ### What is the mission and vision of Arctir? 57 | 58 | Arctir's mission is to empower developers by providing them with the tools to be more productive and efficient. By focusing on developer-centric solutions, Arctir aims to streamline the development process and reduce the complexity of managing software at scale. No more getting bogged down in operational toil. Developers are freed to focus on creativity and innovation. 59 | 60 | ### A brief history of Arctir 61 | 62 | Arctir was founded in 2022 by veterans of the cloud native and developer tooling companies, including Heptio, VMware, Red Hat, Kong and others. Developers are buried in complexity, but traditional tools, like wikis and spreadsheets, only compound the problem. Having witnessed, first hand, the pain that developers endure from misaligned or non-existent tools, we are focused on delivering real, lasting solutions that help developers make sense of their complete software estate. -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/atlassian-compass.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Compass from Atlassian" 3 | aliases="/frameworks/atlassian-compass" 4 | url="/developer-portals/atlassian-compass" 5 | 6 | +++ 7 | 8 | # Compass 9 | 10 | **Claim:** Manage your distributed architecture and the teams collaborating on it together in a single place. 11 | 12 | **Focus:** Compass helps engineering teams tame software sprawl by intuitively providing a single source of truth for their distributed software architecture, and enabling them to understand what’s been built, who owns it, their operational health and policies applied to them. It offers insights into problem areas that need attention and changes that have happened over time, helping teams improve their architecture and development velocity. 13 | 14 | **Website:**[ www.atlassian.com/software/compass](https://www.atlassian.com/software/compass) 15 | 16 | **Docs:** [developer.atlassian.com/cloud/compass/](https://developer.atlassian.com/cloud/compass/) 17 | 18 | 19 | ### Details 20 | | Details | | 21 | | --- | ----------- | 22 | | Does it require developers to have DevOps knowledge? | No | 23 | | Self-hosted: | No | 24 | | Orchestrator | N/A | 25 | | Integration Concept | Native, Build custom integrations via API or Forge app development platform | 26 | | Setup time first app | 7 mins | 27 | | Source | Closed | 28 | | Use Case | Startup to enterprise scale | 29 | | Total Cost of Ownership | N/A | 30 | | Adoption | Rapid, stable | 31 | 32 | {{< button href="www.atlassian.com/software/compass" target="_blank" >}} 33 | -> Compass 34 | {{< /button >}} 35 | 36 | What is Compass? 37 | --------------------- 38 | Compass is a developer experience platform and service catalog that brings your distributed software architecture and the teams collaborating on them together in a single, unified place. 39 | 40 | With predefined scorecards like application readiness and DevOps health, out-of-the-box metrics including deployment time and frequency, build success rate, availability, and MTTR, dependency maps, and more—Compass helps make it intuitive to improve development velocity and satisfaction, maintain ops readiness, and increase security standards. 41 | 42 | Compass includes easy integrations with popular tooling, such as GitHub, GitLab, BitBucket, LaunchDarkly, New Relic, AWS, CircleCI, and more. In addition, Compass is built entirely on publicly accessible APIS backed by GraphQL, allowing you to connect information across your toolchain and craft a unified experience that improves developer productivity and happiness with ease. 43 | 44 | Compass is currently available for free in beta. 45 | 46 | 47 | ### What is the mission and vision of Compass? 48 | Compass helps engineering teams tame software sprawl by intuitively providing a single source of truth for their distributed architecture, and enabling them to understand what’s been built, who owns it, their operational health and policies applied to them 49 | 50 | [Read the announcement](https://www.atlassian.com/blog/announcements/introducing-compass) to learn how Compass is on a mission to improve the developer experience across highly distributed architecture and teams. 51 | 52 | ### A brief history of Compass 53 | 54 | In 2018, Compass was built as a way for Atlassian’s large, distributed engineering team to internally document and track all of their services and dependencies, maintain ops readiness and security standards, improve time to delivery metrics, and increase overall developer satisfaction. 55 | 56 | However, while Compass worked with their customers migrating to managed cloud services and containerizing their applications into hundreds (or even thousands) of microservices, customer engineering teams often asked how Atlassian engineers were dealing with the increased complexity and cognitive load within their own highly distributed environment. 57 | 58 | As a direct result, Atlassian externally released Compass in 2022 to provide a simple way for engineering orgs to connect their services, libraries, and components in a centralized developer experience platform and service catalog. 59 | 60 | Today, Compass is available for platform engineering teams—as well as application development teams—that want to quickly start exploring their services, documentation, libraries, tooling, and dependencies in a single, unified place. 61 | 62 | #### Core features of Compass 63 | 64 | – Service Catalog – Keep track of your ever-evolving technical architecture, metadata, dependencies, metrics, and the teams that collaborate around them in one central place. 65 | 66 | – DevOps health - Codify, operationalise, and apply engineering best practices at scale and keep your architecture in a healthy state. Give teams autonomy while ensuring security, compliance, and reliability best practices are maintained. 67 | 68 | – Extensibility engine - Compass is built entirely on publicly accessible APIs backed by GraphQL, allowing you to connect information across your toolchain and craft a unified experience that improves developer productivity and happiness with ease. In addition, Compass includes easy integrations with popular tooling, such as GitHub, GitLab, BitBucket, LaunchDarkly, New Relic, AWS, CircleCI, and more 69 | 70 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/cortex.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Cortex" 3 | url="/developer-portals/cortex" 4 | 5 | +++ 6 | 7 | # Cortex 8 | 9 | **Claim:** Build reliable and innovative software at scale 10 | 11 | **Focus:** Cortex takes a system-of-record approach toward helping engineering teams make sense of their microservice architectures and development outlook. 12 | 13 | **Website:**[ cortex.io](https://www.cortex.io/) 14 | 15 | **Docs:** [docs.cortex.io](https://docs.cortex.io/) 16 | 17 | 18 | ### Details 19 | | Details | | 20 | | --- | ----------- | 21 | | Does it require developers to have DevOps knowledge? | Yes | 22 | | Self-hosted: | Yes | 23 | | Orchestrator | N/A | 24 | | Integration Concept | N/A | 25 | | Setup time first app | N/A | 26 | | Source | Closed | 27 | | Use Case | Enterprise Setups | 28 | | Total Cost of Ownership | N/A | 29 | | Adoption | N/A | 30 | 31 | {{< button href="https://www.cortex.io/" target="_blank" >}} 32 | -> Cortex 33 | {{< /button >}} 34 | 35 | What is Cortex? 36 | --------------------- 37 | 38 | Cortex comprises a service catalog and associated tooling made to help teams manage their microservice ecosystems without having to mess around with spreadsheets or other generic solutions that might not be well-suited to the task. Its creators say its ability to help teams define best practices and promote positive cultural change makes it an excellent option for instituting modern development practices – but is it any better than other methods? 39 | 40 | Cortex provides engineering teams with uniform insights into how their software systems interact by unifying service and resource metadata in the form of common entity descriptors written in YAML. Users have two main options for updating their service catalog: manually editing descriptors through the Cortex UI or using a GitOps approach centered on a unified catalog descriptor file that's synced programmatically or via the official Git integration. 41 | 42 | Cortex natively includes the ability to track different types of information about services en masse, like ownership, grouping tags, and custom metadata. It also lets teams define custom scorecards that they can use to gauge measures like operational readiness, DORA metrics, and development maturity. 43 | 44 | Cortex supports cloud and self-hosted (via a Helm chart) deployments. Most users will likely stick to the UI's workflows to start, but in addition to this and the GitOps integrations, you can work with a REST API. You can also add custom features to your web dashboard, which includes service documentation links and a few helpful visualizations by default. 45 | 46 | 47 | ### What is the mission and vision of Cortex? 48 | 49 | Cortex portrays itself as a viable alternative to struggling with massive service-oriented architectures. It attempts to expose the nuances that define service quality to avoid unnecessary institutional knowledge and information silos, making it easier to onboard new engineers and maintain services without building all-new internal tools from scratch. 50 | 51 | One of Cortex's primary goals is to help teams promote organizational cultures that value ownership and reliability. It achieves this primarily through a combination of infrastructure metadata and engineering automation centered around its customizable dashboards, GitOps integrations, and APIs. According to its founders, Cortex has been engineered to not only addresses the needs of developers but also engineering leaders by providing enhanced visibility into a range of factors. 52 | 53 | 54 | ### A brief history of Cortex 55 | 56 | Cortex was created by engineers from Twilio, Uber, and other companies. Since its inception, it's been adopted by teams at Grammarly, Clever, Rappi, 8x8, Adobe, and other tech firms. 57 | 58 | Although Cortex didn't always include the breadth of services it now offers, its continual feature expansion undoubtedly played a role in its path to success: In late 2021, the company raised a $15 million Series A funding round from backers including Sequoia Capital, Tiger Global, and multiple angel investors. 59 | 60 | #### Core features of Cortex 61 | 62 | - Dependency Tracking -- Cortex users can define dependencies, making it easier to manage services and resources passively – such as by triggering automatic notifications upon API deprecations or other noteworthy events. If you're already using Datadog, Cortex can automatically sync with its tracing map dependencies. 63 | 64 | - Query Builder -- Cortex's query builder makes it possible to query data from any of the connected third-party tools uniformly. This could prove helpful for exposing custom insights on the fly, like which services have been deployed or might have been impacted by specific vulnerabilities. 65 | 66 | - Integrations -- Cortex integrates with 30 or so third-party tools, including GitHub, ECS, CodeCov, Sentry, Prometheus, Kubernetes, and more. 67 | 68 | It should be noted that switching to this tool might not be an instantaneous process. The complexity of adoption will likely depend on the current set up – and the Cortex documentation recommends against diving straight into a GitOps-oriented workflow without getting used to the UI first. -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/flanksource-mission-control.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Flanksource Mission Control" 3 | aliases="/frameworks/flanksource-mission-control" 4 | url="/developer-portals/flanksource-mission-control" 5 | 6 | +++ 7 | 8 | 9 | # Flanksource Mission Control 10 | 11 | **Claim:** Kubernetes-native Internal Developer Portal and GitOps orchestrator. 12 | 13 | **Focus:** Improving the developer experience when operating complex systems. 14 | 15 | **Website:** [www.flanksource.com](https://www.flanksource.com) 16 | 17 | **Docs:** [docs.flanksource.com](https://docs.flanksource.com) 18 | 19 | 20 | ## Details 21 | | Details | | 22 | | --- | ----------- | 23 | | Does it require developers to have DevOps knowledge? | No | 24 | | Self-hosted: | Yes | 25 | | Orchestrator | GitOps | 26 | | Integration Concept | Pull based scrapers configured using Helm / CRD's | 27 | | Setup time first app | < 30m | 28 | | Source | Source Open (BSL) | 29 | | Use Case | Teams with limited platform engineering skills and/or capacity | 30 | | Total Cost of Ownership | Free for Non-Prod, See [Pricing](https://www.flanksource.com/pricing) | 31 | | Adoption | N/A | 32 | 33 | {{< button href="https://docs.flanksource.com" target="_blank" >}} 34 | Docs 35 | {{< /button >}} 36 | 37 | What is Flanksource Mission Control? 38 | --------------------- 39 | 40 | Flanksource Mission Control is a source-open, Kubernetes-native Internal Developer Portal (IDP) built for GitOps engineers. It empowers platform teams to accelerate GitOps adoption while providing developers with deep, real-time insights into complex system health and change. 41 | 42 | ## What is the mission and vision of Flanksource Mission Control? 43 | 44 | 45 | Managing complex systems can feel like herding cats. Microservices, legacy infrastructure, that one server everyone's afraid to touch - it's a lot to wrangle. 46 | 47 | That's where Mission Control comes in. It's built for teams who need a better way to operate the systems they already have, regardless of the maturity level. Think of it as your command center for navigating the chaos. 48 | 49 | #### When to use Mission Control? 50 | 51 | - Your platform team prefers GitOps and Kubernetes 52 | - Your developers prefer ClickOps 53 | - You want to adopt GitOps and IDP's incrementally 54 | - You prefer self-hosted solutions and being able to see the source code 55 | - You have a mix of on-premises, cloud, and legacy infrastructure 56 | 57 | 58 | #### When NOT to use Mission Control? 59 | 60 | - You prefer ClickOps to GitOps 61 | - You have dedicated full-stack platform engineers 62 | - You are mostly serverless 63 | - You want to track maturity or production readiness levels 64 | 65 | ## A brief history of Mission Control 66 | 67 | Platform engineering initiatives often fall short of their potential, a theme Flanksource's consulting team observed firsthand. 68 | 69 | Three key challenges emerged time and time again: 70 | 71 | * Widening infrastructure skills gap between developers and operators due to increasing complexity. 72 | * Change fatigue from processes requiring widespread change. 73 | * Lack of discoverability making it difficult for developers to find and use new capabilities effectively. 74 | 75 | 76 | Mission Control was born from these experiences. It's designed to address these challenges head-on, making platform engineering more accessible, adaptable, and less daunting for developers and platform engineers alike. 77 | 78 | ## Core features of Mission Control 79 | 80 | **Unified Catalog** 81 | 82 | Mission Control automatically discovers and catalogs your infrastructure running in Kubernetes, AWS, Azure and Google - while also providing custom scrapers to collect service metadata using Git, SQL, HTTP, and PromQL. The catalog is then enriched with: 83 | 84 | - Events from Kubernetes, AWS CloudTrail and the Azure Activity Log 85 | - JSON based Change Tracking 86 | - Security, Reliability and Cost Insights from Trivy, AWS Trusted Advisor and Azure Monitoring 87 | - A graph that lets visualize and explore upstream and downstream change and system health 88 | 89 | **GitOps Orchestrator / Playbooks** 90 | 91 | Mission Control makes it easy to adopt GitOps incrementally. With its intuitive web console, you can edit resources managed by Flux, Argo, Terraform while submitting changes as Git Pull Requests - all without writing a single Git command. This lets you benefit from GitOps without the steep learning curve. 92 | 93 | Mission Control enables you to build meta control planes by reacting to changes in health and state and then running playbooks that commit changes back to git. 94 | 95 | **Healths Checks** 96 | 97 | Mission Control gives you a single pane of glass into the health of your systems by: 98 | 99 | * Aggregating alerts from Prometheus, Cloudwatch, Dynatrace, Dataog etc 100 | * Running synthetic checks using 30+ builtin protocols like HTTP, S3 and SQL 101 | * Continuously testing your control plane(s) by spinning up resources and running checks against them automatically 102 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/opslevel.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="OpsLevel" 3 | url="/developer-portals/opslevel" 4 | 5 | +++ 6 | 7 | # OpsLevel 8 | 9 | **Claim:** All your services, all in one interface 10 | 11 | **Focus:** OpsLevel is a uniform interface that lets developers manage everything from one place, including their tools, services, and systems. 12 | 13 | **Website:** [opslevel.com](https://www.opslevel.com) 14 | 15 | **Docs:** [opslevel.com/docs](https://www.opslevel.com/docs) 16 | 17 | 18 | ### Details 19 | | Details | | 20 | | --- | ----------- | 21 | | Does it require developers to have DevOps knowledge? | Yes | 22 | | Self-hosted: | Yes | 23 | | Orchestrator | N/A | 24 | | Integration Concept | N/A | 25 | | Setup time first app | N/A | 26 | | Source | Closed | 27 | | Use Case | Enterprise Setups | 28 | | Total Cost of Ownership | N/A | 29 | | Adoption | N/A | 30 | 31 | {{< button href="https://www.opslevel.com" target="_blank" >}} 32 | -> Opslevel 33 | {{< /button >}} 34 | 35 | What is OpsLevel? 36 | --------------------- 37 | 38 | If you're like many organizations that have struggled with DevOps, then creating an internal developer platform (IDP) probably seems like a smart move – and OpsLevel promises to help you build a capable Developer Portal and Service Catalog provides your developers with one main access point to your IDP (which you still need to build). 39 | 40 | OpsLevel takes the form of an interactive dashboard that portrays service information in detail. Clicking on any microservice reveals more metadata, making it easy to see dependencies, notes, connected repositories, and descriptions. 41 | 42 | OpsLevel also supports interacting with services from a few different perspectives, letting you: 43 | - Filter services owned by specific teams or users, 44 | - Sort services by their owners, last-deployment times, custom tags, or tiers, 45 | - View which teams own the most tech debt, 46 | - Chat about specific services in context, and 47 | - Search for information to learn more about how architectural elements interact. 48 | 49 | Notably, OpsLevel gives engineers a few ways to manage and interact with services, such as launching campaigns that let you map out timelines and project scopes from a dedicated hub. Campaigns can also include automated checks for verifying that projects meet your custom standards. To make service management more meaningful, the interface integrates with several external tools and comes with a CLI, a GraphQL API, and an official Terraform provider. 50 | 51 | ### What is the mission and vision of Opslevel? 52 | 53 | OpsLevel's goal is to make it easier for engineering teams to use their platforms for streamlined service management. (Rightly) believing that modern developers are tasked with far too much, the company created its tool to facilitate straightforward self-service: Engineers can use OpsLevel to create new services, connect toolchains, and monitor operations from a convenient location. 54 | 55 | Unlike some tools, OpsLevel is heavily visual, although it's unclear how easily you can customize the visualizations and charts without having to hack the web interface or export your data to an AWS bucket. You can use its CLI or YAML files to define services, but does this align with the firm's stated mission of unlocking developer productivity? While they aren't as hands-off as working with the UI, OpsLevel's manual methods and integration support may help you minimize the amount of time you spend editing configuration files – or at least facilitate more consistent organizational workflows when dealing with them becomes unavoidable. 56 | 57 | 58 | ### A brief history of Opslevel 59 | 60 | OpsLevel was founded by two ex-PagerDuty engineers who wanted to clarify microservice ownership and push back against the trend of overloading development teams with inappropriate responsibilities. OpsLevel has also raised money in multiple funding rounds, including a $5 million seed round in 2020 and a $15 million Series A round in 2022. 61 | 62 | 63 | #### Core features of OpsLevel 64 | 65 | - Service Catalog Interface -- OpsLevel's interface exposes in-depth metadata about specific services, making it easy for anyone to see who owns individual services. It displays visual dependency graphs, facilitates convenient ChatOps practices, and tracks data from deployments, clusters, repos, and other toolchain elements of your choice. 66 | 67 | - Integrations -- OpsLevel integrates with a wide range of different CI and CD services, including Git, GitLab, GitHub Actions, Slack, Jenkins, AWS ECR, and PagerDuty, to name a few. The interface not only supports monitoring existing integrations but also lets you add integrations, view documents, and set up automated checks against your pipeline. 68 | 69 | - Service Maturity Monitoring -- OpsLevel's service maturity tools offer features for gauging adoption, instituting standards, and guiding users on best practices. The catalog provides scorecards that aggregate relevant information about microservice lifecycles and let you gain insights into potentially insecure or unsupported dependencies. You can also automate reports at the team, service, or domain levels and implement campaigns for smoother rollouts, upgrades, and transition projects. -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/port.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Port" 3 | aliases="/frameworks/port" 4 | url="/developer-portals/port" 5 | +++ 6 | # Port [#](https://internaldeveloperplatform.org/developer-portals/port/#port) 7 | 8 | **Claim**: An open internal developer portal. 9 | 10 | **Focus**: Port is a platform that lets platform engineers build a context-rich software catalog with maturity and quality scorecards. It can also support comprehensive, long-running, developer self-service actions on services, resources, and more, as well as workflow automation. 11 | 12 | **Website**: [getport.io](https://www.getport.io/) 13 | 14 | **Docs**: [docs.getport.io](https://docs.getport.io/) 15 | 16 | **Live Demo**: [demo.getport.io/self-serve](https://demo.getport.io/self-serve) 17 | 18 | ### Details [#](https://internaldeveloperplatform.org/developer-portals/port/#details) 19 | 20 | 21 | | Details | | 22 | | ---------------------------------------------------- | ------------------------------------------------- | 23 | | Does it require developers to have DevOps knowledge? | No | 24 | | Orchestrator | N/A. Port is loosely coupled with any existing platform engineering automation, interfacing with any orchestrator chosen by the customer | 25 | | Integration Concept | API based | 26 | | Setup time first app | Minutes | 27 | | Source | Closed, integrations and exporters are open | 28 | | Total Cost of Ownership | Port has a free version without user or time limits. Pricing is transparent and appears on [Port's site](https://www.getport.io/pricing) | 29 | | Adoption | Many free and paying users, such as Foresters, CyberArk, Shift, Bloomerang, Melio, BT, Tripla, neosec, Aqua, run:ai, etc | 30 | 31 | 32 | [-> Port](https://www.getport.io/) 33 | 34 | 35 | ## **What is Port?** [#](https://internaldeveloperplatform.org/developer-portals/port/#what-is-port) 36 | 37 | Port is a platform for building no-code, holistic, Internal Developer Portals. Port's software catalog covers microservices, resources, custom assets and fits any data model, with in-context maturity scorecards. Its portals support any developer self-service action and workflow automation. 38 | 39 | Blueprints, or custom entity definitions, are the center of Port. They support the representation of any asset in Port, such as microservice, environment, package, cluster, databases etc. This means that Port is un-opinionated and supports any portal for any use case: Enable developers in your organization through a self-service portal for your IaC solution or any other toolset you use. Full kubernetes portal covering services, pods, clusters and more kubernetes objects, allowing for full K8s object visibility and custom developer views. Cloud resource catalog e.g. for AWS add data about Lambda functions, S3 buckets, SQS, ECS services etc. Support GCP too. GitHub catalog data from git providers that will populate the blueprints, creating a software catalog with the right abstractions, permissions and more. 40 | 41 | Port's software catalog acts as a single source of truth and is always up to date. It can be used as part of workflows, automations and CI/CD processes. All the data in Port, from CI/CD to K8s data and any extension is searchable, creating numerous inputs for workflow automation. 42 | 43 | Port both updates other systems and allows workflows (such as CI) to check its catalog. Port also supports a UI-based developer self-service that's loosely coupled with the underlying platform and easy scorecard creation to set engineering standards from DORA metrics to health checks, production readiness, and reliability. 44 | 45 | **What is the mission and vision of Port? [#](https://internaldeveloperplatform.org/developer-portals/port/#what-is-the-mission-and-vision-of-port)** 46 | 47 | Port's mission is to deliver every developer a best-in-class experience while coding and bringing code to production. 48 | 49 | Port was established so every platform engineer could create a developer portal suitable for their developers' needs, from a software catalog to developer self-service actions. 50 | 51 | 52 | ### **A brief history of Port [#](https://internaldeveloperplatform.org/developer-portals/port/#a-brief-history-of-port)** 53 | 54 | Port's product was launched in January 2022. Port's founding team has over 10 years of hands-on DevEx expertise. 55 | 56 | 57 | ### **Core features of Port [#](https://internaldeveloperplatform.org/developer-portals/port/#core-features-of-port)** 58 | 59 | 60 | 61 | * Visibility – Create a comprehensive catalog by mapping all your software and infrastructure components. 62 | * Self-Service – Enable self-serve for anyone in the organization. 63 | * Granular Policies & Controls – for effective and responsible launch of an Internal Developer Platform. 64 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/relyio.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Rely.io" 3 | aliases="/frameworks/relyio" 4 | url="/developer-portals/relyio" 5 | +++ 6 | 7 | # Rely.io 8 | 9 | **Claim**: A Managed Developer experience that just works. 10 | 11 | **Focus**: Rely.io is an Internal Developer Portal that grants developers autonomy, reduces costs and increases productivity all while ensuring governance and standardization. 12 | 13 | **Website**: [rely.io](https://www.rely.io/) 14 | 15 | **Docs**: [docs.rely.io](https://docs.rely.io/) 16 | 17 | **Request Free Trial**: [rely.io/free-trial](https://www.rely.io/free-trial) 18 | 19 | ## Details 20 | 21 | | Details | | 22 | | --- | ----------- | 23 | | Does it require developers to have DevOps knowledge? | No | 24 | | Self-hosted: | SaaS with self-hosted options. Galaxy, Rely.io's integration can be run in your infrastructure. For self-service actions, the self-service agent needs to be installed in your secure environment | 25 | | Orchestrator | N/A. Rely.io integrates with any existing platform engineering automation, interfacing with any orchestrator chosen by the customer | 26 | | Integration Concept | API based | 27 | | Setup time first app | Minutes | 28 | | Source | Mixed. The integration engine, some integrations and self-service agent are open source | 29 | | Use Case | Startups, Scale-ups and Enterprise Setups | 30 | | Total Cost of Ownership | Rely.io's pricing model is seat-based and the details are available on [Rely.io website](https://www.rely.io/pricing) | 31 | | Adoption | Early but stable with customers, such as, Amplemarket, Rows, Feezai, etc... | 32 | 33 | {{< button href="https://www.rely.io" target="_blank" >}} 34 | -> Rely.io 35 | {{< /button >}} 36 | 37 | ### **What is Rely.io?** 38 | 39 | [Rely.io](https://rely.io) is an **Internal Developer Portal** that aims to improve developer autonomy, reduce costs and ultimately increase developer productivity all while ensuring governance and standardization. 40 | 41 | Rely.io is opinionated enough so you can see value in minutes and highly flexible to support any use case and tech stack that customers might have. 42 | 43 | Starting with the Software Catalog, Rely.io covers microservices, teams, incidents, cloud resources, etc. To allow you to leverage your existing data model you can create custom assets and use Rely.io's REST API to import your data. 44 | 45 | Blueprints are a foundational concept for Rely.io. They are the representation of any resource, such as services, incidents, environment, cloud resources, etc. When you create an account with Rely.io you get several blueprints by default but as part or Rely.io's extensability features you can adapt the existing blueprints or create your own. 46 | 47 | Building on top of the Software Catalog and Blueprints Rely.io offers Scorecards that allow teams to track specific metrics and KPIs that are relevant to them. Scorecards are calculated dynamically and implement gamification features that create some healthy competition between teams. 48 | 49 | To improve developer autonomy and reduce ticket-ops, Rely.io provides Self-service capabilities to developers through its Self-service hub. By default, Rely.io offers certain Self-service actions by default but you can customize the Self-service actions and create your own. 50 | 51 | Lastly, Rely.io aims to be a central component to the day-to-day of developers. With that in mind, Rely.io, created developer homepages that you can customize to adapt to your daily tasks. 52 | 53 | **What is the mission and vision of Rely.io?** 54 | 55 | Every year, companies waste more than $1 trillion because developers spend up to 40% of their time working on mundane, non-code-producing work. [Rely.io](https://rely.io) has the goal to change that. 56 | 57 | Rely.io is building the next generation of intelligent tools and automation to supercharge developer productivity and reduce developer toil. To achieve that goal, Rely.io released an Internal Developer Portal that empowers engineering organizations to enhance visibility and engineering standards across their software ecosystem. 58 | 59 | ### **A brief history of Rely.io** 60 | 61 | Rely.io was launched in 2022. Rely.io's founding team has over 10 years of hands-on DevEx expertise. 62 | 63 | ### **Core features of Rely.io** 64 | 65 | * **[Catalog](https://www.rely.io/product/software-catalog)** – Discover and centralize all the relevant information about your services and resources, organized in service and team homepages. 66 | * **[Measure](https://www.rely.io/product/engineering-performance)** – From productivity and performance, to cost and reliability to ensure you have the complete picture in order to move fast and with complete confidence. 67 | * **[Improve](https://www.rely.io/product/scorecards)** – Engineering leaders define and track standards and KPIs for quality, production readiness, productivity, and more. 68 | * **[Self-service](https://www.rely.io/product/developer-self-service)** - Bake best practices into developer routines and automate their work away with boilerplate code and workflows. 69 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/roadie.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Roadie" 3 | url="/developer-portals/roadie" 4 | 5 | +++ 6 | 7 | # Roadie 8 | 9 | **Claim:** Backstage as a service: adopt OSS without the overhead. 10 | 11 | **Focus:** 12 | 13 | Backstage is a powerful Open Source technology, but as highlighted by Garner[^1], it can require significant effort and resources to stand up and maintain. Roadie offers production-grade Backstage instances through a managed Cloud, automatic updates, extra security layers, and stellar support by engineers. 14 | 15 | Roadie is an ideal fit for teams with up to 2000 developers using GitHub, Bitbucket, GitLab, or Azure DevOps for Source Control Management. 16 | 17 | **Website:**[roadie.io](https://roadie.io/) 18 | 19 | **Docs:** [roadie.io/docs/](https://roadie.io/docs/) 20 | 21 | 22 | ### Details 23 | 24 | | Details | | 25 | | --- | --- | 26 | | Does it require developers to have DevOps knowledge? | No | 27 | | Self-hosted: | No | 28 | | Orchestrator | N/A | 29 | | Integration Concept | API, artifactory for custom plugins, secure tunnel model for accessing Kubernetes | 30 | | Setup time first app | 24 hours | 31 | | Source | OSS Based | 32 | | Use Case | 100-2000 developers | 33 | | Total Cost of Ownership | N/A | 34 | | Adoption | N/A | 35 | 36 | {{< button href="https://roadie.io/" target="_blank" >}} 37 | -> Roadie 38 | {{< /button >}} 39 | 40 | What is Roadie? 41 | --------------------- 42 | 43 | Roadie is a hosted and managed Internal Developer Portal based on [Backstage]({{< relref "backstage" >}}). 44 | 45 | Roadie offers all of Backstage’s core features and plugins: 46 | 47 | - **Catalog**: track ownership and dependencies of your software assets, teams, and infrastructure. 48 | - **Scaffolder**: enable self-service options for your developers to adopt best practices and request infrastructure with a few clicks. 49 | - **Documentation**: find all your documentation in one place through Backstage’s docs-as-code solution. 50 | - **Search**: find across your Catalog, documentation, StackOverlow, and Confluence. 51 | - **Plugins and integrations**: Roadie offer 45+ plugins and integrations by default and can install more OSS plugins on demand. 52 | 53 | Additionally, Roadie provides you with: 54 | 55 | - **Automated Updates**: With a powerful community behind, Backstage keeps improving with every update. Roadie will keep your instance up to date, bringing you new features without you worrying about breaking changes or internal APIs. Keeping your instance updated also keeps it safe. 56 | - **Ironed-out OSS features**: Roadie gives your developer a refined Backstage experience by tackling common issues such as API rate limits. 57 | - **Single-tenant SaaS**: you get a production-grade Backstage instance with additional security measurements, such as ephemeral and scoped environments for Scaffolder actions. 58 | - **Private plugins**: deploy your own Backstage plugins into your instance to make your Internal Developer Portal work exactly as your developers need it. 59 | - **Custom API renders**: provide your own API documentation renderer to define exactly how you want your documentation to be shown. 60 | - **Kubernetes integration**: using a secure tunnel model where no credentials are shared with Roadie, you can bring information about your Kubernetes clusters related to the services in the Catalog to deliver an integrated experience for your developers. 61 | - **Scorecards**: Roadie also offers a paid add-on that lets you collect insights about the practices in your Catalog, considering data from various sources. 62 | 63 | 64 | ### What is the mission and vision of Roadie? 65 | 66 | Our mission is to increase the effectiveness of software development. Every industry has more software than ever before. From communications to transportation to green energy. The number of developers in the world is estimated to be 26.9 million, and is projected to grow to 45 million by 2030. By making developers more effective, we believe Roadie can have a huge positive influence on the world. 67 | 68 | ### A brief history of Roadie 69 | 70 | Roadie was founded in 2020 and started offering Backstage as a service as soon as the framework was released. It is now trusted to be the Developer Portal for companies like Netlify, Snyk, Contentful, Caribou and MyFitnessPal. 71 | 72 | Roadie is the second largest contributor to Backstage after Spotify. The company has open sourced a handful of plugins that are widely adopted in the community, such as the ArgoCD integration or the Jira plugin. 73 | 74 | Roadie’s CTO, Martina Iglesias Fernández, had first-hand experience building Backstage from its inception at Spotify, which has contributed to the stability and direction of Roadie's platform. 75 | 76 | 77 | [^1]: Manjunath Bhat, Mark O'Neill, Oleksandr Matvitskyy (2022). "Innovation Insight for Internal Developer Portals," Gartner Research: -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/developer-portals/tempest.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Tempest" 3 | url="/developer-portals/tempest" 4 | 5 | +++ 6 | 7 | # Tempest 8 | 9 | **Claim:** End-to-end platform automations with comprehensive built-in portal. 10 | 11 | **Focus:** 12 | 13 | Tempest is a developer portal that provides full cloud visibility, alongside powerful, end-to-end automations. It’s backed by a powerful developer SDK written in Go, making it the fastest path to setting up a portal and a platform for your big engineering teams. 14 | 15 | **Website:**[tempestdx.com](https://tempestdx.com) 16 | 17 | **Docs:** [docs.tempestdx.com](https://docs.tempestdx.com) 18 | 19 | 20 | ### Details 21 | 22 | | Details | | 23 | | --- | --- | 24 | | Does it require developers to have DevOps knowledge? | No | 25 | | Orchestrator | Build in end-to-end orchestration of deployments | 26 | | Integration Concept | Full developer SDK built on Go that models the provisioning lifecycle. Includes first party app integrations | 27 | | Setup time first app | Minutes | 28 | | Source | Closed core, but self-serve recipes are open-source | 29 | | Use Case | Internal developer portal for big engineering orgs | 30 | | Total Cost of Ownership | 30-day free trial and generous free tier. Pricing is transparent and available at tempestdx.com/pricing | 31 | | Adoption | N/A | 32 | 33 | {{< button href="https://tempestdx.com" target="_blank" >}} 34 | -> Tempest 35 | {{< /button >}} 36 | 37 | What is Tempest? 38 | --------------------- 39 | 40 | [Tempest](https://tempestdx.com/) helps teams deliver better code, faster, by providing a ready-to-use developer self-serve experience without the months of setup. It empowers developers to build, deploy, and manage independently, with built-in security and compliance guardrails. With Tempest’s unified platform—combining everything teams need from a service catalog and software ownership to powerful end-to-end automation—organizations boost developer productivity, accelerate time to market, and maximize return on engineering investments. 41 | 42 | ### Benefits 43 | 44 | - Improve cross-team collaboration and get full visibility into your cloud 45 | - Accelerate release cadence and increase quality via developer self-serve 46 | - Ensure adherence to organizational security and compliance standards 47 | - Streamline cloud resource management on a single platform 48 | 49 | ### What is the mission and vision of Tempest? 50 | 51 | Tempest’s mission is to create the space for innovation at the world’s most important organizations. By delivering products that enable cohesive, collaborative, and secure developer experiences, Tempest empowers engineering teams to focus on what matters most—building and innovating—while eliminating the friction of managing complex infrastructure. 52 | 53 | ### A brief history of Tempest 54 | 55 | Tempest was founded by the team behind Fleetsmith, acquired by Apple in 2020. After years at Apple, the founders recognized a recurring challenge: engineering teams that are burdened with infrastructure and operational tasks are less innovative. Launched in 2024, Tempest builds on their experience to address this gap. 56 | 57 | ### Core features of Tempest 58 | 59 | ## Turn Insights Into Action with a Built In Developer Portal 60 | 61 | - **Service Catalog**: Centralize services and resources for full cloud visibility and efficient management. 62 | - **Software Ownership**: Assign and keep up-to-date clear ownership for your services, reducing downtime and enabling faster issue resolution. 63 | - **Governance Policies**: Define and enforce engineering best practices with customizable policies to ensure compliance and consistency across all resources. 64 | 65 | ## Empower Developers with Platform Automations 66 | 67 | - **Developer Self-Serve**: Developers can access pre-configured infrastructure and environments instantly, removing bottlenecks and increasing velocity. 68 | - **Automated Deployments**: Consistent, secure, and automated provisioning ensures teams focus on code, not operations. 69 | - **Out-of-the-Box Apps and Developer SDK**: Extend Tempest’s functionality to your internal tools and existing systems seamlessly. 70 | - **From Guardrails to Autobahns**: Turn your platform guardrails into high-performance engineering highways. 71 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Image Registries" 3 | url="/registries" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # Image Registries 8 | 9 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | **Integration** | 12 | --- | 13 | [Amazon Elastic Container Registry (ECR)]({{< relref "amazon-ecr" >}}) | 14 | [Azure Container Registry]({{< relref "azure-container-registry" >}}) | 15 | [Docker Hub]({{< relref "dockerhub" >}}) | 16 | [Artifact Registry \| Google Cloud]({{< relref "gcp-artifact-registry" >}}) | 17 | [Container Registry \| Google Cloud]({{< relref "gcp-container-registry" >}}) | 18 | [Harbor]({{< relref "harbor" >}}) | 19 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/amazon-ecr.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Amazon ECR" 3 | url="/registries/aws-ecr" 4 | +++ 5 | 6 | # Amazon Elastic Container Registry (ECR) 7 | 8 | Amazon Elastic Container Registry (ECR) is a fully managed container registry that makes it easy to store, manage, share, and deploy your container images and artifacts anywhere. Amazon ECR eliminates the need to operate your own container repositories or worry about scaling the underlying infrastructure. Your images are hosts your images in a high-performance architecture, allowing you to reliably deploy images for your container applications. 9 | 10 | {{< button href="https://aws.amazon.com/de/ecr/" target="_blank" >}} 11 | -> Amazon Elastic Container Registry (ECR) 12 | {{< /button >}} -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/azure-container-registry.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Azure Container Registry" 3 | url="/registries/azure-container-registry" 4 | +++ 5 | 6 | # Azure Container Registry 7 | 8 | Azure Container Registry allows you to build, store, and manage container images and artifacts in a private registry for all types of container deployments. It handles private Docker container images as well as related content formats, such as Helm charts, Open Container Initiative (OCI) artifacts, and images built to the OCI image format specification. 9 | 10 | {{< button href="https://azure.microsoft.com/de-de/services/container-registry/" target="_blank" >}} 11 | -> Azure Container Registry 12 | {{< /button >}} -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/dockerhub.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Docker Hub" 3 | url="/registries/dockerhub" 4 | +++ 5 | 6 | # Docker Hub 7 | 8 | Docker Hub is the world's largest repository of container images with an array of content sources including container community developers, open source projects, and independent software vendors (ISV) building and distributing their code in containers. Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. 9 | 10 | {{< button href="https://hub.docker.com/" target="_blank" >}} 11 | -> Docker Hub 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/gcp-artifact-registry.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="GCP Artifact Registry" 3 | url="/registries/google-artifact-registry" 4 | +++ 5 | 6 | # Artifact Registry \| Google Cloud 7 | 8 | As the evolution of Container Registry, Artifact Registry is a single place for your organization to manage container images and language packages (such as Maven and npm). It is fully integrated with Google Cloud’s tooling and runtimes and comes with support for native artifact protocols. This makes it simple to integrate it with your CI/CD tooling to set up automated pipelines. 9 | 10 | {{< button href="https://cloud.google.com/artifact-registry" target="_blank" >}} 11 | -> Artifact Registry by Google Cloud 12 | {{< /button >}} -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/gcp-container-registry.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="GCP Container Registry" 3 | url="/registries/google-container-registry" 4 | +++ 5 | 6 | # Container Registry \| Google Cloud 7 | 8 | Container Registry is a single place for your team to manage Docker images, perform vulnerability analysis, and decide who can access what with fine-grained access control. Existing Continuous Integration, Continous Delivery, and Deployment (referred to as CI/CD) integrations let you set up fully automated Docker pipelines to get fast feedback. 9 | 10 | ***NOTE : Container Registry is still available and will continue to be supported as a [Google Enterprise API](https://cloud.google.com/blog/topics/inside-google-cloud/new-api-stability-tenets-govern-google-enterprise-apis), going forward new features will only be available in Artifact Registry, and Container Registry will only receive critical security fixes.*** 11 | 12 | {{< button href="https://cloud.google.com/container-registry" target="_blank" >}} 13 | -> Container Registry by Google Cloud 14 | {{< /button >}} -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/image-registries/harbor.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Harbor" 3 | url="/registries/harbor" 4 | +++ 5 | 6 | # Harbor 7 | 8 | Harbor is an open source registry that secures artifacts with policies and Role-Based Access Control. It ensures images are scanned and free from vulnerabilities, and signs images as trusted. Harbor is a graduate of the Cloud Native Computing Foundation. It delivers compliance, performance, and interoperability to help you consistently and securely manage artifacts across cloud-native compute platforms like Kubernetes and Docker. Harbor is what we are seeing used most in the Internal Developer Platform ecosystem. 9 | 10 | {{< button href="https://goharbor.io/" target="_blank" >}} 11 | -> Harbor 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/in-cluster-resources/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="In-Cluster Resources" 3 | url="/in-cluster-resources" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # In-Cluster Resources 8 | 9 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | **Integration** | 12 | --- | 13 | [Elastic]({{< relref "elastic" >}}) | 14 | [MariaDB]({{< relref "mariadb" >}}) | 15 | [RabbitMQ]({{< relref "rabbitmq" >}}) | 16 | [Redis]({{< relref "redis" >}}) | 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/in-cluster-resources/elastic.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Elastic" 3 | url="/in-cluster-resources/elasticsearch" 4 | +++ 5 | 6 | # Elastic 7 | 8 | Elastic is a distributed, open-source search and analytics engine built on Apache Lucene and developed in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. It is commonly used for log analytics, full-text search, security intelligence, business analytics, and operational intelligence use cases. 9 | 10 | Elastic is easy to implement. You can quickly add pre-tuned searches to your website, app, or eCommerce store. 11 | 12 | {{< button href="https://www.elastic.co/" target="_blank" >}} 13 | -> Elastic 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/in-cluster-resources/mariadb.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="MariaDB" 3 | url="/in-cluster-resources/mariadb" 4 | +++ 5 | 6 | # MariaDB 7 | 8 | MariaDB Server is one of the most popular open source relational databases. It's made by the original developers of MySQL and guaranteed to stay open source. It is part of most cloud offerings and the default in most Linux distributions. 9 | 10 | MariaDB turns data into structured information in a wide array of applications, ranging from banking to websites. Originally designed as enhanced, drop-in replacement for MySQL, MariaDB is fast, scalable, and robust, with a rich ecosystem of storage engines, plugins, and many other tools make it very versatile for a wide variety of use cases. 11 | 12 | {{< button href="https://mariadb.org/" target="_blank" >}} 13 | -> MariaDB 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/in-cluster-resources/rabbitmq.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="RabbitMQ" 3 | url="/in-cluster-resources/rabbitmq" 4 | +++ 5 | 6 | # RabbitMQ 7 | 8 | ****RabbitMQ is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols. 9 | 10 | RabbitMQ is lightweight and easy to deploy on-premises and in the cloud. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements. 11 | 12 | {{< button href="https://www.rabbitmq.com/" target="_blank" >}} 13 | -> RabbitMQ 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/in-cluster-resources/redis.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Redis" 3 | url="/in-cluster-resources/redis" 4 | +++ 5 | 6 | # Redis 7 | 8 | Redis is an in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperlogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. 9 | 10 | Redis is open source and BSD licensed - this means it has attained a permissive free software license, imposing minimal restrictions on the use and distribution of covered software. 11 | 12 | {{< button href="https://redis.io/" target="_blank" >}} 13 | -> Redis 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/infrastructure-as-code/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Infrastructure as Code (IaC)" 3 | url="/infrastructure-as-code" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | **Infrastructure as Code** 8 | 9 | Infrastructure as Code (IaC) allows you to provision and manage infrastructure resources from code, rather than manual processes. 10 | It is the key to reducing toil and risk when managing infrastructure of any significant scale. 11 | 12 | | **Integration** | 13 | | ----------------------------------------------------------------- | 14 | | [Pulumi]({{< relref "pulumi" >}}) | 15 | | [Terraform by Hashicorp]({{< relref "terraform-by-hashicorp" >}}) | 16 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/infrastructure-as-code/pulumi.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Pulumi" 3 | aliases="/diy/pulumi" 4 | url="/infrastructure-as-code/pulumi" 5 | +++ 6 | 7 | # Pulumi 8 | 9 | Pulumi is an [open source](https://github.com/pulumi/pulumi) Infrastructure as Code tool for creating, deploying, and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases. Pulumi also works with modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers. Pulumi can be used when you develop your Internal Developer Platform by codifying the infrastructure orchestration functionality 10 | 11 | {{< button href="https://www.pulumi.com/docs/" target="_blank" >}} 12 | -> Pulumi 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/infrastructure-as-code/terraform-by-hashicorp.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Terraform by Hashicorp" 3 | aliases="[/diy/terraform-hashicorp]" 4 | url="/infrastructure-as-code/terraform" 5 | +++ 6 | 7 | # Terraform by Hashicorp 8 | 9 | Terraform is an open-source Infrastructure as Code software tool that provides a consistent CLI (Command Line Interface) workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files. This allows you to automate the provisioning of your infrastructure resources. It's the perfect way to build the provisioning-component of the infrastructure orchestration building block yourself. 10 | 11 | {{< button href="https://www.terraform.io/" target="_blank" >}} 12 | -> Terraform 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/infrastructure-control-planes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Infrastructure Control Planes" 3 | url="/infrastructure-control-planes" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | **Infrastructure control planes** 8 | 9 | The control plane of an IDP is critical for ensuring that the IDP infrastructure and services are correctly configured, deployed and maintained. 10 | 11 | | **Platform Orchestrators** | **Claim** | 12 | | ----------------------------------- | ----------------------------------------------- | 13 | | [Nitric]({{< relref "nitric" >}}) | Automate Infrastructure for your Platform | 14 | | [Upbound]({{< relref "upbound" >}}) | Universal cloud APIs and consoles for your team | 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/infrastructure-control-planes/nitric.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Nitric" 3 | aliases="/frameworks/nitric/" 4 | url="/infrastructure-control-planes/nitric" 5 | +++ 6 | 7 | # Nitric 8 | 9 | Nitric is an [open-source](https://github.com/nitrictech/nitric) Infrastructure in Code software tool that provides a CLI (Command Line Interface) workflow to automate the provisioning of resources for managed services such as AWS, GCP, or Azure. Nitric automatically generates a specification of resources required by an application and leverages IaC tools such as Pulumi or Terraform to fulfill the resource request. Nitric simplifies the provisioning process by allowing you to focus more on the application development and less on the specific details of each cloud. 10 | 11 | {{< button href="https://nitric.io/docs/" target="_blank" >}} 12 | -> Nitric 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes-control-planes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Kubernetes Control Planes" 3 | url="/kubernetes-control-planes" 4 | bookCollapseSection=true 5 | weight=20 6 | +++ 7 | 8 | # Kubernetes Control Planes # 9 | 10 | _Internal Developer Platforms (IDPs) are the sum of all tools and tech that platform engineering teams use to build golden paths for developers. Kubernetes Control Planes are an important category in such a setup. Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | | **Kubernetes Control Planes** | **Claim** | 13 | | --------------------------------------------- | ------------------------------------------------------------------------- | 14 | | [Ambassador Labs]({{< relref "ambassador-labs" >}}) | Ship software faster on Kubernetes | 15 | | [Gimlet]({{< relref "gimlet" >}}) | Kubernetes made simpler for cluster admins, developers and managers | 16 | | [Shipa]({{< relref "shipa" >}}) | It’s all about the application | 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes-control-planes/ambassador-labs.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Ambassador Labs" 3 | aliases="[/diy/ambassador-labs]" 4 | url="/kubernetes-control-planes/ambassador-labs" 5 | +++ 6 | 7 | # Ambassador 8 | 9 | Thousands of organizations of all sizes, from startups to Fortune 500 companies, use [Ambassador](https://www.getambassador.io/) to code and ship microservices on Kubernetes faster. Our software enables application developers on Kubernetes to [code locally](https://www.getambassador.io/use-case/local-kubernetes-development/), [secure microservices at the edge](https://www.getambassador.io/products/edge-stack/), and independently release services to end users, without requiring an overworked DevOps engineer for support. Ambassador is in fact the perfect starting point if you want to build an Internal Developer Platform yourself. It pairs well with other tools in the ecosystem enabling platform teams to craft and maintain the perfect developer experience. 10 | 11 | [Telepresence](https://www.getambassador.io/products/telepresence/) provides developers with a solution for coding a single microservice locally while running the rest of their application in the cloud, [without sacrificing their favorite IDE](https://www.getambassador.io/resources/kubernetes-local-dev-toolkit/) and local tools to [accelerate the inner dev loop](https://www.getambassador.io/use-case/local-kubernetes-development/). 12 | 13 | The Ambassador Edge Stack is a [self-service, Kubernetes-native API gateway](https://www.getambassador.io/products/edge-stack/) that allows developers to secure their microservices at the edge, leverage the power of [Envoy Proxy](https://www.getambassador.io/learn/envoy-proxy/) to load balance, [authenticate](https://www.getambassador.io/use-case/authentication/), rate limit, and route traffic into their Kubernetes cluster, while use declarative CRDs to seamlessly integrate into their GitOps workflow. 14 | 15 | The Developer Portal gives developers the ability to [automatically publish and release Swagger / OpenAPI documentation](https://www.getambassador.io/products/developer-portal/), add custom content, and customize look-and-feel. 16 | 17 | At Ambassador, we agonize over how to optimize the [cloud-native developer experience](https://blog.getambassador.io/optimizing-cloud-native-development-workflows-combining-skaffold-telepresence-and-argocd-8774d12bf22f), so developers can focus on writing and shipping code. Our software doesn’t run anywhere outside of Kubernetes. This lets us take full advantage of Kubernetes, and build software that is fully idiomatic with the Kubernetes ecosystem. Our software is also deployed in environments that peak at over 100K requests per second, and backed by our 24x7 support and engineering teams. We conduct regular game days and postmortems for every outage so that we’re constantly improving. 18 | 19 | ## Resources 20 | 21 | * [Create your free cloud account](https://app.getambassador.io/auth/realms/production/protocol/openid-connect/auth?client_id=ambassador&redirect_uri=https%3A%2F%2Fapp.getambassador.io%2F.ambassador%2Foauth2%2Fredirection-endpoint&response_type=code&scope=email+openid+profile&state=658bab1b44b8b694da334193b388604a395a30104658f2b548ae7277e78b39bf%3Ahttps%3A%2F%2Fapp.getambassador.io%2Fcloud%2Fpreview) 22 | * [Get started with Telepresence](https://www.getambassador.io/docs/latest/telepresence/quick-start/) 23 | * [Get started with Edge Stack](https://www.getambassador.io/docs/latest/tutorials/getting-started/) 24 | * [Check out the blog](https://blog.getambassador.io/) 25 | 26 | {{< button href="https://getambassador.io/" target="_blank" >}} 27 | -> Ambassador Labs 28 | {{< /button >}} 29 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes-control-planes/gimlet.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Gimlet" 3 | aliases="/frameworks/gimlet" 4 | url="/kubernetes-control-planes/gimlet" 5 | +++ 6 | 7 | # Gimlet 8 | 9 | **Claim:** Kubernetes made simpler for cluster admins, developers and managers 10 | 11 | **Focus:** Gimlet is a set of tools that will get you an application operations platform on top of Kubernetes. 12 | 13 | It is built on the de-facto tools of the ecosystem - Helm and Flux - and provides you with a golden-path, a set of best-practices, so you can focus on your task at hand. Without having to navigate the vast options the cloud native ecosystem offers you. 14 | 15 | **Website:** [gimlet.io](https://gimlet.io/) 16 | 17 | **Docs:** [https://gimlet.io/docs](https://gimlet.io/docs) 18 | 19 | ### Details 20 | 21 | - **Does it require developers to have DevOps knowledge?** limited 22 | - **Self-hosted:** yes 23 | - **Orchestrator:** Kubernetes 24 | - **Integration-Concept:** Yml 25 | - **Setup time per app:** 1 hour 26 | - **Source:** open 27 | - **Total Cost of Ownership:** Open-source. 28 | - **Adoption:** Early days, adopt for limited, non-production purposes. 29 | 30 | {{< button href="https://gimlet.io/" target="_blank" >}} 31 | -> Gimlet 32 | {{< /button >}} 33 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes-control-planes/shipa.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Shipa" 3 | aliases="/frameworks/shipa" 4 | url="/kubernetes-control-planes/shipa" 5 | +++ 6 | 7 | # Shipa 8 | 9 | **Claim:** It’s all about the application 10 | 11 | **Focus:** Shipa is a Kubernetes control plane that keeps the configuration at an abstraction level that allows the user to deploy any Kubernetes cluster with the same experience. Shipa is opinionated, requires YAML files as part of the repos to set Kubernetes and connect to the CI pipelines, but doesn’t provide the dynamic creation of new workloads, environments, or environments without further scripting. Shipa makes sense for developers who want an abstraction on top of Kubernetes for governance reasons, but it may not be suitable as a component to build an IDP. 12 | 13 | **Website:** [shipa.io](https://shipa.io/) 14 | 15 | **Docs:** [learn.shipa.io/docs](https://learn.shipa.io/docs) 16 | 17 | 18 | 19 | ### Details 20 | | Details | | 21 | | --- | ----------- | 22 | | Does it require developers to have DevOps knowledge? | | 23 | | Self-hosted: | | 24 | | Orchestrator | Kubernetes | 25 | | Integration Concept | YAML, API | 26 | | Setup time first app | 10 hours | 27 | | Source | closed | 28 | | Use Case | | 29 | | Total Cost of Ownership | We weren’t able to get the information. You have it? Tell us! | 30 | | Adoption | Early | 31 | 32 | 33 | {{< button href="https://shipa.io/" target="_blank" >}} 34 | -> Shipa 35 | {{< /button >}} 36 | 37 | **What is Shipa.io?** 38 | Shipa is an Application Management Framework that abstracts the Kubernetes infrastructure and underlying cloud through a developer portal that enables developers to focus on application deployment and management. The use case for the developer is only strict deployment apart from policy and governance for security teams, as they enforce specific default standards. 39 | 40 | The framework works in three steps: 41 | 42 | - Define Application Policies: Developers can create policy definitions for various teams, environments, and clusters, then bind these policies directly, through a CI/CD, or through a GitOps pipeline. 43 | - Create Application Definitions: Developers can set application parameters with Terraform, Pulumi, or Crossplane, then deploy applications with these definitions through their pipeline. 44 | - Manage Application: Developers can use Shipa’s dashboard to monitor services, ownership, policy compliance, resource consumption, service communication, audit, and more. 45 | 46 | **What Is the Mission and Vision of Shipa?** 47 | 48 | Shipa defines itself as Application as Code (AaC), and its slogan is “Move Fast. Keep it Consistent.” They promote the system as Terraform for applications. In Shipa’s introductory guide, the creators noted that they developed the framework to simplify the process of running code on Kubernetes for developers who didn’t know Kubernetes inside and out. Additionally, the system streamlines the process of enforcing controls and policies for platform engineers. 49 | 50 | Shipa’s vision encompasses big picture ideas, encouraging teams to think in terms of applications rather than containers, clusters, or ships. 51 | 52 | **A Brief History of Shipa** 53 | 54 | Headquartered in Santa Clara, California, Shipa is a startup company with a distributed team. The company is hoping to make waves in the Application-as-Code (AaC) sector. 55 | 56 | CEO Bruno Andrade leads the young company’s team, and Engineering Capital and Jump Capital back Shipa. 57 | 58 | **Core Features of Shipa** 59 | 60 | Shipa promises multiple features, including: 61 | 62 | - Support Infrastructure: Developers can use a standard application deployment definition to simplify the adoption and scale of CI/CD, GitOps, and control planes. 63 | - Application Policies: Developers can deploy various tools in their Shipa stack to define application policies and automatically apply them to applications. 64 | - Multi-tenancy: Developers can quickly build and institute control and isolation for different teams and services across multiple clusters and environments. 65 | - Application Management: Developers can easily integrate Shipa with their existing incident management and monitoring tools to manage, observe, and audit their apps. 66 | 67 | Shipa also highlights various use cases, claiming that the framework’s extensibility allows developers to use the platform for multiple projects. Their top three use cases for Shipa are cited as: 68 | 69 | - Abstraction: Shipa may help developers build an abstraction layer on top of different Kubernetes clusters and cloud nodes by abstracting away cumbersome infrastructure decisions. Ideally, this would ease the operations burden on platform engineering teams that are already stretched thin. 70 | - Policies and Governance: Shipa works to create and enforce policies by focusing on the applications (rather than the clusters) surrounding Kubernetes Role-Based Access Control (RBAC), networking, security scanning, and more. With this approach, developers can bind their frameworks to different clusters to enforce various levels of control for each application. 71 | - Mid-Cluster Deployments: Shipa promises detailed policy configuration to manage multiple clusters because the framework is cluster-agnostic. This is intended to broaden the scope of platforms to observe the whole rather than cluster-specific configuration. 72 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Kubernetes" 3 | url="/kubernetes" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # Kubernetes 8 | 9 | _Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. 95% of Internal Developer Platforms (IDPs)are built on top of Kubernetes._ 10 | 11 | ## How Kubernetes integrates with your Internal Developer Platform 12 | 13 | Integration is usually with the closest cluster, and the cleanest integration is strictly through APIs. Thus, a well-documented API on the cluster side is essential. Some Internal Developer Platforms (IDPs) take the approach of applying any kind of change through Infrastructure as Code (IaC) setups. The IDP should have the ability to segregate the cluster into namespaces and update the configurations. 14 | 15 | There are two options in Kubernetes hosting: 16 | 17 | - [**Kubernetes Self-Hosted**]({{< relref "kubernetes-self-hosted">}}) 18 | - [**Managed Kubernetes**]({{< relref "managed-kubernetes">}}) -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/kubernetes-self-hosted/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Kubernetes Self-Hosted" 3 | url="/self-hosted-kubernetes" 4 | bookCollapseSection=true 5 | weight=10 6 | +++ 7 | 8 | # Kubernetes Self-Hosted 9 | 10 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | | **Integration** | 13 | | -------------------------------------------------- | 14 | | [Charmed Kubernetes]({{< relref "charmed-k8s" >}}) | 15 | | [OpenShift]({{< relref "openshift" >}}) | 16 | | [Rancher]({{< relref "rancher" >}}) | 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/kubernetes-self-hosted/charmed-k8s.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Charmed Kubernetes" 3 | url="/self-hosted-kubernetes/charmed-k8s" 4 | +++ 5 | 6 | # Charmed Kubernetes 7 | 8 | Charmed K8s is a CNCF-certified, turnkey Kubernetes distribution. It claims 9 | to provide architectural freedom and fully automated operations. 10 | 11 | Charmed K8s is installed and managed by Juju, an open source orchestration 12 | engine for software operators developed by Canonical that enables deployment, 13 | integration and lifecycle management of applications at scale. The components 14 | managed by Juju are called Charms. They are independent, composable deployments 15 | of applications that can be related to each other, conveniently. 16 | 17 | Charmed K8s is deployed with a high availability setup by default, it runs 18 | automatic updates and security fixes for all core Kubernetes components, has 19 | full OCI compatability with Docker and containderd runtimes, performs PCI 20 | device passthrough for GPU, FPGA and SR-IOV workloads, can manage VMs on 21 | Kubernetes with Kata containers, and is backed by an extensible, third-party 22 | ecosystem for storage and networking. 23 | 24 | Charmed K8s runs on bare metal, private clouds, public clouds, and hybrid 25 | clouds. That said, the same Kubernetes distribution runs on various platforms 26 | and flavors of infrastructure (Juju calls them "substrates"). This allows 27 | application infrastructure owners to move between offerings and optimize 28 | cost, performance, stability and availability concerns. 29 | 30 | {{< button href="https://ubuntu.com/kubernetes/charmed-k8s" target="_blank" >}} 31 | -> Charmed Kubernetes 32 | {{< /button >}} 33 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/kubernetes-self-hosted/openshift.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="OpenShift" 3 | url="/self-hosted-kubernetes/openshift" 4 | +++ 5 | 6 | # OpenShift 7 | 8 | OpenShift is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud, multicloud, and edge deployments. Its advantages include that the API is well documented and governed by design and it helps you enforce security standards. However, it's a beast in terms of complexity, make sure you have lots of time for set up and maintenance. 9 | 10 | {{< button href="https://www.openshift.com/products/container-platform" target="_blank" >}} 11 | -> OpenShift 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/kubernetes-self-hosted/rancher.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Rancher" 3 | url="/self-hosted-kubernetes/rancher" 4 | +++ 5 | 6 | # Rancher 7 | 8 | Rancher is a Kubernetes management tool to deploy and run clusters anywhere and on any provider. 9 | 10 | Rancher can provision Kubernetes from a hosted provider, provision compute nodes and then install Kubernetes onto them, or import existing Kubernetes clusters running anywhere. 11 | 12 | Rancher adds significant value on top of Kubernetes, first by centralizing authentication and role-based access control (RBAC) for all of the clusters, giving global admins the ability to control cluster access from one location. 13 | 14 | It then enables detailed monitoring and alerting for clusters and their resources, ships logs to external providers, and integrates directly with Helm via the Application Catalog. If you have an external CI/CD system, you can plug it into Rancher, but if you don't, Rancher even includes Fleet to help you automatically deploy and upgrade workloads. 15 | 16 | {{< button href="https://www.rancher.com/" target="_blank" >}} 17 | -> Rancher 18 | {{< /button >}} 19 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/managed-kubernetes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Managed Kubernetes" 3 | url="/managed-kubernetes" 4 | bookCollapseSection=true 5 | weight=20 6 | +++ 7 | 8 | # Managed Kubernetes 9 | 10 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | **Integration** | 13 | --- | 14 | [Amazon Elastic Kubernetes Service (EKS)]({{< relref "amazon-eks" >}}) | 15 | [Azure Kubernetes Service (AKS)]({{< relref "azure-aks" >}}) | 16 | [Google Kubernetes Engine (GKE)]({{< relref "google-gke" >}}) | 17 | [Oracle Kubernetes Engine (OKE)]({{< relref "oracle-oke" >}}) | 18 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/managed-kubernetes/amazon-eks.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Amazon Elastic Kubernetes Service (EKS)" 3 | url="/managed-kubernetes/amazon-eks" 4 | +++ 5 | 6 | # Amazon Elastic Kubernetes Service (EKS) 7 | 8 | Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that you can use to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes. 9 | 10 | It's a competitive attack by AWS against Google: it offers great availability and is technically close to GKE. However, it's downsides are a draining permissions model and a high level of complexity that will take a while to digest. 11 | 12 | {{< button href="https://aws.amazon.com/eks/" target="_blank" >}} 13 | -> Amazon Elastic Kubernetes Service 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/managed-kubernetes/azure-aks.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Azure Kubernetes Service (AKS)" 3 | url="/managed-kubernetes/azure-aks" 4 | +++ 5 | 6 | # Azure Kubernetes Service (AKS) 7 | 8 | **AKS** **is** a container orchestration **service** that helps you to manage, scale, and deploy containerized applications in seconds in a cluster environment on **Azure**. 9 | 10 | **Azure** **Kubernetes** **service** has been available on the Microsoft **Azure** platform since June 2018 making it a latecomer to the game of Kubernetes. However, it is increasing in functionality and technically, and operationally sufficient. We consider it ok, but not top of the list. 11 | 12 | {{< button href="https://azure.microsoft.com/en-us/services/kubernetes-service/" target="_blank" >}} 13 | -> Azure Kubernetes Service 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/managed-kubernetes/google-gke.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Google Kubernetes Engine (GKE)" 3 | url="/managed-kubernetes/google-gke" 4 | +++ 5 | 6 | # Google Kubernetes Engine (GKE) 7 | 8 | GKE is a version of Managed Kubernetes version from the creators of Kubernetes. It provides a managed environment for deploying, managing, and scaling your containerized applications using Google infrastructure. The GKE environment consists of multiple machines (specifically, [Compute Engine](https://cloud.google.com/compute) instances) grouped together to form a [cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). 9 | 10 | GKE is highly recommended from a technical and reliability perspective. A downside is a tendency to enforce updates which leads to maintenance overhead, but otherwise great. 11 | 12 | {{< button href="https://cloud.google.com/kubernetes-engine" target="_blank" >}} 13 | -> Google Kubernetes Engine 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/kubernetes/managed-kubernetes/oracle-oke.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Oracle Container Engine for Kubernetes (OKE)" 3 | url="/managed-kubernetes/oracle-oke" 4 | +++ 5 | 6 | # Oracle Container Engine for Kubernetes (OKE) 7 | 8 | Oracle Container Engine for Kubernetes (OKE) is a managed [Kubernetes](https://www.oracle.com/cloud/cloud-native/container-engine-kubernetes/what-is-kubernetes/) service for operating containerized applications at scale while reducing the time, cost, and operational burden of managing the complexities of Kubernetes infrastructure. Container Engine for Kubernetes enables you to deploy Kubernetes clusters instantly and ensure reliable operations with automatic updates, patching, scaling, and more. 9 | 10 | {{< button href="https://www.oracle.com/cloud/cloud-native/container-engine-kubernetes/" target="_blank" >}} 11 | -> Oracle Kubernetes Engine 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Monitoring" 3 | url="/monitoring" 4 | bookCollapseSection=true 5 | +++ 6 | 7 | # Monitoring 8 | 9 | _Internal Developer Platforms (IDPs) are a new category of tools. This means, the sector is still emerging. Are we missing any integrations? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 10 | 11 | | **Integration** | 12 | | ----------------------------------------- | 13 | | [Canary Checker]({{< relref "canary-checker" >}}) | 14 | | [Datadog]({{< relref "datadog" >}}) | 15 | | [Dynatrace]({{< relref "dynatrace" >}}) | 16 | | [Elastic]({{< relref "elastic" >}}) | 17 | | [Grafana]({{< relref "grafana" >}}) | 18 | | [Instana]({{< relref "instana" >}}) | 19 | | [New Relic]({{< relref "new-relic" >}}) | 20 | | [Prometheus]({{< relref "prometheus" >}}) | 21 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/canary-checker.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Canary Checker" 3 | url="/monitoring/canary-checker" 4 | +++ 5 | 6 | # Canary Checker 7 | 8 | Canary Checker is a Apache 2.0 licensed Kubernetes Native health check platform that provides a single pane of glass for health across your stack. 9 | 10 | {{< button href="https://canarychecker.io" target="_blank" >}} 11 | Canary Checker 12 | {{< /button >}} 13 | 14 | 15 | Canary checker provides similar functionality to Prometheus Operator's HTTP [Probes](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.Probe) but adds: 16 | 17 | - 30+ different protocols including SQL, S3, CIFS, SFTP, Mongo, Redis and ElasticSearch 18 | - Alert aggregation from Alert Manager, AWS CloudWatch, Dynatrace and Datadog. 19 | - Pipeline health from Github and Azure Devops. 20 | - Kubernetes resource health and status checks. 21 | - Control Plane testing by spinning up Kubernetes resourcess. 22 | - Integration tests using any test suite that exports to JUnit including Playright, K6, Newman, JMeter 23 | - Dependency free binary with a built-in dashboard 24 | - Extension through CEL (Common Expression Language) and Go Templates. 25 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/datadog.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Datadog" 3 | url="/monitoring/datadog" 4 | +++ 5 | 6 | # Datadog 7 | 8 | Datadog is a monitoring service for cloud-scale applications, providing monitoring of servers, databases, tools, and services, through a [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service)-based data analytics platform. It brings together end-to-end traces, metrics, and logs to make your applications, infrastructure, and third-party services entirely observable. These capabilities help businesses secure their systems, avoid downtime, and ensure customers are getting the best user experience. 9 | 10 | {{< button href="https://www.datadoghq.com/" target="_blank" >}} 11 | -> Datadog 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/dynatrace.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Dynatrace" 3 | url="/monitoring/dynatrace" 4 | +++ 5 | 6 | # Dynatrace 7 | 8 | Dynatrace is a platform for unified observability and security. It delivers end-to-end observability with AIOps and application security in one unified platform including: Infrastructure Observability, Application Observability, Security Protection, Security Analytics, Digital Experience, Business Analytics, Workflow Automations, and custom solutions that can be built as Apps for this platform with an open ecosystem. 9 | Davis® combines predictive, causal, and generative AI to deliver precise answers, intelligent automation, and recommendations, and predict issues before they impact customers. 10 | Dynatrace automatically identifies and maps interactions and relationships between apps and the underlying infrastructure with Smartscape, and uses that map to enrich and contextualize your data. 11 | Datatypes covered by Dynatrace: Traces, Topology, Metadata, Events, Metrics, Behavior, Network, Threats, Logs, Code, Problems, Vulnerabilities. 12 | 13 | 14 | {{< button href="https://www.dynatrace.com/" target="_blank" >}} 15 | -> Dynatrace 16 | {{< /button >}} 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/elastic.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Elastic" 3 | url="/monitoring/elastic" 4 | +++ 5 | 6 | # Elastic 7 | 8 | Built on the Elastic Stack, Elastic Observability helps organizations correlate unlimited telemetry data using the power of search to turn data into results. In a single, unified experience, Elastic Observability provides visibility into cloud environments like AWS, Microsoft Azure, and Google Cloud, with integrations built for seamless data ingestion. 9 | 10 | {{< button href="https://www.elastic.co/observability" target="_blank" >}} 11 | -> Elastic 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/grafana.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Grafana" 3 | url="/monitoring/grafana" 4 | +++ 5 | 6 | # Grafana 7 | 8 | Grafana is an open source technology used to compose observability dashboards with everything from Prometheus and Graphite metrics, to logs and application data to power plants and beehives. 9 | 10 | Grafana connects with a plethora of databases including Graphite, Prometheus, Influx DB, ElasticSearch, MySQL, and PostgreSQL. It helps to monitor and analyze data and track user and application behavior including error type and frequency in pre-production and production-environments. 11 | 12 | If you're ok with the additional overhead it's a great way to monitor. 13 | 14 | {{< button href="https://grafana.com/" target="_blank" >}} 15 | -> Grafana 16 | {{< /button >}} 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/instana.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Instana" 3 | url="/monitoring/instana" 4 | +++ 5 | 6 | # Instana 7 | 8 | Instana is the leading provider of Observability and fully automated Application Performance Management (APM) solutions for cloud-native Microservice applications. The company’s Enterprise Observability Platform, powered by automated APM, ingests all observability metrics, traces every request, and profiles all processes continuously and automatically, delivering the actionable information with full context to developer and operations teams to help them optimize their application performance and pipelines. 9 | 10 | Instana was acquired by IBM in December 2020. 11 | 12 | {{< button href="https://www.instana.com/" target="_blank" >}} 13 | -> Instana 14 | {{< /button >}} 15 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/new-relic.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="New Relic" 3 | url="/monitoring/new-relic" 4 | +++ 5 | 6 | # New Relic 7 | 8 | New Relic One is a cloud-based observability platform built to help engineers create software. From monoliths to serverless, you can instrument everything, then analyze, troubleshoot, and optimize your entire software stack. All from one place. 9 | 10 | {{< button href="https://newrelic.com/" target="_blank" >}} 11 | -> New Relic 12 | {{< /button >}} 13 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/monitoring/prometheus.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Prometheus" 3 | url="/monitoring/prometheus" 4 | +++ 5 | 6 | # Prometheus 7 | 8 | Prometheus is an open source monitoring platform. Built primarily for monitoring containerized workloads, Prometheus is a popular tool for collecting time series data from instrumented jobs using an open, vendor-neutral, text-based exposition format. 9 | 10 | It records real-time metrics in a time series database (allowing for high [dimensionality](https://en.wikipedia.org/wiki/Dimension_%28metadata%29)) built using a HTTP pull model, with flexible queries and real-time alerting. The project is written in Go and licensed under the Apache 2 License, with [source code](https://en.wikipedia.org/wiki/Source_code) available on GitHub, and is a graduated project of the Cloud Native Computing Foundation. 11 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/platform-orchestrators/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Platform Orchestrators" 3 | url="/platform-orchestrators" 4 | bookCollapseSection=true 5 | weight="1" 6 | +++ 7 | 8 | **Platform Orchestrators** 9 | 10 | Platform Orchestrators are the center piece of any Internal Developer Platform. 11 | A Platform Orchestrator enables Dynamic Configuration Management. 12 | 13 | According to *Thoughtworks*, **Platform Orchestrators** are a "new generation of tools that go beyond the traditional platform-as-a-service (PaaS) model and offer published contracts between developers and platform teams. The contract might involve provisioning cloud environments, databases, monitoring, authentication and more in a different environment. These tools enforce organizational standards while granting developers self-service access to variations through configuration." 14 | 15 | Source: Thoughtworks, Technology Radar Vol 29, [Platform orchestration](https://www.thoughtworks.com/en-de/radar/techniques/platform-orchestration) 16 | 17 | | **Platform Orchestrators** | **Claim** | 18 | | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | 19 | | [Humanitec]({{< relref "humanitec" >}}) | Powers your Internal Developer Platform (IDP) | 20 | | [Massdriver]({{< relref "massdriver" >}}) | Streamlines the Design and Development of Internal Developer Platform (IDP) with Integrated Infrastructure Visibility | 21 | 22 | 23 | 24 | 25 | [def]: https://www.thoughtworks.com/en-de/radar/techniques/platform-orchestration -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/security/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Security" 3 | aliases="[/chaos-engineering]" 4 | url="/security" 5 | bookCollapseSection=true 6 | +++ 7 | 8 | # Security 9 | 10 | _Internal Developer Platforms (IDPs) are the sum of all tools and tech that platform engineering teams use to build golden paths for developers. Security is an important category in such a setup. Are we missing any tools? [Submit a pull request!]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}})_ 11 | 12 | **Integration** | 13 | --- | 14 | [Dynatrace]({{< relref "dynatrace" >}}) | 15 | [Gremlin]({{< relref "gremlin" >}}) | 16 | [Selefra]({{< relref "selefra" >}}) | 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/security/dynatrace.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Dynatrace" 3 | url="/monitoring/dynatrace" 4 | +++ 5 | 6 | # Dynatrace 7 | 8 | Dynatrace is a platform for unified observability and security. It delivers end-to-end observability with AIOps and application security in one unified platform including: Infrastructure Observability, Application Observability, Security Protection, Security Analytics, Digital Experience, Business Analytics, Workflow Automations, and custom solutions that can be built as Apps for this platform with an open ecosystem. 9 | Davis® combines predictive, causal, and generative AI to deliver precise answers, intelligent automation, and recommendations, and predict issues before they impact customers. 10 | Dynatrace automatically identifies and maps interactions and relationships between apps and the underlying infrastructure with Smartscape, and uses that map to enrich and contextualize your data. 11 | Datatypes covered by Dynatrace: Traces, Topology, Metadata, Events, Metrics, Behavior, Network, Threats, Logs, Code, Problems, Vulnerabilities. 12 | 13 | 14 | {{< button href="https://www.dynatrace.com/" target="_blank" >}} 15 | -> Dynatrace 16 | {{< /button >}} 17 | -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/security/gremlin.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Gremlin" 3 | aliases="[/chaos-engineering/gremlin]" 4 | url="security/gremlin" 5 | +++ 6 | 7 | # Gremlin 8 | 9 | {{< button href="https://www.gremlin.com/" target="_blank" >}} 10 | -> Gremlin 11 | {{< /button >}} -------------------------------------------------------------------------------- /content/ecosystem/platform-tooling/security/selefra.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Selefra" 3 | aliases="[/chaos-engineering/selefra]" 4 | url="/security/selefra" 5 | +++ 6 | 7 | # Selefra 8 | 9 | Selefra means "select \* from infrastructure". It is an open-source infrastructure-as-code software that provides analysis for multi-cloud and SaaS environments, including over 30 services such as AWS, GCP, Azure, Alibaba Cloud, Kubernetes, GitHub, Cloudflare, and Slack. 10 | 11 | {{< button href="https://github.com/selefra/selefra" target="_blank" >}} 12 | -> Selefra 13 | {{< /button >}} 14 | -------------------------------------------------------------------------------- /content/learn/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Learn" 3 | weight=10 4 | bookFlatSection=true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/learn/core-components/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="The 5 Core Components of an Internal Developer Platform (IDP)" 3 | url="/core-components" 4 | bookCollapseSection=true 5 | weight=30 6 | +++ 7 | 8 | # The 5 Core Components of an Internal Developer Platform (IDP) 9 | 10 | An Internal Developer Platform (IDP) should be built to cover 5 Core Components. This section explains all of these components in detail. The 5 Core Components are: 11 | 12 | **Core Component** | **Short Description** 13 | --- | --- 14 | [**Application Configuration Management**]({{< relref "application-configuration-management" >}}) | Manage application configuration in a dynamic, scalable and reliable way. 15 | [**Infrastructure Orchestration**]({{< relref "infrastructure-orchestration" >}}) | Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. 16 | [**Environment Management**]({{< relref "environment-management" >}}) | Enable developers to create new and fully provisioned environments whenever needed. 17 | [**Deployment Management**]({{< relref "deployment-management" >}}) | Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). 18 | [**Role-Based Access Control**]({{< relref "role-based-access-control" >}}) | Manage who can do what in a scalable way. 19 | -------------------------------------------------------------------------------- /content/learn/core-components/deployment-management.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Deployment Management" 3 | url="/core-components/deployment-management" 4 | weight=40 5 | aliases= [ 6 | "/core-components/deployment-automation/" 7 | ] 8 | +++ 9 | 10 | # Deployment Management 11 | 12 | {{< hint info >}} 13 | TLDR; Deployment Automation within Internal Developer Platforms (IDPs) enables teams to move to a Continuous Deployment (CD) process. It also provides a clear record of each deployment ever made which is great for audits and similar processes. 14 | {{< /hint >}} 15 | 16 | An Internal Developer Platform supports teams in establishing Continuous Delivery or even Continuous Deployment (CD) processes. Deployment Automation plays a central role for this. However, Deployment Automation is so much more than just automated deployments. This section explains the typical elements of Deployment Automation within Internal Developer Platforms: 17 | 18 | ## The ideal development process with an Internal Developer Platform 19 | 20 | In an ideal setup, developers can fully focus on writing code and testing it in action. Everything else should be automated as much as possible. An Internal Developer Platform allows teams to set up this automation. A typical process with an Internal Developer Platform looks like: 21 | 22 | - **Git push:** The developer pushes new code to the version control system. The new code is then picked up by the CI pipelines and built in an image. The CI process typically also includes a number of automated tests to ensure that the code is well written. At the end of the CI process, the Internal Developer Platform is notified that a new image is available. 23 | - **Automated deployment:** The newly built image is deployed to a specific environment. Typically, this is a `development` environment in a first step. A set of rules defined in the Internal Developer Platform orchestrates to which environment the new image is deployed. The entire deployment process should be fully automated without any interaction from the developer. 24 | - **Triggered next steps:** An Internal Developer Platform not only automates the deployment process itself but also supports defining next steps (typically via webhooks) after each deployment. In the case of a successful deployment, these next steps could be (a) sending a message about the successful deployment to the developer (e.g., via communication service such as Slack or MS Teams) and/or (b) triggering a fully automated end-to-end test suite for the new deployment. An Internal Developer Platform should also support more complex processes including numerous steps and checkpoints to enable Continuous Deployment. 25 | 26 | ## Additional aspects of Deployment Management 27 | 28 | While providing a streamlined developer experience is a key aspect of Deployment Management, there are other important aspects that an Internal Developer Platform supports. These are: 29 | 30 | - **Debugging support:** What happens if the deployment as described in the last section fails? Debugging failed deployments can be a time-consuming task across multiple different systems with different logins and user interfaces/log files. An Internal Developer Platform provides a consolidated view on the most important debugging information (e.g., deployment logs, container logs) for any current or even past deployment. This centralized information is a great starting point for debugging a problem and can save a lot of time and headaches. 31 | - **Versioning:** An Internal Developer Platform acts like a central memory for all deployments ever made. It typically stores all the information required to repeat a specific deployment. This not only significantly simplifies audit processes but also enables Git-like actions such as diffing two deployments or creating patches for deployments. It can also answer questions like: “Which version of any given service is running where?”, “In which environments was a certain version of a service deployed and tested before being released to production?”, and many more. 32 | -------------------------------------------------------------------------------- /content/learn/core-components/infrastructure-orchestration.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Infrastructure Orchestration" 3 | url="/core-components/infrastructure-orchestration" 4 | weight=20 5 | +++ 6 | 7 | # Infrastructure Orchestration 8 | 9 | {{< hint info >}} 10 | TLDR; An Internal Developer Platform (IDP) is the sum of the tech and tools that an Ops, DevOps or platform engineering team glues together to build golden paths for developers. All the existing tools and infrastructure are part of the IDP, they integrate with it and they are orchestrated by the IDP to enable Continuous Delivery or even Continuous Deployment (CD) processes. 11 | {{< /hint >}} 12 | 13 | An Internal Developer Platform should always follow a Platform as a Product approach. This is especially important when you cannot build an Internal Developer Platform green field, but need to put it into an existing setup. An Internal Developer Platform typically integrates with your existing CI pipelines on the one side and your hardware infrastructure (e.g. Kubernetes clusters, databases, file storage) on the other side. This is also one of the big differences to PaaS (Platform-as-a-Service) solutions, which typically also includes all the infrastructure (very often based on proprietary technology stacks) out of the box. 14 | 15 | The following picture provides a good overview of the typical integration points of an Internal Developer Platform: 16 | {{< figure link="/_assets/images/infrastructure-orchestration.png" src="/_assets/images/infrastructure-orchestration.png" caption="Typical integration points of an Internal Developer Platform" alt="Typical integration points of an Internal Developer Platform" >}} 17 | 18 | ## Integration points 19 | 20 | This section provides an overview of the most important integration points for an Internal Developer Platform. When building an Internal Developer Platform, you should make sure that it (a) provides as many integrations to cover your current setup as possible and (b) allows you to write your own integrations in case you need to do so. 21 | 22 | ### CI pipelines 23 | 24 | Setting up and configuring Continuous Integration (CI) pipelines can be a lengthy process. Once they are set up, you should ideally not touch them unless you really need to. Existing CI pipelines are an essential part of your Internal Developer Platform. 25 | 26 | ### Clusters 27 | 28 | Computer clusters (e.g., Kubernetes clusters) are an important element to run your containerized setup. An Internal Developer Platform should integrate with your existing clusters to run deployments of applications and environments. Ideally, you want to control access via a service account that you can always remove if necessary. 29 | 30 | ### DNS 31 | 32 | Enabling developers and teams to create new environments whenever needed (see also [Environment Management]({{< relref "environment-management" >}})) is an important component of an Internal Developer Platform. Providing environments on demand typically also includes being able to issue new subdomains for the specific environment. An Internal Developer Platform should thus be integrated with your DNS provider to enable this functionality. 33 | 34 | ### Other resources 35 | 36 | There are many more resources relevant for your specific applications. These resources can either run in your cluster (_in-cluster resources_) - typical examples are messaging queues or caching databases - or outside of your cluster (_out-of-cluster resources_) - typical examples include databases and persistent file storage. An Internal Developer Platform ideally allows for an out-of-the-box or at least simple integration of all this infrastructure (including the very specific legacy infrastructure that you just cannot get rid of easily). 37 | 38 | ### IaC 39 | 40 | An Internal Developer Platform ideally integrates well with an existing Infrastructure as Code (IaC) setup. It either directly enables IaC as a native feature or support is via integrations. The latter is especially interesting if you want to fully leverage existing approaches such as Terraform to manage your infrastructure as code. 41 | 42 | ## Support for different types of environments 43 | 44 | In most setups, you will have different types of environments for your applications. Your `production` environment will most likely use different infrastructure than your `development` environments. An Internal Developer Platform should allow you to configure different infrastructure depending on the type of the environment. 45 | 46 | Many teams integrate other operational tools such as monitoring, chaos engineering, alerting or GitOps tools with IDPs at their convenience. 47 | 48 | Learn more about integrations in this section: 49 | 50 | {{< button relref="platform-tooling" >}} 51 | -> Platform tooling 52 | {{< /button >}} 53 | -------------------------------------------------------------------------------- /content/learn/core-components/role-based-access-control.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Role-Based Access Control" 3 | url="/core-components/role-based-access-control" 4 | weight=50 5 | +++ 6 | 7 | # Role-Based Access Control 8 | 9 | {{< hint info >}} 10 | TLDR; Internal Developer Platforms (IDPs) allow the Platform/DevOps team to manage access on a granular level. This can limit access to `production` to a small number of trusted people while allowing every engineer to create new `development` environments as needed. 11 | {{< /hint >}} 12 | 13 | A lot of different people across an IT organization are using an Internal Developer Platform to get their daily work done more efficiently; from the platform or Ops team team that is setting up the infrastructure to the product manager testing a new feature in a realistic environment to the engineer responsible for releasing new features to production. With many different people in various roles using an Internal Developer Platform, managing access and permissions is an important aspect of an Internal Developer Platform. 14 | This section provides an overview over the most important functionality of an Internal Developer Platform regarding access control: 15 | 16 | ## Granular control - on an enterprise level 17 | 18 | There are many different ways of managing access rights and permissions in a software system. However, the most-widely used approach is [RBAC](https://en.wikipedia.org/wiki/Role-based_access_control) (Role-Based Access Control), especially in an enterprise context. In an RBAC approach, roles are created for individual job functions. Permissions are then assigned to these roles. Everybody in an organization is assigned one or more roles. This approach is much more scalable than assigning permissions to individual users. Thus, most Internal Developer Platforms offer Role-Based Access Control. 19 | 20 | Ideally, roles should be split into organizational roles and application-specific roles. Typical organizational roles are: 21 | 22 | - **Member:** The role for a developer in a team. Members can typically access the applications they are working on. 23 | - **Machine:** This role can have different names. It’s often a role that can be used for infrastructure integrations (e.g., for a CI pipeline pushing images into the Internal Developer Platform). It has very limited rights. 24 | - **Manager:** The role for an engineering manager. Managers can typically invite users and manage the applications the team is responsible for. The scope might vary between different implementations. 25 | - **Admin:** The role for the DevOps team or lead. Admins have full access to the entire functionality of an Internal Developer Platform. 26 | 27 | There might be more roles especially to cover for specific requirements in large organizations. Typical application-specific or even environment-specific roles are: 28 | 29 | - **Viewer:** A read-only role for an application or an environment. 30 | - **Contributor:** A role that can update the configuration for an application and create new environments. This role is typically used in combination with the Member role mentioned above. 31 | - **Owner:** A role for the owner of a specific application with full access. Typically, only owners can delete an application. 32 | 33 | The ability to manage access on an environment-level is important in an Internal Developer Platform. This allows your Admins to limit full access to a `production` environment to a small number of people while almost everyone can create and update `development` environments. Depending on the size of your organization, an automated mapping to your company's directory information service (e.g., LDAP) might be an important feature of an Internal Developer Platform. 34 | -------------------------------------------------------------------------------- /content/learn/how-do-internal-developer-platforms-relate-to-other-concepts.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="How do Internal Developer Platforms (IDPs) relate to other concepts?" 3 | url="/how-do-internal-developer-platforms-relate-to-other-concepts" 4 | weight=50 5 | +++ 6 | 7 | # How do Internal Developer Platforms (IDPs) relate to other concepts? 8 | 9 | _There are tons of different concepts flying around in our industry. Let’s clarify what an Internal Developer Platform (IDP) is and how it relates to other concepts._ 10 | 11 | ### What is an Internal Developer Platform? 12 | 13 | _“An [Internal Developer Platform (IDP)](https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/) is built by a platform team to build golden paths and enable developer self-service. An IDP consists of many different techs and tools, glued together in a way that lowers cognitive load on developers without abstracting away context and underlying technologies. Following best practices, platform teams treat their platform as a product and build it based on user research, maintain and continuously improve it.”_ 14 | 15 | According to this definition, all tools and technologies involved in the application delivery process from code to production are part of the IDP. This can be open-source or proprietary software, as well as self-developed tooling: 16 | - Integrated Development Environment (IDE) tools (Visual Studio Code, Eclipse, Xcode, etc.) 17 | - Version Control Systems (VCS) (GitHub, GitLab, etc.) 18 | - CI tools (Circle CI, GitHub Actions, Bitbucket) 19 | - Container registries (Docker, Harbor, etc.) 20 | - Platform orchestrators (Humanitec) 21 | - Developer portals and service catalogs 22 | - Kubernetes control planes 23 | - GitOps tools / CD controllers (ArgoCD) 24 | - IaC (Terraform, Pulumi, etc.) 25 | - Databases/storage 26 | - DNS 27 | - Managed or self-hosted Kubernetes 28 | - Cloud providers 29 | 30 | … and many other tool categories e.g. monitoring, security or logging. Let’s zoom in on a few that are mostly misunderstood in their overlap with IDPs. 31 | 32 | ### Developer portals/service catalogs 33 | While developer portals and service catalogs (Backstage, LeanIX, etc.) can function as access points to the IDP and provide a user interface for developers to discover the platform’s capabilities, there are more categories that are not Internal Developer Platforms. 34 | 35 | ### End-to-end DevOps platforms and PaaS solutions 36 | End-to-end DevOps platforms or Heroku-like PaaS solutions can’t be handled as a product by a platform team. The underlying technologies of such solutions can’t be modified to a depth an enterprise setup requires. 37 | 38 | ### Environment as a Service 39 | Environment as a Service offers aim to provide self-service. They can be run isolated for certain purposes (e.g. automated testing) and make sense for certain industries, but are almost impossible to integrate into IDP setups. -------------------------------------------------------------------------------- /content/learn/when-do-you-need-an-internal-developer-platform.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="When do you need an Internal Developer Platform (IDP)?" 3 | url="/when-do-you-need-an-internal-developer-platform" 4 | weight=40 5 | +++ 6 | 7 | # When do you need an Internal Developer Platform (IDP)? 8 | 9 | _Internal Developer Platforms (IDPs) make sense in certain setups, but they can be overkill in others._ 10 | 11 | ### Don't overcomplicate things too early 12 | 13 | We believe an engineering team should use off-the-shelf platforms such as Heroku for as long as possible. Typical reasons that make you migrate away from those are: 14 | 15 | - [x] You need granular access to the underlying infrastructure 16 | - [x] Your costs get out of control 17 | - [x] You have advanced data-privacy or security requirements. 18 | 19 | ### When does an Internal Developer Platform not make sense? 20 | 21 | - [x] You are a small specialized team of 1-15 developers and you've hired dedicated DevOps colleagues already or everyone in your team is a senior engineer comfortable with scripting and infrastructure. 22 | - [x] You have a single monolithic application. 23 | - [x] You have one application with a simple, single-cloud infrastructure. 24 | 25 | ### When does an Internal Developer Platform make sense? 26 | 27 | - [x] You have or you plan to adopt a microservice architecture. 28 | - [x] You have a standing team of more than 15 developers with a dedicated DevOps engineer or you are planning to scale to this size. This DevOps team (or person) cannot properly focus on service level agreements or workflows because of repetitive work. 29 | - [x] You have a small team and not everyone feels comfortable with deployments, scripting, and infrastructure and you have not yet hired a dedicated DevOps. 30 | - [x] Your developers are blocked in their work by dependencies on other colleagues. 31 | - [x] Anytime when you have to go multi-cloud. -------------------------------------------------------------------------------- /content/learn/why-use-an-internal-developer-platform.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title="Why use an Internal Developer Platform (IDP)?" 3 | url="/why-build-an-internal-developer-platform" 4 | weight=20 5 | +++ 6 | 7 | # Why build and use an Internal Developer Platform (IDP)? 8 | 9 | _Internal Developer Platforms (IDPs) have a tremendously positive impact on the velocity and happiness of teams. They enable developer self-service while keeping cognitive load low. They enhance developer productivity, improve developer experience, reduce manual ops, lower costs and maintenance overhead. On an organizational level, IDPs drive standardization by design, leading to a much more maintainable and scalable setup. IDPs establish a clear separation of concerns between platform teams that set the standards and developers who are enabled to follow golden paths._ 10 | 11 | {{< hint info >}} 12 | TLDR; IDPs enforce standardization by design, increase developer productivity and improve developer experience. IDPs have a measurable impact on the productivity of the engineering organization and its core DevOps metrics, such as mean time to recovery **(MTTR)** and **Change Failure Rate**. For application developers, IDPs drive **deployment frequency** and reduce **lead time**, among other factors. 13 | {{< /hint >}} 14 | 15 | ## Qualitative 16 | 17 | The biggest impact of an IDP is one that is hard to grasp in data: self-service and responsibility. IDPs allow developers to take services and apps from idea to production without ever needing to involve operations. This drives the ownership level as teams are now responsible for the configuration, deployment, or roll-back process. Increased visibility allows teams to collaborate better and frictionlessly. IDPs significantly increase creativity by allowing developers to just spin up services or subsets of workloads to play around and experiment. A straightforward use case is a multi-cloud delivery setup, which is almost impossible to properly handle without an IDP. 18 | 19 | ## Quantitative 20 | 21 | The quantitative impact of an IDP highly depends on the organizational setup and the size of the engineering organization. 22 | While smaller teams won’t experience a lack of standardization and related pain points, enterprise organizations with hundreds or even thousands of developers deploying 1000 times per week, will benefit greatly from building and adopting an IDP. 23 | The most reliable framework to calculate the impact of an IDP we have seen so far, is the following table, initially published by [humanitec.com](https://humanitec.com). 24 | It comes up with a list of procedures performed per 100 deployments and the corresponding amount of hours that are most likely wasted without a properly working IDP. You can do this calculation on your own and replace the values by those upon your own experience: 25 | 26 | | Procedure | Frequency (%of deployments) | Dev Time in hours (including waiting and errors) | Ops Time in hours
(including waiting and errors) | 27 | |---|---|---|---| 28 | | Add/update app configurations (e.g. env variables) | 5%* | 1h* | 1h* | 29 | | Add services and dependencies | 1%* | 16h* | 8h* | 30 | | Add/update resources | 0.38%* | 8h* | 24h* | 31 | | Refactor & document architecture | 0.28%* | 40h* | 8h* | 32 | | Waiting due to blocked environment | 0.5%* | 15h* | 0h* | 33 | | Spinning up environment | 0.33%* | 24h* | 24h* | 34 | | Onboarding devs, retrain & swap teams | 1%* | 80h* | 16h* | 35 | | Roll back failed deployment | 1.75% | 10* | 20* | 36 | | Debugging, error tracing | 4.40% | 10* | 10* | 37 | | Waiting for other teams | 6.30% | 16* | 16* | 38 | 39 | *per 100 deployments 40 | ### What other publications are available? 41 | 42 | The only document we are currently aware of that is at least talking about the impact of IDPs is a summary of Equal Experts that you can find here: 43 | 44 | {{< button href="https://www.gartner.com/document/4017457" target="_blank" >}} 45 | -> A Software Engineering Leader’s Guide to Improving Developer Experience (by Gartner, behind paywall) 46 | {{< /button >}} 47 | 48 | {{< button href="https://digital-platform.playbook.ee/introduction/benefits-of-a-digital-platform" target="_blank" >}} 49 | -> Benefits of a Digital Platform (by DigitalExperts) 50 | {{< /button >}} 51 | 52 | If you have more data or want to participate in further data aggregation please [send a pull request]({{< relref "/#how-to-contribute-to-internal-developer-platform" >}}) or [reach out](mailto:info@internaldeveloperplatform.org). 53 | -------------------------------------------------------------------------------- /default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | listen [::]:80; 4 | server_name localhost; 5 | 6 | #access_log /var/log/nginx/host.access.log main; 7 | 8 | location / { 9 | root /usr/share/nginx/html; 10 | index index.html index.htm; 11 | } 12 | 13 | error_page 404 /404.html; 14 | location = /404.html { 15 | root /usr/share/nginx/html; 16 | } 17 | 18 | # redirect server error pages to the static page /50x.html 19 | # 20 | error_page 500 502 503 504 /50x.html; 21 | location = /50x.html { 22 | root /usr/share/nginx/html; 23 | } 24 | 25 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 26 | # 27 | #location ~ \.php$ { 28 | # proxy_pass http://127.0.0.1; 29 | #} 30 | 31 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 32 | # 33 | #location ~ \.php$ { 34 | # root html; 35 | # fastcgi_pass 127.0.0.1:9000; 36 | # fastcgi_index index.php; 37 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 38 | # include fastcgi_params; 39 | #} 40 | 41 | # deny access to .htaccess files, if Apache's document root 42 | # concurs with nginx's one 43 | # 44 | #location ~ /\.ht { 45 | # deny all; 46 | #} 47 | } -------------------------------------------------------------------------------- /layouts/partials/docs/inject/body.html: -------------------------------------------------------------------------------- 1 | {{ if .Site.Params.googleTagManagerId }} 2 | 3 | 11 | 12 | {{ end }} 13 | -------------------------------------------------------------------------------- /layouts/partials/docs/inject/head.html: -------------------------------------------------------------------------------- 1 | {{ if .Site.Params.googleTagManagerId }} 2 | 3 | 10 | 11 | {{ end }} 12 | -------------------------------------------------------------------------------- /layouts/shortcodes/hint.html: -------------------------------------------------------------------------------- 1 |
2 | {{ .InnerDeindent | markdownify | safeHTML }} 3 |
4 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/static/favicon.png -------------------------------------------------------------------------------- /static/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/full_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/static/full_logo.png -------------------------------------------------------------------------------- /static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InternalDeveloperPlatform/public-site/bc31af822a8714806720af9bc180750853ec764d/static/logo.png --------------------------------------------------------------------------------