SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Managing Infrastructure as a
Product: Introduction to Platform
Engineering
Adityo Pratomo
Product Manager, GoTo Financial
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Hi, I’m Didit
Currently managing Gopay.sh, our
homebrew internal developer tool
Used by 450+ engineers on a daily basis
Speed up our migration and
deployment effort
Accelerate fixing compliance and
governance issues
Build from the ground up by and
utilizing various open source projects
Today, we’ll talk about
internal platform
📖 adityop.medium.com
⏱ Short history on how
we get here
🦸 Giving developers
super power
🏗 Managing
infrastructure as product
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Short history, how we get here?
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Some years ago…
��🏻💻
App
developer
��🏽
Network
engineer
��
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Some years ago…
��🏻💻
App
developer
��🏽
Network
engineer
��
“It’s the network fault” “It’s the application issue”
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Some years ago…
��🏻💻
App
developer
��🏽
Network
engineer
��
”Ah, so that’s where the problem is!”
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Microservice is here
Embraced by enterprises and
startups to improve the
organization’s agility
Architectural decision that
represents organizational domain
and governance
Provides teams ability to move
independently and tackle each
domain’s issue
Kubernetes Community Days x OpenInfra Days Indonesia 2022
DevOps as the enabler
For teams to truly achieve
independence, they have to be
able to fully own the end-to-end
process of building and operating
services
“You build it, you own it”
Kubernetes Community Days x OpenInfra Days Indonesia 2022
However…
Building AND operating service are 2
vastly different domain and problems
Both requires different set of skills,
stemming from different background
with different practices as well
It become a tall order if we want
developers to be able to operate their
own services
Remedied through manual process ✅
Kubernetes Community Days x OpenInfra Days Indonesia 2022
The problem
- Not scalable
- Repetitive
- Back to square one
��🏻💻
App
developer
��
DevOps
engineer
��
Kubernetes Community Days x OpenInfra Days Indonesia 2022
The problem
I build it, but do I own it?
Kubernetes Community Days x OpenInfra Days Indonesia 2022
The solution
Codify the practice to operate the
services, so developers can do it on
their own
Provide manual intervention only for
edge cases
Exposes abstractions over the
underlying infrastructure to make it
more developer friendly
We call this platform
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Giving developers super powers
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Ensuring platform gives values
Platform is a wide domain and
building it would be very contextual
for every organization,
A uniform goal: improving developer
productivity
To ensure it’ll be successful, let’s step
back and see developers’ workflow.
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Modelling developer activity
1. Discover: gathering information
required to start writing code
2. Build: translating requirements into
code
3. Test: testing the recently written code to
ensure that it fits the requirement
4. Integrate: build and deploy the code, to
make it integrated with the wider
system
5. Verify: testing the recently integrated
code, to ensure the functionality
correctness
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Improving developer activity
The key value of a developer is realized in
write and test steps, these are the main
productive time
Improving developer productivity can be
started by reducing the time spent by
developers to do discover, integrate, and
verify steps
That’s where our platform can play
fundamental part.
Kubernetes Community Days x OpenInfra Days Indonesia 2022
As an example
let’s tackle point 4.
help developer in speed up the process of
deploying the code to our underlying
- freeing developers from writing brittle
YAML file?
- verification that the process works?
- feedback so they can act accordingly?
- utilize a graphical UI to give additional
information?
Kubernetes Community Days x OpenInfra Days Indonesia 2022
We know the problem, but
solution can go either way
Whichever solution we choose, it could work,
but now, you can imagine the subsequent
complexity
Now we’re exploring the solution space, but
even after we make our choice, we need to
validate the solution
This is where product thinking can help
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Managing infrastructure as
product
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Platform is a product
we shifted platform from a one and done foundational
layer to malleable product that we can iteratively craft
it becomes imperative for us, as the builder to think of:
● what are the business outcome that we want to
address?
● what are the pain points that the developers are
experiencing?
● how big is the problem?
● can we validate that what we provide the desired
solution?
● what to prioritize next?
Infrastructure
Platform
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Product thinking
Product thinking helps us see things in 3 different
lenses:
- Business (viability)
- Technical (feasibility)
- User (desirability)
You can say that product management is the bridge
that connects these 3 islands
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Feasibility
The underlying layer itself is already taking shape in
form of higher level abstraction (e.g. Kubernetes, Istio)
over lower level building block (e.g. OS).
Exposing bare Kubernetes or Istio to developer, isn’t the
correct strategy since each has its own complexity
Utilize their APIs to create more valuable abstraction and
automation that empowers developers to operate their
services.
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Desirability
Aimed towards experts
Feature wise, the product will go deep and focused
towards specific domains
highly contextual to how the company is organized and
governed
✅ Identify the current workflow -> map it -> systemize it
via platform -> gradually optimize it
✅ provide better UX on each iteration
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Example
As a developer, I want to be able to deploy my
services to our Kubernetes cluster without
having to write YAML configuration from
scratch, so I can confidently complete it
myself
Solution through GitOps and Kubernetes
friendly CD provider. Deployment is 1 trigger
away, platform provides the pipeline template
March sprint
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Example
As a developer, I want to be able to deploy my
services to our Kubernetes cluster without
having to write YAML configuration from
scratch, so I can confidently complete it
myself
Solution through GitOps and Kubernetes
friendly CD provider. Deployment is 1 trigger
away, platform provides the pipeline template
❗developers still feel that sometime, they
have to do context switching between
platform and CD provider to ensure
successful deployment
March sprint
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Example
As a developer, I want to be able to deploy my
services to our Kubernetes cluster without
having to write YAML configuration from
scratch, so I can confidently complete it
myself
Solution through GitOps and Kubernetes
friendly CD provider. Deployment is 1 trigger
away, platform provides the pipeline template
❗developers still feel that sometime, they
have to do context switching between
platform and CD provider to ensure
successful deployment
As a developer, I want to be able to check my
deployment status straight from the platform,
so I can verify without having to do any
context switching
March sprint
May sprint
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Viability
Business outcomes will also move over time, even if it’s
not that often
Example of desired outcomes:
- Reducing infrastructure cost by 10% at the end of
2022
- New joiners can deploy to production within the
first week of joining
- 100% services adhere to the regulatory compliance
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Eventually, the
platform evolves
The platform
should evolve
guided by the
lenses.
It’s a living
product
Kubernetes Community Days x OpenInfra Days Indonesia 2022
So we need to
create direction
Product vision: to improve developer
efficiency inside organization
Goal: reduce time to
complete deployment
Goal: reduce number of
issues related to
deprecated libraries
Goal: reduce average
time to resolve incidents
Kubernetes Community Days x OpenInfra Days Indonesia 2022
In the end
��🏻💻
App developers use
it to operate services
��🏽
DevOps engineers provide both
infra and its abstractions
��
��
��
��
Kubernetes Community Days x OpenInfra Days Indonesia 2022
To summarize
Platform enables DevOps culture
Platform needs to be crafted to solve specific developer pain points first,
before tackling another
Platform will evolve and we need to manage it as a product
Kubernetes Community Days x OpenInfra Days Indonesia 2022
Thank You
Let’s Connect
@kotakmakan
adityop.medium.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Platform engineering
Platform engineeringPlatform engineering
Platform engineering
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets "Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
 
