SlideShare une entreprise Scribd logo
1  sur  90
Platform Engineering 101
Empowering developers to deliver - as-a-service
Skyworkz - https://skyworkz.nl
Sander Knape - https://sanderknape.com
Hello, I’m Sander Knape
Cloud Engineer @ Skyworkz
Let’s build an app
● Application that connects to a database
● Works on my machine™
→ Let’s get it into the Cloud!
Cloud provider / runtime environment
Infrastructure as Code
CI / CD
Artifact management
Security scanning
Configuration management
Secret management
Monitoring, logging, metrics
Alerts
Database migrations
Database anonymization
Cost insights
Security
...
There’s quite a bit going on
Cloud provider / runtime
environment
Infrastructure as Code
CI / CD
Artifact management
Security scanning
Configuration
management
Secret management
Monitoring, Logging,
Metrics
Alerts
Database migrations
Database
anonymization
Cost insights
Security
Application
Software development is more than just
writing [Go, Java, NodeJS, C#, …]
You need a platform
Kubernetes isn’t enough
Definition time: “Platform Engineering”
The composition and integration of a set of processes, tools and automation
(components) to build a coherent platform with the goal of empowering developers
to be able to easily build, maintain and operate their business logic.
Why Platform Engineering?
Why Platform Engineering
“[T]he reality is that state of the art cloud native technology is still too hard to use if
every product engineering team has to individually solve common problems
around networking, observability, deployment, provisioning, caching, data storage,
etc.”
https://medium.com/@mattklein123/the-human-scalability-of-devops-e36c37d3db6a
VPC’s in AWS
Specific knowledge is required
Ownership
Platform Engineering
==
Software Engineering
Who has the responsibility?
1 or 2 platform engineers
1 platform team
multiple platform teams
Multiple approaches
● “Just hand me your source code on a USB stick. I’ll put it on the server and
make sure and that it keeps working”
Or…
● “Create a pull request <here> to automatically get a Git repository, CI/CD,
filled with a Hello World application, that deploys all the way to production”
Challenges we’ll talk about
1. Protecting the platform for organizational scalability
2. Building an opinionated platform
3. Specifying contracts
4. Collaborating with your users
Protecting the platform for
organizational scalability
AWS Lambda: Language Support
AWS Lambda: Custom Runtimes
Protect the platform
https://www.independent.ie/sport/soccer/premier-league/the-platform-we-created-is-more-important-than-one-
person-mauricio-pochettino-coy-on-future-37652030.html
The question to ask for each new feature
How much support will I need to provide after I have delivered this feature?
Less (or equal) is the only acceptable answer
Reducing toil
“Toil is the kind of work tied to running a production service that tends to be
manual, repetitive, automatable, tactical, devoid of enduring value, and that
scales linearly as a service grows.”
https://landing.google.com/sre/sre-book/chapters/eliminating-toil/
Examples of toil
● Manually creating Git repositories and granting the correct people access
● Manually creating CI/CD pipelines based on another project
● Running load tests from a laptop with a security token that you can not share
● Putting secrets into your secret management solution
Examples of toil: old-school operations
● Manually;
○ Flushing caches
○ Rebooting servers
○ Renewing SSL licenses
○ ...
Toil leads to bottlenecks
Toil leads to boredom...
… or toil leads to stress
Self-service through automation
Self-service instead of toil
● Manually creating Git repositories and granting the correct people access
● Manually creating CI/CD pipelines based on another project
● Running load tests from a laptop with a security token that you can not share
● Putting secrets into your secret management solution
Scalable support
Developer: Hello, can you help me with “something” for feature X?
Platform: Did you check the docs for feature X?
Developer: Yes, but it doesn’t mention anything about “something”
Platform: I see, give me as second
Developer: Sure
Platform: I edited the docs to include “something”, does this answer
your question? https://github.com/org/docs/pull/1337
Developer: Totally, thanks!
How to protect yourselves
● Automate. Think “as a service”.
● Prefer managed solutions above self-hosted. Every minute you spend on
maintaining a self-hosted solution is time not spend on improving the platform
usability
● Prefer documentation above single answers
● Make the platform as simple as possible
Building an opinionated platform
AWS Lambda: Language Support
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
Splunk Cloud
AWS CloudWatch
AWS Secrets Manager
Google Cloud Datastore
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
HashiCorp Vault
Splunk Self-Hosted
Prometheus/Grafana
MySQL on EC2
GitLab on EC2
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
CloudFormation
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
Abstraction levels
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
Developer
responsibility
Self-service
● Lambda languages v.s. Lambda runtimes
● Hosted, shared CI/CD solution vs. BYO CI/CD solution
● Default Docker / EC2 images vs. built your own
● Default network with every application vs. create your own VPC/Subnet
$> curl -s localhost:9200/_cluster/settings?include_defaults=true 
| jq '.defaults' 
| grep ""[a-z_.-]*": ["[]" 
| wc -l
361
Elasticsearch settings
Elasticsearch settings in AWS
It’s about balance
Business value
What is the business value of each development team maintaining their own;
● CI/CD server
● Monitoring solution
● Network
● ...
Getting buy-in
Team Manifesto
We build everything with developers. We’ll always select a pioneering team that
has interest in a new service/feature, and work with them to make sure we pick
and configure the right tool and solve the root problem.
How to sell an opinionated platform
● Simple to use, high-level abstractions; developers shouldn’t want to use
anything else
● Make everyone aware of the constant balance seeking
● Build the features together with developers
Specifying contracts
AWS Lambda: Language Support
Your contract is your interface
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Managed externally
Platform features
Interface
Perfect world
Platform Application
Actual world
Platform Application
Grey area
Implemented world
Platform Application
Contract
Implemented world
Component
A
Component
B
Contract
Embrace dependencies
Order
Service
Product
Service
Artifact
Mgmt
Owner:
backoffice
team
Owner:
catalogue
team
Owner:
platform
team
Write documentation
Documentation
“Serverless”
“IaaS”
Levelofabstraction
“Bricks”
Platform
Documented by the external party
Documented by the platform team
Interface
AWS: Shared Responsibility Model
Shared Responsibility
● Git repository automation
● CI/CD autoscaling
● Network ACLs
● Kubernetes cluster
● Logging / Metrics agent on EC2,
listening on specific port
Platform Development
● Creating Git repositories
● CI/CD configuration
● Security groups
● Application in Kubernetes
● Shipping logs/metrics to specific
port
Continuously test your responsibility
● Are my agents autoscaling?
● Are my NACLs correct?
● Is my Kubernetes cluster stable?
● Are the logging/metrics agent operable?
→ Make this transparent!
Shift left
Idea Development ProductionStaging
Early feedback Late feedback
Codify your contract
execution:
- concurrency: 5
hold-for: 20m
ramp-up: 5m
scenarios:
requests:
- method: GET
url: https://example.com
modules:
blazemeter:
projectName: Team Name
testName: Test Name
modules:
blazemeter:
projectName: .*
testName: .*
Implementation Contract
Codify your contract
Best Really good
Codify your contract
execution:
- concurrency: 5
hold-for: 20m
ramp-up: 5m
scenarios:
requests:
- method: GET
url: https://example.com
modules:
blazemeter:
projectName: Team Name
Must specify testName:
https://url/to/docs
$> git clone example/template/skeleton
Codify your microservices
Default microservice
● Unit testing
● Integration testing
● Log example
● Metric example
● Secret example
● CI/CD to production
● ...
How to define your contracts
● Be aware of the contract and make the company aware
● Minimize the gray area
● Codify your contract
○ Shift left
○ Examples / blueprints
● Make sure the company understand the interface to your team
Collaborating with your users
AWS Lambda: Language Support
Scalable support
Developer: Hello, can you help me with “something” for feature X?
Platform: Did you check the docs for feature X?
Developer: Yes, but it doesn’t mention anything about “something”
Platform: I see, give me as second
Developer: Sure
Platform: I edited the docs to include “something”, does this answer
your question? https://github.com/org/docs/pull/1337
Developer: Totally, thanks!
Getting buy-in
Team Manifesto
We build everything with developers. We always select a pioneering team that has
interest in a new service/feature, and work with them to make sure we pick and
configure the right tool and solve the root problem.
Scalable support
Imagine… a power outage
You’re at home, watching TV, and BAM: TV is out, lights are out. What do you do?
● Check the other rooms to see the scope of the outage
● Check with the neighbours if it’s just your home or more
● Check with the power company
How to collaborate with your users
● Teach everyone how the platform works, in a scalable way
○ Documentation
○ Workshops
● Enable collaboration between development teams
● Make it clear how you work
Summarizing
1. You need a platform - and someone should own it
2. Always think about scale - both organizational and technical
3. Opinions are OK
4. Specify contracts, but be careful about what you support
5. Collaborate
Thank you!
Questions?
Skyworkz - https://skyworkz.nl
Sander Knape - https://sanderknape.com - @SanderKnape

Contenu connexe

Tendances

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
How to Build a Platform Team
How to Build a Platform TeamHow to Build a Platform Team
How to Build a Platform TeamVMware Tanzu
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
Beyond Engineering: The Future of Platforms @ CraftConf, May 2023
Beyond Engineering: The Future of Platforms @ CraftConf,  May 2023Beyond Engineering: The Future of Platforms @ CraftConf,  May 2023
Beyond Engineering: The Future of Platforms @ CraftConf, May 2023Manuel Pais
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachAsanka Abeysinghe
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service MeshAspen Mesh
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeWinWire Technologies Inc
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanAraf Karsh Hamid
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer ExperiencePamela Fox
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringWeaveworks
 
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021Manuel Pais
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Commit University
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPKAI CHU CHUNG
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSBhuvaneswari Subramani
 
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...Susanne Kaiser
 
AIOps - The next 5 years
AIOps - The next 5 yearsAIOps - The next 5 years
AIOps - The next 5 yearsMoogsoft
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 

Tendances (20)

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
How to Build a Platform Team
How to Build a Platform TeamHow to Build a Platform Team
How to Build a Platform Team
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
Beyond Engineering: The Future of Platforms @ CraftConf, May 2023
Beyond Engineering: The Future of Platforms @ CraftConf,  May 2023Beyond Engineering: The Future of Platforms @ CraftConf,  May 2023
Beyond Engineering: The Future of Platforms @ CraftConf, May 2023
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer Experience
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Migrating to the Cloud
Migrating to the CloudMigrating to the Cloud
Migrating to the Cloud
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCP
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
 
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
 
AIOps - The next 5 years
AIOps - The next 5 yearsAIOps - The next 5 years
AIOps - The next 5 years
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 

Similaire à Platform engineering 101

Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Daniel Zivkovic
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...GRUC
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...apidays
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesChakradhar Rao Jonagam
 
Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!Daniel Zivkovic
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsAmazon Web Services
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryAmazon Web Services
 
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...Daniel Bryant
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapDaniel Zivkovic
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?Haggai Philip Zagury
 
Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Luca Bianchi
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?The Software House
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsErik Osterman
 
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...AgileNetwork
 
Cloud-native Patterns
Cloud-native PatternsCloud-native Patterns
Cloud-native PatternsVMware Tanzu
 

Similaire à Platform engineering 101 (20)

Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer Tools
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless Recap
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Developing on AWS
Developing on AWSDeveloping on AWS
Developing on AWS
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?
 
Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
 
ansible_rhel_90.pdf
ansible_rhel_90.pdfansible_rhel_90.pdf
ansible_rhel_90.pdf
 
Cloud-native Patterns
Cloud-native PatternsCloud-native Patterns
Cloud-native Patterns
 

Dernier

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 FMESafe Software
 
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.pdfsudhanshuwaghmare1
 
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...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 FMESafe Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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 TerraformAndrey Devyatkin
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
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, Adobeapidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
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 educationjfdjdjcjdnsjd
 
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 DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

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
 
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
 
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...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Platform engineering 101

Notes de l'éditeur

  1. I mention it last but it should really be at top. Is all my data encrypted at rest? Is all traffic encrypted? What about patch management?
  2. And there is more. Networking, storage, distributed tracing, e.t.c.
  3. It’s expectation management that causes failure. If you underestimate the work required to get a solid platform up and running, you won’t have one and all developers will need longer to work on their applications.
  4. Components: see previous examples “Easy” is a vague word, but it should be your goal. Keep it easy. Developers are already doing complex things, they don’t need more. Note the word “Operate”: develops should operate their application in production. It’s 2019.
  5. First of all, it’s efficient. If every developers needs to solve I mentioned earlier, everyone is doing the same work. In fact, it takes specific knowledge. Because: slide with quote Responsibility / ownership. Everything should be owned.
  6. VPC’s in AWS are not hard, but also not trivial. Every developer can surely pick this up, but it’s not very efficient if every developers needs to understand it to this level.
  7. In other words: specific knowledge is required. Development teams own logical groups of services: Platform teams owns platform services Ownership is of course important in general. We’ll come back to who owns what later (contracts). Ownership is important, but no different from “normal” (other) applications. Which is the bridge to the next slide: there is no difference.
  8. Development teams own logical groups of services: Platform teams owns platform services Ownership is of course important in general. We’ll come back to who owns what later (contracts). Ownership is important, but no different from “normal” (other) applications. Which is the bridge to the next slide: there is no difference.
  9. “Specific knowledge” is also not rare. When a team builds an event sourcing mechanism… they need specific knowledge required for that.
  10. But I’ll just say “Platform team”
  11. Lambda was always opinionated. Introducing a new language takes time. And not only new languages: also version updates for existing languages (e.g. Python 2.7, 3.6, 3.7)
  12. Your best people will leave if they can not pick up work that excites them.
  13. Operational teams typically use Kanban instead of Scrum/sprints, because of the operational work that constantly comes in and that is also important. This means a lot of context switching, and constant battles about priority. If you work on “projects”, just like other development teams, this will happen way less.
  14. Provide self-service solutions for toil. The platform team does not have to be involved anymore.
  15. Provide self-service solutions for toil. The platform team does not have to be involved anymore.
  16. Also mention how this is the happy path. Dev may also say “I have no time” or “Where are the docs”. You have also raised awareness about documentation. You need to educate people that you work like this. More on education later.
  17. Last point is bridge to next section. Because “as simple as possible” typically means “opinionated”. Having to make choices leads to complexity.
  18. Back to the AWS Lambda example. Lambda has always been very opinionated: only a specific set of languages and versions was supported. That changed when they released custom runtimes. Still opinionated, but on a lower abstraction level.
  19. Going back to the previous point about organizational scalability: less orange scales better. Higher abstractions lead to more opinionated solutions. It means developers can easily use them, but are limited to what they can pick.
  20. When you lower the abstraction of your platform features, more responsibility goes to the developer. E.g. with Lambda again; Give us code in language X, version Y. High abstraction. Give us an HTTP endpoint. Lower abstraction. Contracts!
  21. Provide self-service solutions for toil. The platform team does not have to be involved anymore.
  22. Of course there is an alternative: running it yourself on EC2
  23. The team that does this themselves may go faster, because they use the tools they are familiar with. However, how much do you lose company-wide because of the fragmentation?
  24. The team that does this themselves may go faster, because they use the tools they are familiar with. However, how much do you lose company-wide because of the fragmentation?
  25. Again back to the AWS Lambda example. When they released custom runtimes - and became a bit less opinionated - they changed their contract. Or actually: appended it Before: give us a function in language X, version Y Now: either this ^^ or: provide us an HTTP endpoint that we’ll sent a specific request to
  26. Contract can be “double”: either specific use of feature, or lower abstraction.
  27. So a contract says: “this is where the platform ends, and this is where you come in”.
  28. Same when one microservice is talking to another. Underlying implementation is hidden away. Makes life easier for everyone.
  29. The (REST) contract to another microservice is typically very clear. Do the same with your platform interfaces.
  30. The (REST) contract to another microservice is typically very clear. Do the same with your platform interfaces.
  31. Blazemeter example: if you want to know how to create the YAML, check the blazemeter documentation.
  32. The way you work together with the platform team is also a “contract”.
  33. Again, AWS Lambda. If you would ask AWS to add an additional language, do you think they would do it? If you would ask AWS to increase the maximum timeout time - just for you - would they do it? How is that any different from asking your platform team? How do you expect either AWS or your Ops team to prioritize your request?
  34. This is “helping”. Not only the question they asked, but also that this is the way we provide support.
  35. The team that does this themselves may go faster, because they use the tools they are familiar with. However, how much do you lose company-wide because of the fragmentation?
  36. “Collaboration” is also making sure developers collaborate with each other.
  37. Of course if there is a big production outage, you may want to involve other teams sooner.