SlideShare a Scribd company logo
Flipping the script: how to
take the first step towards
internal developer platforms
Abby Bangser (she/her)
@a_bangser.bsky.social
@a_bangser
Behind every great
piece of software,
there is a great API
@a_bangser
If APIs are so key,
why is everyone in
platform engineering talking
about developer portals
@a_bangser
Hang on now, don’t go labeling that the hot take
To be clear,
Portals are great.
You very well might benefit from a portal.
A portal alone can not improve your platform
@a_bangser
Portals can provide a lot of benefits
@a_bangser
Business logic shouldn’t live in the UI
➔ Business customisation
◆ E.g. baseline encryption on your databases
➔ Deployment scheduling
◆ E.g. resilience across regions / cloud providers
➔ On demand infrastructure creation
◆ E.g. automated creation of test environments
@a_bangser
And anyways, do all users want the same interface?
>_
@a_bangser
Portals are just another UI.
Focus on delivering a high
quality platform API to
support your UIs
@a_bangser
Application
Programing
Interface (API)
A software interface that allows
many consumer applications to
interact and exchange data with
a single provider application
@a_bangser
Application
Programing
Interface (API)
Interface
A contract on what a
service can provide based
on given input options
Versioning
Allowing maintainers a
way to evolve, and do so
in expected ways
Experience
Shape of API data can
impact use cases and
experiences
@a_bangser
But Abby.
This is boring.
I already provide all those
things using _________ code.
(Terraform Modules / Ansible playbooks / Helm charts / AWS CloudFormation templates)
Code can look like an API Interface
A contract on what a
service can provide based
on given input options
Versioning
Allowing maintainers a
way to evolve, and do so
in expected ways
Experience
Shape of API data can
impact use cases and
experiences
https://blog.gruntwork.io/how-to-create-reusable-infrastructure-with-terraform-modules-25526d65f73d
@a_bangser
Code is NOT an API
The difference is in the
“Shared Responsibility Model”
@a_bangser
An example shared
responsibility model
➔ Level of business customisation
➔ Ease of adding new capabilities
➔ Speed of access to resources
➔ An extensible API
Current tools drag us into false dilemmas
@a_bangser
Shift your focus.
From tech to product.
Platforms provide an experience.
@a_bangser
➔ Customised to the needs of the organisation
➔ Abstractions as high level business offerings
➔ An on demand, self service offering through different clients
➔ Widely used, consistent, and extensible tooling
Focus on the intentions, not the implementations
@a_bangser
Introduce a platform API as-a-Product
➔ Consumer (user) benefits:
◆ Catalog of offerings
◆ On demand offerings
(even if not instant)
◆ One or more interfaces
➔ Provider (creator) benefits:
◆ Separates implementation from
behaviour
◆ Can be evolutionary
◆ Manageable business logic
@a_bangser
Shift your focus.
From tech to product.
Platforms provide an experience.
@a_bangser
Start with the experience using
API Driven Development
@a_bangser
Exposed variables
➔ Time To Live (TTL)
➔ Branch to deploy
➔ Update strategy
Test environment-as-a-Service
Platform defaults
➔ Size of database
➔ Region
➔ …
@a_bangser
API driven development
doesn’t mean you have
to start with code 👀
@a_bangser
JIRA demo
@a_bangser
https://drive.google.com/file/d/1yD5O4xjDjMHeKWy7UDtnCEVEALHpumfU/view?usp=sharing
Define your on demand API
@a_bangser
Platforms actually have a complex domain
@a_bangser
Kratix Promise
@a_bangser
And then compose paved paths
@a_bangser
Kratix provides the ability
to create a simple API
With the building blocks
to handle complexities as
you grow
@a_bangser
➔ Platforms should be treated like any other software
➔ Communication starts manual but can become automated
➔ APIs enable extensibility and evolution
➔ Toil can make it seem impossible to make improvements
Key takeaways
@a_bangser
While an evolution
may be more practical,
by using the right (OSS) tools
you can achieve a revolution
@a_bangser
Thank you
Abby Bangser
abby@syntasso.io • @a_bangser • @a_bangser.bsky.social
@a_bangser
● https://kratix.io
● https://www.syntasso.io/post/the-12-platform-challenges-recap
● https://tomgeraghty.co.uk/index.php/platform-as-a-product
● https://martinfowler.com/articles/talk-about-platforms.html
● https://teamtopologies.com/videos-slides/what-is-platform-as-a-product-clues-from-team-topologies
● https://sre.google/sre-book/eliminating-toil/
● https://www.slideshare.net/ddegrandis/time-theft-how-hidden-unplanned-work-commit-the-perfect-crime
-78706707
● https://swagger.io/resources/articles/adopting-an-api-first-approach/
● https://thenewstack.io/platform-engineers-developers-are-your-customers/
Additional reading
@a_bangser