DevOps
DevOpsDevOps
DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 

Ähnlich wie Managing Infrastructure as a Product - Introduction to Platform Engineering

Top 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdfTop 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdf
Integrated IT Solutions
 

Ähnlich wie Managing Infrastructure as a Product - Introduction to Platform Engineering (20)

Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdf
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
 
Top 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdfTop 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdf
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Why we should consider Open Hybrid Cloud.pdf
Why we should  consider Open Hybrid Cloud.pdfWhy we should  consider Open Hybrid Cloud.pdf
Why we should consider Open Hybrid Cloud.pdf
 
Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...
Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...
Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
BUDDY White Paper
BUDDY White PaperBUDDY White Paper
BUDDY White Paper
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Detail Guide - Hire Dedicated React Native Developers for your Project
Detail Guide - Hire Dedicated React Native Developers for your ProjectDetail Guide - Hire Dedicated React Native Developers for your Project
Detail Guide - Hire Dedicated React Native Developers for your Project
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptxDeploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
When Automation Keeps Your T-shirt Clean
When Automation Keeps Your T-shirt CleanWhen Automation Keeps Your T-shirt Clean
When Automation Keeps Your T-shirt Clean
 
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CDMACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 

Mehr von Adityo Pratomo

Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding Assignment
Adityo Pratomo
 

