{"id":441,"date":"2023-09-26T10:00:00","date_gmt":"2023-09-26T10:00:00","guid":{"rendered":"https:\/\/jacar.es\/platform-engineering-idp\/"},"modified":"2023-09-26T10:00:00","modified_gmt":"2023-09-26T10:00:00","slug":"platform-engineering-idp","status":"publish","type":"post","link":"https:\/\/jacar.es\/en\/platform-engineering-idp\/","title":{"rendered":"Platform Engineering: Internal Developer Platforms"},"content":{"rendered":"<p>In the last two years, <strong>platform engineering<\/strong> has emerged as a distinct discipline from DevOps and SRE. The core idea: instead of every team building and operating its own infrastructure, a dedicated team offers an internal platform (<strong>IDP<\/strong> \u2014 Internal Developer Platform) as a product. The goal is for product teams to deliver value quickly without becoming experts in Kubernetes, Terraform, or the CI system.<\/p>\n<h2 id=\"the-problem-it-solves\">The Problem It Solves<\/h2>\n<p>Past a certain scale (20+ services, 50+ developers), the \u201ceach team manages its own stack\u201d pattern becomes expensive:<\/p>\n<ul>\n<li><strong>Duplication<\/strong>. Each team independently solves deployment, observability, secrets, auth.<\/li>\n<li><strong>Cognitive friction<\/strong>. A backend developer spends 30-40% of time on infrastructure tasks outside their specialty.<\/li>\n<li><strong>Operational inconsistency<\/strong>. Similar problems solved in different ways complicate incidents and audits.<\/li>\n<li><strong>Reduced mobility<\/strong>. Moving an engineer between teams requires relearning their toolchain.<\/li>\n<\/ul>\n<p>IDPs address this by consolidating the common behind a unified interface, without limiting flexibility where it matters.<\/p>\n<h2 id=\"what-composes-an-idp\">What Composes an IDP<\/h2>\n<p>A mature IDP typically includes:<\/p>\n<ul>\n<li><strong>Developer portal<\/strong>: unified UI to see, create, and manage services. Spotify\u2019s <a href=\"https:\/\/backstage.io\/\">Backstage<\/a> is the open-source reference.<\/li>\n<li><strong>Service catalog<\/strong>: inventory with metadata (responsible team, dependencies, SLOs, docs). It\u2019s the IDP\u2019s \u201cdatabase\u201d.<\/li>\n<li><strong>Golden paths<\/strong>: pre-built paths for common cases (create a new microservice, deploy to staging, set up observability). More than tutorials \u2014 templates that reduce creation to a single command.<\/li>\n<li><strong>Self-service<\/strong>: product teams can provision resources without manual tickets to the platform team.<\/li>\n<li><strong>Observability by default<\/strong>: every new service starts with metrics, logs, and traces.<\/li>\n<li><strong>Guardrails, not gates<\/strong>: policies that allow progress but warn or prevent known mistakes.<\/li>\n<\/ul>\n<h2 id=\"backstage-as-reference\">Backstage as Reference<\/h2>\n<p><a href=\"https:\/\/backstage.io\/\">Backstage<\/a>, open-sourced by Spotify in 2020, is the most visible ecosystem component. Functions:<\/p>\n<ul>\n<li><strong>Software catalog<\/strong>: YAML describes services, their ownership, docs, and relations. One entry per entity (service, library, website, infrastructure).<\/li>\n<li><strong>Plugins<\/strong>: ~100+ plugin ecosystem (CI\/CD status, Kubernetes, monitoring, docs) living in the same portal.<\/li>\n<li><strong>TechDocs<\/strong>: documentation-as-code, rendered inside the portal.<\/li>\n<li><strong>Scaffolder<\/strong>: new-component generator from templates (create a Spring Boot service with observability and CI in one click).<\/li>\n<\/ul>\n<p>In 2023, Backstage is the base of dozens of internal IDPs at large companies, though it requires substantial investment to adapt to one\u2019s own context.<\/p>\n<h2 id=\"golden-paths-the-core-value\">Golden Paths: The Core Value<\/h2>\n<p>A golden path answers: \u201cI want to create a new microservice \u2014 what\u2019s the recommended way here?\u201d. The answer should be a template generating:<\/p>\n<ul>\n<li>Repository with standard structure.<\/li>\n<li>Configured Dockerfile and CI.<\/li>\n<li>Kubernetes manifests with resource limits and health checks.<\/li>\n<li>Pre-created Grafana dashboard.<\/li>\n<li>Basic error-rate alert on SLO.<\/li>\n<li>Integration with the company\u2019s auth system.<\/li>\n<\/ul>\n<p>The key: the golden path isn\u2019t mandatory. Teams can deviate when they need to. But the \u201chappy path\u201d is clear and so subsidised that most follow it by default.<\/p>\n<h2 id=\"when-to-invest-in-platform-engineering\">When to Invest in Platform Engineering<\/h2>\n<p>Not every team needs an IDP. Signs it\u2019s time:<\/p>\n<ul>\n<li><strong>More than 30-50 developers<\/strong> working on interconnected services.<\/li>\n<li><strong>Visible duplication<\/strong> between teams in configuration, deployment, observability.<\/li>\n<li><strong>Incidents whose root cause is \u201ceach team does it differently\u201d<\/strong>.<\/li>\n<li><strong>Slow onboarding<\/strong> \u2014 more than 2 weeks for a new engineer to deploy something useful.<\/li>\n<\/ul>\n<p>For smaller teams, IDP investment is usually premature. Better to start with good practices and shared scripts, formalising a platform when scale justifies.<\/p>\n<h2 id=\"antipatterns-to-avoid\">Antipatterns to Avoid<\/h2>\n<p>Three errors seen repeatedly:<\/p>\n<ul>\n<li><strong>Platform team = \u201crenamed DevOps team\u201d<\/strong>. If you only do infrastructure without treating the developer as customer, you haven\u2019t done platform engineering.<\/li>\n<li><strong>IDP as gate, not path<\/strong>. Forcing the product team through the IDP blocks innovation. Offering it as a clearly better option is different.<\/li>\n<li><strong>Build everything custom<\/strong>. Backstage + plugins + some integrations is enough for most. Reinventing the wheel rarely justifies the cost.<\/li>\n<\/ul>\n<p>Also see how to <a href=\"https:\/\/jacar.es\/sre-libro-google-practica\/\">apply SRE without being Google<\/a> \u2014 platform engineering complements SRE: SRE operates what platform builds.<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Platform engineering in 2023 is a mature discipline for organisations of a certain scale. A well-designed IDP frees product-team time, consolidates practices, and reduces operational incidents. But only if treated as a real product with real users (internal engineers), not as yet another infrastructure project.<\/p>\n<p>Follow us on jacar.es for more on platform engineering, SRE, and development productivity.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Platform engineering formalises the internal product developers need. What an IDP is, what it solves, and how to start.<\/p>\n","protected":false},"author":1,"featured_media":509,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,23],"tags":[201,202,118,200,203,199],"class_list":["post-441","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura","category-metodologias","tag-backstage","tag-developer-experience","tag-devops","tag-idp","tag-plataforma-interna","tag-platform-engineering"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["es","en"],"languages":{"es":{"title":true,"content":true,"excerpt":true},"en":{"title":true,"content":true,"excerpt":true}}},"gutentor_comment":0,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Platform Engineering: Internal Developer Platforms - Jacar<\/title>\n<meta name=\"description\" content=\"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jacar.es\/platform-engineering-idp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Platform Engineering: Internal Developer Platforms - Jacar\" \/>\n<meta property=\"og:description\" content=\"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jacar.es\/platform-engineering-idp\/\" \/>\n<meta property=\"og:site_name\" content=\"Jacar\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-26T10:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png\" \/>\n\t<meta property=\"og:image:width\" content=\"252\" \/>\n\t<meta property=\"og:image:height\" content=\"229\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"javi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"javi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/\"},\"author\":{\"name\":\"javi\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\"},\"headline\":\"Platform Engineering: Internal Developer Platforms\",\"datePublished\":\"2023-09-26T10:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/\"},\"wordCount\":1430,\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/20000436\\\/jwp-1325074-2368.jpg\",\"keywords\":[\"backstage\",\"developer experience\",\"devops\",\"idp\",\"plataforma interna\",\"platform engineering\"],\"articleSection\":[\"Arquitectura\",\"Metodolog\u00edas\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"ItemPage\"],\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/\",\"name\":\"Platform Engineering: Internal Developer Platforms - Jacar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/20000436\\\/jwp-1325074-2368.jpg\",\"datePublished\":\"2023-09-26T10:00:00+00:00\",\"description\":\"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/20000436\\\/jwp-1325074-2368.jpg\",\"contentUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/20000436\\\/jwp-1325074-2368.jpg\",\"width\":1200,\"height\":800,\"caption\":\"Panel de desarrollador con m\u00faltiples integraciones\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jacar.es\\\/platform-engineering-idp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/jacar.es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Platform engineering: plataformas internas para desarrolladores\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"name\":\"Jacar\",\"description\":\"Passion for Technology\",\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jacar.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\",\"name\":\"Jacar\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"width\":252,\"height\":229,\"caption\":\"Jacar\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/javiercanetearroyo\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\",\"name\":\"javi\",\"sameAs\":[\"https:\\\/\\\/jacar.es\"],\"url\":\"https:\\\/\\\/jacar.es\\\/en\\\/author\\\/javi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Platform Engineering: Internal Developer Platforms - Jacar","description":"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jacar.es\/platform-engineering-idp\/","og_locale":"en_US","og_type":"article","og_title":"Platform Engineering: Internal Developer Platforms - Jacar","og_description":"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.","og_url":"https:\/\/jacar.es\/platform-engineering-idp\/","og_site_name":"Jacar","article_published_time":"2023-09-26T10:00:00+00:00","og_image":[{"width":252,"height":229,"url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png","type":"image\/png"}],"author":"javi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"javi","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jacar.es\/platform-engineering-idp\/#article","isPartOf":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/"},"author":{"name":"javi","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208"},"headline":"Platform Engineering: Internal Developer Platforms","datePublished":"2023-09-26T10:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/"},"wordCount":1430,"publisher":{"@id":"https:\/\/jacar.es\/#organization"},"image":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/09\/20000436\/jwp-1325074-2368.jpg","keywords":["backstage","developer experience","devops","idp","plataforma interna","platform engineering"],"articleSection":["Arquitectura","Metodolog\u00edas"],"inLanguage":"en-US"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/jacar.es\/platform-engineering-idp\/","url":"https:\/\/jacar.es\/platform-engineering-idp\/","name":"Platform Engineering: Internal Developer Platforms - Jacar","isPartOf":{"@id":"https:\/\/jacar.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/#primaryimage"},"image":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/09\/20000436\/jwp-1325074-2368.jpg","datePublished":"2023-09-26T10:00:00+00:00","description":"Platform engineering as a discipline: IDPs (Internal Developer Platforms), Backstage as reference, golden paths, and when to invest.","breadcrumb":{"@id":"https:\/\/jacar.es\/platform-engineering-idp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jacar.es\/platform-engineering-idp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/platform-engineering-idp\/#primaryimage","url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/09\/20000436\/jwp-1325074-2368.jpg","contentUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/09\/20000436\/jwp-1325074-2368.jpg","width":1200,"height":800,"caption":"Panel de desarrollador con m\u00faltiples integraciones"},{"@type":"BreadcrumbList","@id":"https:\/\/jacar.es\/platform-engineering-idp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/jacar.es\/"},{"@type":"ListItem","position":2,"name":"Platform engineering: plataformas internas para desarrolladores"}]},{"@type":"WebSite","@id":"https:\/\/jacar.es\/#website","url":"https:\/\/jacar.es\/","name":"Jacar","description":"Passion for Technology","publisher":{"@id":"https:\/\/jacar.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jacar.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jacar.es\/#organization","name":"Jacar","url":"https:\/\/jacar.es\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/","url":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","contentUrl":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","width":252,"height":229,"caption":"Jacar"},"image":{"@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/javiercanetearroyo\/"]},{"@type":"Person","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208","name":"javi","sameAs":["https:\/\/jacar.es"],"url":"https:\/\/jacar.es\/en\/author\/javi\/"}]}},"_links":{"self":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/comments?post=441"}],"version-history":[{"count":0,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/441\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media\/509"}],"wp:attachment":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media?parent=441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/categories?post=441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/tags?post=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}