More Related Content

Similar to Flipping the script: How to take the first step towards internal developer platforms

Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
Bill Doerrfeld
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Nordic APIs
 
Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015
Kamyar Mohager
 
Crafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
Crafting the Ultimate Toolkit for API Platform Teams: What You Are MissingCrafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
Crafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
Nordic APIs
 
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
DianApps Technologies
 
ShepHertz - A Complete Cloud Ecosystem for your Apps
ShepHertz - A Complete Cloud Ecosystem for your AppsShepHertz - A Complete Cloud Ecosystem for your Apps
ShepHertz - A Complete Cloud Ecosystem for your Apps
ShepHertz
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
AustraliaChapterIIBA
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network Automation
Andy Davidson
 
Having a Pulse On Your Platform
Having a Pulse On Your PlatformHaving a Pulse On Your Platform
Having a Pulse On Your Platform
Kamyar Mohager
 
ASP.Net for Software Development
ASP.Net for Software DevelopmentASP.Net for Software Development
ASP.Net for Software Development
Career IT and Business Solutions
 
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays
 
CA API Developer Portal
CA API Developer PortalCA API Developer Portal
CA API Developer Portal
James Farley-Sutton
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T..."API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API Ecosystem
Mitch Colleran
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
confluent
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
Jason Haygood
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
Ibrahim Elsawaf
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
Keshav Vasudevan
 
Automated release notes, app for Jira - quick introduction
Automated release notes, app for Jira - quick introductionAutomated release notes, app for Jira - quick introduction
Automated release notes, app for Jira - quick introduction
Anand Inamdar
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
Axway
 

Similar to Flipping the script: How to take the first step towards internal developer platforms (20)

Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
 
Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015
 
Crafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
Crafting the Ultimate Toolkit for API Platform Teams: What You Are MissingCrafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
Crafting the Ultimate Toolkit for API Platform Teams: What You Are Missing
 
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
 
ShepHertz - A Complete Cloud Ecosystem for your Apps
ShepHertz - A Complete Cloud Ecosystem for your AppsShepHertz - A Complete Cloud Ecosystem for your Apps
ShepHertz - A Complete Cloud Ecosystem for your Apps
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network Automation
 
Having a Pulse On Your Platform
Having a Pulse On Your PlatformHaving a Pulse On Your Platform
Having a Pulse On Your Platform
 
ASP.Net for Software Development
ASP.Net for Software DevelopmentASP.Net for Software Development
ASP.Net for Software Development
 
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
 
CA API Developer Portal
CA API Developer PortalCA API Developer Portal
CA API Developer Portal
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T..."API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API Ecosystem
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
Automated release notes, app for Jira - quick introduction
Automated release notes, app for Jira - quick introductionAutomated release notes, app for Jira - quick introduction
Automated release notes, app for Jira - quick introduction
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 

More from Abigail Bangser