Mehr von Adityo Pratomo (11)

Designing with Code
Designing with CodeDesigning with Code
Designing with Code
 
Developing Serverless Microservice in Rust
Developing Serverless Microservice in RustDeveloping Serverless Microservice in Rust
Developing Serverless Microservice in Rust
 
Let The Machine Helps
Let The Machine HelpsLet The Machine Helps
Let The Machine Helps
 
Introducing Rust
Introducing RustIntroducing Rust
Introducing Rust
 
Developing VR in Unity
Developing VR in UnityDeveloping VR in Unity
Developing VR in Unity
 
Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game Design
 
Prototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural InputPrototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural Input
 
Coding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyCoding as Intersection of Art and Technology
Coding as Intersection of Art and Technology
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User Interface
 
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDF
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding Assignment
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Managing Infrastructure as a Product - Introduction to Platform Engineering

  • 1. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Managing Infrastructure as a Product: Introduction to Platform Engineering Adityo Pratomo Product Manager, GoTo Financial
  • 2. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Hi, I’m Didit Currently managing Gopay.sh, our homebrew internal developer tool Used by 450+ engineers on a daily basis Speed up our migration and deployment effort Accelerate fixing compliance and governance issues Build from the ground up by and utilizing various open source projects
  • 3. Today, we’ll talk about internal platform 📖 adityop.medium.com ⏱ Short history on how we get here 🦸 Giving developers super power 🏗 Managing infrastructure as product
  • 4. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Short history, how we get here?
  • 5. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Some years ago… ��🏻💻 App developer ��🏽 Network engineer ��
  • 6. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Some years ago… ��🏻💻 App developer ��🏽 Network engineer �� “It’s the network fault” “It’s the application issue”
  • 7. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Some years ago… ��🏻💻 App developer ��🏽 Network engineer �� ”Ah, so that’s where the problem is!”
  • 8. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Microservice is here Embraced by enterprises and startups to improve the organization’s agility Architectural decision that represents organizational domain and governance Provides teams ability to move independently and tackle each domain’s issue
  • 9. Kubernetes Community Days x OpenInfra Days Indonesia 2022 DevOps as the enabler For teams to truly achieve independence, they have to be able to fully own the end-to-end process of building and operating services “You build it, you own it”
  • 10. Kubernetes Community Days x OpenInfra Days Indonesia 2022 However… Building AND operating service are 2 vastly different domain and problems Both requires different set of skills, stemming from different background with different practices as well It become a tall order if we want developers to be able to operate their own services Remedied through manual process ✅
  • 11. Kubernetes Community Days x OpenInfra Days Indonesia 2022 The problem - Not scalable - Repetitive - Back to square one ��🏻💻 App developer �� DevOps engineer ��
  • 12. Kubernetes Community Days x OpenInfra Days Indonesia 2022 The problem I build it, but do I own it?
  • 13. Kubernetes Community Days x OpenInfra Days Indonesia 2022 The solution Codify the practice to operate the services, so developers can do it on their own Provide manual intervention only for edge cases Exposes abstractions over the underlying infrastructure to make it more developer friendly We call this platform
  • 14. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Giving developers super powers
  • 15. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Ensuring platform gives values Platform is a wide domain and building it would be very contextual for every organization, A uniform goal: improving developer productivity To ensure it’ll be successful, let’s step back and see developers’ workflow.
  • 16. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Modelling developer activity 1. Discover: gathering information required to start writing code 2. Build: translating requirements into code 3. Test: testing the recently written code to ensure that it fits the requirement 4. Integrate: build and deploy the code, to make it integrated with the wider system 5. Verify: testing the recently integrated code, to ensure the functionality correctness
  • 17. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Improving developer activity The key value of a developer is realized in write and test steps, these are the main productive time Improving developer productivity can be started by reducing the time spent by developers to do discover, integrate, and verify steps That’s where our platform can play fundamental part.
  • 18. Kubernetes Community Days x OpenInfra Days Indonesia 2022 As an example let’s tackle point 4. help developer in speed up the process of deploying the code to our underlying - freeing developers from writing brittle YAML file? - verification that the process works? - feedback so they can act accordingly? - utilize a graphical UI to give additional information?
  • 19. Kubernetes Community Days x OpenInfra Days Indonesia 2022 We know the problem, but solution can go either way Whichever solution we choose, it could work, but now, you can imagine the subsequent complexity Now we’re exploring the solution space, but even after we make our choice, we need to validate the solution This is where product thinking can help
  • 20. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Managing infrastructure as product
  • 21. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Platform is a product we shifted platform from a one and done foundational layer to malleable product that we can iteratively craft it becomes imperative for us, as the builder to think of: ● what are the business outcome that we want to address? ● what are the pain points that the developers are experiencing? ● how big is the problem? ● can we validate that what we provide the desired solution? ● what to prioritize next? Infrastructure Platform
  • 22. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Product thinking Product thinking helps us see things in 3 different lenses: - Business (viability) - Technical (feasibility) - User (desirability) You can say that product management is the bridge that connects these 3 islands
  • 23. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Feasibility The underlying layer itself is already taking shape in form of higher level abstraction (e.g. Kubernetes, Istio) over lower level building block (e.g. OS). Exposing bare Kubernetes or Istio to developer, isn’t the correct strategy since each has its own complexity Utilize their APIs to create more valuable abstraction and automation that empowers developers to operate their services.
  • 24. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Desirability Aimed towards experts Feature wise, the product will go deep and focused towards specific domains highly contextual to how the company is organized and governed ✅ Identify the current workflow -> map it -> systemize it via platform -> gradually optimize it ✅ provide better UX on each iteration
  • 25. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Example As a developer, I want to be able to deploy my services to our Kubernetes cluster without having to write YAML configuration from scratch, so I can confidently complete it myself Solution through GitOps and Kubernetes friendly CD provider. Deployment is 1 trigger away, platform provides the pipeline template March sprint
  • 26. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Example As a developer, I want to be able to deploy my services to our Kubernetes cluster without having to write YAML configuration from scratch, so I can confidently complete it myself Solution through GitOps and Kubernetes friendly CD provider. Deployment is 1 trigger away, platform provides the pipeline template ❗developers still feel that sometime, they have to do context switching between platform and CD provider to ensure successful deployment March sprint
  • 27. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Example As a developer, I want to be able to deploy my services to our Kubernetes cluster without having to write YAML configuration from scratch, so I can confidently complete it myself Solution through GitOps and Kubernetes friendly CD provider. Deployment is 1 trigger away, platform provides the pipeline template ❗developers still feel that sometime, they have to do context switching between platform and CD provider to ensure successful deployment As a developer, I want to be able to check my deployment status straight from the platform, so I can verify without having to do any context switching March sprint May sprint
  • 28. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Viability Business outcomes will also move over time, even if it’s not that often Example of desired outcomes: - Reducing infrastructure cost by 10% at the end of 2022 - New joiners can deploy to production within the first week of joining - 100% services adhere to the regulatory compliance
  • 29. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Eventually, the platform evolves The platform should evolve guided by the lenses. It’s a living product
  • 30. Kubernetes Community Days x OpenInfra Days Indonesia 2022 So we need to create direction Product vision: to improve developer efficiency inside organization Goal: reduce time to complete deployment Goal: reduce number of issues related to deprecated libraries Goal: reduce average time to resolve incidents
  • 31. Kubernetes Community Days x OpenInfra Days Indonesia 2022 In the end ��🏻💻 App developers use it to operate services ��🏽 DevOps engineers provide both infra and its abstractions �� �� �� ��
  • 32. Kubernetes Community Days x OpenInfra Days Indonesia 2022 To summarize Platform enables DevOps culture Platform needs to be crafted to solve specific developer pain points first, before tackling another Platform will evolve and we need to manage it as a product
  • 33. Kubernetes Community Days x OpenInfra Days Indonesia 2022 Thank You Let’s Connect @kotakmakan adityop.medium.com