Providing as-a-Service Across Multi-Cluster Kubernetes
Providing  				  as-a-Service Across Multi-Cluster KubernetesProviding  				  as-a-Service Across Multi-Cluster Kubernetes
Providing as-a-Service Across Multi-Cluster Kubernetes
Abigail Bangser
 
Platforms aren't tools, they are experiences. And Kubernetes isn’t a platfor...
Platforms aren't tools, they are experiences.  And Kubernetes isn’t a platfor...Platforms aren't tools, they are experiences.  And Kubernetes isn’t a platfor...
Platforms aren't tools, they are experiences. And Kubernetes isn’t a platfor...
Abigail Bangser
 
Tutorial Becoming a Kubernetes Developer_ Writing Your First Operator
Tutorial Becoming a Kubernetes Developer_ Writing Your First OperatorTutorial Becoming a Kubernetes Developer_ Writing Your First Operator
Tutorial Becoming a Kubernetes Developer_ Writing Your First Operator
Abigail Bangser
 
Demystifying observability
Demystifying observability Demystifying observability
Demystifying observability
Abigail Bangser
 
2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction
Abigail Bangser
 
2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os
Abigail Bangser
 
2020 03-19 introducing-chaosengineering
2020 03-19 introducing-chaosengineering2020 03-19 introducing-chaosengineering
2020 03-19 introducing-chaosengineering
Abigail Bangser
 
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Abigail Bangser
 
Empowerment through Observability - Keynote
Empowerment through Observability - KeynoteEmpowerment through Observability - Keynote
Empowerment through Observability - Keynote
Abigail Bangser
 
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
Abigail Bangser
 

More from Abigail Bangser (10)

Providing as-a-Service Across Multi-Cluster Kubernetes
Providing  				  as-a-Service Across Multi-Cluster KubernetesProviding  				  as-a-Service Across Multi-Cluster Kubernetes
Providing as-a-Service Across Multi-Cluster Kubernetes
 
Platforms aren't tools, they are experiences. And Kubernetes isn’t a platfor...
Platforms aren't tools, they are experiences.  And Kubernetes isn’t a platfor...Platforms aren't tools, they are experiences.  And Kubernetes isn’t a platfor...
Platforms aren't tools, they are experiences. And Kubernetes isn’t a platfor...
 
Tutorial Becoming a Kubernetes Developer_ Writing Your First Operator
Tutorial Becoming a Kubernetes Developer_ Writing Your First OperatorTutorial Becoming a Kubernetes Developer_ Writing Your First Operator
Tutorial Becoming a Kubernetes Developer_ Writing Your First Operator
 
Demystifying observability
Demystifying observability Demystifying observability
Demystifying observability
 
2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction
 
2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os
 
2020 03-19 introducing-chaosengineering
2020 03-19 introducing-chaosengineering2020 03-19 introducing-chaosengineering
2020 03-19 introducing-chaosengineering
 
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
 
Empowerment through Observability - Keynote
Empowerment through Observability - KeynoteEmpowerment through Observability - Keynote
Empowerment through Observability - Keynote
 
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
2018-05-09_CRAFTConf_FirstStepsMovingToTheCloud
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

Flipping the script: How to take the first step towards internal developer platforms

  • 1. Flipping the script: how to take the first step towards internal developer platforms Abby Bangser (she/her) @a_bangser.bsky.social @a_bangser
  • 2. Behind every great piece of software, there is a great API @a_bangser
  • 3. If APIs are so key, why is everyone in platform engineering talking about developer portals @a_bangser
  • 4. Hang on now, don’t go labeling that the hot take To be clear, Portals are great. You very well might benefit from a portal. A portal alone can not improve your platform @a_bangser
  • 5. Portals can provide a lot of benefits @a_bangser
  • 6. Business logic shouldn’t live in the UI ➔ Business customisation ◆ E.g. baseline encryption on your databases ➔ Deployment scheduling ◆ E.g. resilience across regions / cloud providers ➔ On demand infrastructure creation ◆ E.g. automated creation of test environments @a_bangser
  • 7. And anyways, do all users want the same interface? >_ @a_bangser
  • 8. Portals are just another UI. Focus on delivering a high quality platform API to support your UIs @a_bangser
  • 9. Application Programing Interface (API) A software interface that allows many consumer applications to interact and exchange data with a single provider application @a_bangser
  • 10. Application Programing Interface (API) Interface A contract on what a service can provide based on given input options Versioning Allowing maintainers a way to evolve, and do so in expected ways Experience Shape of API data can impact use cases and experiences @a_bangser
  • 11. But Abby. This is boring. I already provide all those things using _________ code. (Terraform Modules / Ansible playbooks / Helm charts / AWS CloudFormation templates)
  • 12. Code can look like an API Interface A contract on what a service can provide based on given input options Versioning Allowing maintainers a way to evolve, and do so in expected ways Experience Shape of API data can impact use cases and experiences https://blog.gruntwork.io/how-to-create-reusable-infrastructure-with-terraform-modules-25526d65f73d @a_bangser
  • 13. Code is NOT an API The difference is in the “Shared Responsibility Model”
  • 15. ➔ Level of business customisation ➔ Ease of adding new capabilities ➔ Speed of access to resources ➔ An extensible API Current tools drag us into false dilemmas @a_bangser
  • 16. Shift your focus. From tech to product. Platforms provide an experience. @a_bangser
  • 17. ➔ Customised to the needs of the organisation ➔ Abstractions as high level business offerings ➔ An on demand, self service offering through different clients ➔ Widely used, consistent, and extensible tooling Focus on the intentions, not the implementations @a_bangser
  • 18. Introduce a platform API as-a-Product ➔ Consumer (user) benefits: ◆ Catalog of offerings ◆ On demand offerings (even if not instant) ◆ One or more interfaces ➔ Provider (creator) benefits: ◆ Separates implementation from behaviour ◆ Can be evolutionary ◆ Manageable business logic @a_bangser
  • 19. Shift your focus. From tech to product. Platforms provide an experience. @a_bangser
  • 20. Start with the experience using API Driven Development @a_bangser
  • 21. Exposed variables ➔ Time To Live (TTL) ➔ Branch to deploy ➔ Update strategy Test environment-as-a-Service Platform defaults ➔ Size of database ➔ Region ➔ … @a_bangser
  • 22. API driven development doesn’t mean you have to start with code 👀 @a_bangser
  • 24. Define your on demand API @a_bangser
  • 25. Platforms actually have a complex domain @a_bangser
  • 27. And then compose paved paths @a_bangser
  • 28. Kratix provides the ability to create a simple API With the building blocks to handle complexities as you grow @a_bangser
  • 29. ➔ Platforms should be treated like any other software ➔ Communication starts manual but can become automated ➔ APIs enable extensibility and evolution ➔ Toil can make it seem impossible to make improvements Key takeaways @a_bangser
  • 30. While an evolution may be more practical, by using the right (OSS) tools you can achieve a revolution @a_bangser
  • 31. Thank you Abby Bangser abby@syntasso.io • @a_bangser • @a_bangser.bsky.social @a_bangser
  • 32. ● https://kratix.io ● https://www.syntasso.io/post/the-12-platform-challenges-recap ● https://tomgeraghty.co.uk/index.php/platform-as-a-product ● https://martinfowler.com/articles/talk-about-platforms.html ● https://teamtopologies.com/videos-slides/what-is-platform-as-a-product-clues-from-team-topologies ● https://sre.google/sre-book/eliminating-toil/ ● https://www.slideshare.net/ddegrandis/time-theft-how-hidden-unplanned-work-commit-the-perfect-crime -78706707 ● https://swagger.io/resources/articles/adopting-an-api-first-approach/ ● https://thenewstack.io/platform-engineers-developers-are-your-customers/ Additional reading @a_bangser