SlideShare a Scribd company logo
Scaling a Serverless Developer Platform for Teams
Mikael Vesavuori
Scaling a serverless developer platform for teams
# 1
- Get a sense of how serverless offers a paradigm that is easier and more effective
to implement for typical teams
Scaling a serverless developer platform for teams
# 1 # 2
- Understand the variety of “developer platforms” you can use to empower developers
and streamline development
Scaling a serverless developer platform for teams
# 1 # 2
# 3
- Look at some examples of developer platforms I’ve helped set up


- Sharing of some key learnings
- Cloud Software Architect and Technical Standards Lead at Polestar


- Experience with developer platforms with Humblebee, Volvo Group Connected Solutions
(Volvo Autonomous), Mölnlycke Health Care, Polestar


- Makes a lot of open source and writes on Medium


- Serverless and cloud-native fan for 5+ years


- https://mikaelvesavuori.se
Who am I?
No platform, no job…?
Serverless?
https://www.youtube.com/watch?v=AXxr0pghWS0
Cloudy with a chance of Kubernetes
Kubernetes is the wrong abstraction
So hard and “chorey” it’s a meme
https://www.cncf.io/blog/2022/03/07/devops-why-it-is-misunderstood-what-it-always-should-have-been/
But there is!
Serverless
- Typically short-running


- On-demand


- Stateless


- Pay per execution


- Managed


- Auto-scaling
Common identifiers for a serverless service
- Global scaling with much less effort


- Faster to get going


- Less/no undifferentiated heavy lifting


- Less/no maintenance


- “Higher abstraction” means less need for deep expertise


- High developer experience (DX)


- Ideal with microservice architecture


- Not just functions-as-a-service: serverless databases, messaging, etc.
Benefits
Gateway pattern
Event-driven (async) pattern
Actually not bullshit that it “just needs a YAML file”
- Microservices and serverless functions place a big burden on developers to be mature
and stringent enough to write acceptable, "correct" services


- Can be harder to monitor depending on your setup and operations (can also be
relatively easy if you go all-in)


- Can be hard to figure out all potential hacking scenarios, involving for example event
injection


- Easy to get identity and access management (including permissions) wrong with
serverless functions, potentially evolving into security problems


- Can be hard to stitch together stepped events if your use case cannot be covered by
native cloud event sourcing - requires clarity on workflows/sagas and similar
Negative traits of serverless (esp. FaaS)
Developer platform?
- As little as a text document


- As much as a full, unique proprietary product


- Enables self-service: for example RBAC, environment provisioning, infrastructure
management, templates, and more


- Self-service <——> DevOps


- Some degree of centralization around the “platform” required
What is a developer platform?
Devs gonna dev…and gonna platform…and…?
- Backstage


- Humanitec


- Upbound


- DevOpsBox


- Shipa


- Begin (?)


- AWS Proton


- AWS Service Catalog


- …
What options are there?
Backstage
Humanitec
AWS Proton
How low can you go?
Netlify (+ maybe some minimalistic framework like Svelte)
Vercel
The direction seems to be moving to even higher-level abstractions
Begin
Begin
!
Architect
Anyway, let’s move on now
Time for a bit of history
1 developer


1 designer
- Created multiple boilerplates for front-end projects to minimize time waste and scaffolding


- Created style guides and design-to-code abilities with tokens; actually fairly early!


- Improved and adjusted patterns that I found were poor practice from other, more typical offerings


- Open sourced these (my first OSS projects!)
How I began
Anyone remember this bird?
🪦
Or the big drink?
🪦
- Yep, absolutely use a code-oriented way to store, manage, and create tooling


- It’s well worth providing the full monty: linting to structure to deploying


- Learned a lot of soft skills involved: Project hygiene, documentation, DX…


- Gave a good head-start on automation tooling


- Did not meaningfully affect anyone other than me, though
Outcome and lessons learned
10+ developers


~3 designers


Lots of projects
Startup time = a financial liability
- At Humblebee, I evolved the same kind of “all-in-one” tooling


- Conformity and set good opinionated defaults for cross-functional requirements such as
performance, security, offline support…


- One toolbox to enable scaling from MVP to production


- Move devs into “one way of working”


- “Progressiveness” in tooling choices


- Help transition from web sites to web applications


- Bet on React, Webpack, PWA


- Introduce CI/CD and modern web tooling like Netlify


- Go serverless
Scaling to applications at Humblebee
Be faster
Actually, be 100x faster
No more than 4:48
We met this goal and could typically set up a frontend application with a serverless backend in around 4 minutes.
- Yep, absolutely use fully managed services with high DX


- Created a software platform that devs were encouraged to co-own (inner source)


- Devs felt they could get going fast


- Good way to learn new technology inside the company


- Drastically improved our race to build applications (from practically zero)


- Drastically decreased risk and time-to-start


- Easy to onboard our bi-yearly Hive students
Outcome and lessons learned
Approach I have used with Polestar (and elsewhere)
WHAT


Should be able to go from zero to deployed service in minutes, while having guardrails in place
to ensure maximum “playing field” without creating issues as they evolve.


HOW


Developer have a stable starting point, yet have full authority to adapt their scaffold as needed
and create required infrastructure.
Ambition
- Cloud-native


- DevOps


- Infrastructure as Code


- Serverless


- Microservices


- Fully managed


- Decoupled and headless


- SaaS-type solutions for non-unique requirements
Principles (that will usually be “right”)
Create a clear, transparent, opinionated platform from scratch based on architectural primitives
(services) from the cloud.


- Platform Team maintains the developer-facing tools and acts as support


- Provide “glue” tooling and opinions for things that devs may not think a lot about


- Provide CI/CD pipelines with “GitOps”-type operations where CI makes the changes


- Application boilerplates (Node, .NET, GraphQL) a core component of the overall platform


- Remove decisions that can be centrally made (for example language support)


- No need to individually be responsible for all the concerns to be compliant with our guidelines
Approach I’ve used with Polestar (and elsewhere)
User access control (meta, pre-requisite)


- Developers get an SSO profile in the cloud + source code system


CI/CD


- Use a fully managed, hosted solution like GitHub, GitLab, Bitbucket, AWS CodeBuild…


- Team start with a working (managed) pipeline, but get to own and modify it as they need


- CI has restricted set of rights to deploy into lifecycle environments


Infrastructure provisioning


- Terraform, CDK, Serverless Framework, “native” (CloudFormation, ARM, and similar)


- IAC + CI/CD means we have completely deterministic runs


Environment management


- Use minimal env count; make them exact clones; use software-defined stages as far as possible


Network


- Cloudflare, AWS Route53…


Documentation


- Generate and distribute documentation during CI
Tools
Generalized examples incoming
Serverless and “everything-as-code” is an ideal, lightweight combo. No need for anything more complex!


- We are not a full IDP because we don’t have to be!


- The solutions I have worked on have (so far) not required an “actual” platform as a piece of
software to go in between the developer and our environments


- Dev Platforms are very Kubernetes-oriented? They seem to need to move up the abstraction layers…?


- I (and devs!) seem to have been happy with “less sophisticated” approaches this far


- Don’t abstract too much; no reason to become an expert in a non-standard, proprietary tool


- Instead, automate most of the parts that are needed for a developer (or team) to be productive


- Don’t underestimate churn and maintenance of keeping a big platform floating
Our platform is not a “real” IDP - and it’s OK!
Lessons learned
- Don’t assume you need a big “platform” to be helpful


- Your platform should be dead easy - no reason to be “good at it”


- Architecture and tech choices need to be crystal clear - since the platform will high-speed them


- Don’t make it bigger than you can meaningfully support
Lesson #1: Bigger is not always better
- Use an open-source or inner-source approach


- You will need to set up processes and communicate standards for contributions


- Spend time documenting


- Talk about the platform, show the platform, create internal ambassadors


- Train yourself with your own (or by supporting existing) open source software


- Assume that OSS might very well have higher standards than closed source!
Lesson #2: Make it open
- Make it “easy to do the right thing” and “hard to do it wrong”


- Enable people to do their own job without asking for help or guidance plus update stuff as they go along


- IMO, the most significant parts you can do are:


- 1. Provide the minimum viable code base for a typical application


- 2. Provide plumbing + access so applications can go from localhost to production with no/minimal
specialized skills


- It’s not just about providing the “hard” tech - don’t forget about docs, discoverability etc
Lesson #3: Champion a self-service approach
https://github.com/mikaelvesavuori/catalogist + https://github.com/mikaelvesavuori/better-apis-workshop
Lesson #4: Platform interaction must be just that
- Easy to break stuff if communications and expectations are not explicit and known


- Platform teams should be precisely that; nothing else


- Can be hard to make traditional orgs understand the value of platform teams


- Learn from Team Topologies
https://teamtopologies.com
- Don’t trivialize the skills bump but don’t make everything sound like magic either


- Onboarding is important


- Rapid enablement can create ignorance which can lead to dangerous “mindtraps”


- Provide training for the core skills (ex. IAC) if not abstracting them fully
Lesson #5: Learning is harder than you think
In conclusion
- Serverless offers a paradigm that is easier and more effective to implement for many teams


- An IDP wraps a set of tools together to empower developers and streamline development - it can be
super elaborate or very simple


- The end goal of such platforms is to make business value creation easier, faster, more stable


- At Polestar, our Platform team provides and maintains a set of serverless-oriented internal
products and starters for teams to use


- The key takeaway is that you should definitely think of how a platform could serve you and your
context, but that it’s not going to be a one-size-fits-all solution, plus it’s easier to think
about tech stacks more than (the actually hard stuff) around “softer” issues like onboarding,
training, documentation, learning, platform ops, and such
In conclusion
- https://www.youtube.com/watch?v=AXxr0pghWS0


- https://thenewstack.io/do-you-need-an-internal-developer-platform/


- https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/


- https://www.cncf.io/blog/2022/03/07/devops-why-it-is-misunderstood-what-it-always-should-have-been/


- https://teamtopologies.com


- https://github.com/TeamTopologies/Thinnest-Viable-Platform-examples


- https://github.com/mikaelvesavuori/


- https://backstage.io


- https://humanitec.com


- https://aws.amazon.com/proton/


- https://fwa.dev


- https://www.netlify.com


- https://vercel.com


- https://begin.com


- https://www.humblebee.se
References

More Related Content

Similar to Scaling a Serverless Developer Platform for Teams

"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 Fwdays
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Jon Petter Hjulstad
 
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
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?Utsav Parashar
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseXebiaLabs
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APIVictorSzoltysek
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsJeremy Brown
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptxTurja Narayan Chaudhuri
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comSalesforce Engineering
 
XebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixAbigail Bangser
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...OpenWhisk
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 

Similar to Scaling a Serverless Developer Platform for Teams (20)

"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
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
 
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 ?
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI API
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
DevOps-Roadmap
DevOps-RoadmapDevOps-Roadmap
DevOps-Roadmap
 
XebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphere
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing Kratix
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
 
IBM Bluemix Openwhisk
IBM Bluemix OpenwhiskIBM Bluemix Openwhisk
IBM Bluemix Openwhisk
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 

Recently uploaded

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
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
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
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.pdfFIDO Alliance
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
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 LLMsPaul Groth
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
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
 
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 ParametersSafe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 

Recently uploaded (20)

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
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...
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
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
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
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
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
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...
 
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
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

Scaling a Serverless Developer Platform for Teams

  • 1. Scaling a Serverless Developer Platform for Teams Mikael Vesavuori
  • 2. Scaling a serverless developer platform for teams # 1 - Get a sense of how serverless offers a paradigm that is easier and more effective to implement for typical teams
  • 3. Scaling a serverless developer platform for teams # 1 # 2 - Understand the variety of “developer platforms” you can use to empower developers and streamline development
  • 4. Scaling a serverless developer platform for teams # 1 # 2 # 3 - Look at some examples of developer platforms I’ve helped set up - Sharing of some key learnings
  • 5. - Cloud Software Architect and Technical Standards Lead at Polestar - Experience with developer platforms with Humblebee, Volvo Group Connected Solutions (Volvo Autonomous), Mölnlycke Health Care, Polestar - Makes a lot of open source and writes on Medium - Serverless and cloud-native fan for 5+ years - https://mikaelvesavuori.se Who am I?
  • 6.
  • 7.
  • 8.
  • 9. No platform, no job…?
  • 12. Cloudy with a chance of Kubernetes
  • 13. Kubernetes is the wrong abstraction
  • 14. So hard and “chorey” it’s a meme
  • 15.
  • 16.
  • 17.
  • 19.
  • 22. - Typically short-running - On-demand - Stateless - Pay per execution - Managed - Auto-scaling Common identifiers for a serverless service
  • 23. - Global scaling with much less effort - Faster to get going - Less/no undifferentiated heavy lifting - Less/no maintenance - “Higher abstraction” means less need for deep expertise - High developer experience (DX) - Ideal with microservice architecture - Not just functions-as-a-service: serverless databases, messaging, etc. Benefits
  • 24.
  • 25.
  • 28. Actually not bullshit that it “just needs a YAML file”
  • 29.
  • 30.
  • 31. - Microservices and serverless functions place a big burden on developers to be mature and stringent enough to write acceptable, "correct" services - Can be harder to monitor depending on your setup and operations (can also be relatively easy if you go all-in) - Can be hard to figure out all potential hacking scenarios, involving for example event injection - Easy to get identity and access management (including permissions) wrong with serverless functions, potentially evolving into security problems - Can be hard to stitch together stepped events if your use case cannot be covered by native cloud event sourcing - requires clarity on workflows/sagas and similar Negative traits of serverless (esp. FaaS)
  • 33. - As little as a text document - As much as a full, unique proprietary product - Enables self-service: for example RBAC, environment provisioning, infrastructure management, templates, and more - Self-service <——> DevOps - Some degree of centralization around the “platform” required What is a developer platform?
  • 34. Devs gonna dev…and gonna platform…and…?
  • 35.
  • 36.
  • 37.
  • 38. - Backstage - Humanitec - Upbound - DevOpsBox - Shipa - Begin (?) - AWS Proton - AWS Service Catalog - … What options are there?
  • 42. How low can you go?
  • 43.
  • 44. Netlify (+ maybe some minimalistic framework like Svelte)
  • 46. The direction seems to be moving to even higher-level abstractions
  • 47. Begin
  • 49.
  • 50.
  • 53.
  • 54. Time for a bit of history
  • 56. - Created multiple boilerplates for front-end projects to minimize time waste and scaffolding - Created style guides and design-to-code abilities with tokens; actually fairly early! - Improved and adjusted patterns that I found were poor practice from other, more typical offerings - Open sourced these (my first OSS projects!) How I began
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Anyone remember this bird? 🪦
  • 62. Or the big drink? 🪦
  • 63.
  • 64. - Yep, absolutely use a code-oriented way to store, manage, and create tooling - It’s well worth providing the full monty: linting to structure to deploying - Learned a lot of soft skills involved: Project hygiene, documentation, DX… - Gave a good head-start on automation tooling - Did not meaningfully affect anyone other than me, though Outcome and lessons learned
  • 66. Startup time = a financial liability
  • 67. - At Humblebee, I evolved the same kind of “all-in-one” tooling - Conformity and set good opinionated defaults for cross-functional requirements such as performance, security, offline support… - One toolbox to enable scaling from MVP to production - Move devs into “one way of working” - “Progressiveness” in tooling choices - Help transition from web sites to web applications - Bet on React, Webpack, PWA - Introduce CI/CD and modern web tooling like Netlify - Go serverless Scaling to applications at Humblebee
  • 70. No more than 4:48 We met this goal and could typically set up a frontend application with a serverless backend in around 4 minutes.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. - Yep, absolutely use fully managed services with high DX - Created a software platform that devs were encouraged to co-own (inner source) - Devs felt they could get going fast - Good way to learn new technology inside the company - Drastically improved our race to build applications (from practically zero) - Drastically decreased risk and time-to-start - Easy to onboard our bi-yearly Hive students Outcome and lessons learned
  • 80. Approach I have used with Polestar (and elsewhere)
  • 81. WHAT Should be able to go from zero to deployed service in minutes, while having guardrails in place to ensure maximum “playing field” without creating issues as they evolve. HOW Developer have a stable starting point, yet have full authority to adapt their scaffold as needed and create required infrastructure. Ambition
  • 82. - Cloud-native - DevOps - Infrastructure as Code - Serverless - Microservices - Fully managed - Decoupled and headless - SaaS-type solutions for non-unique requirements Principles (that will usually be “right”)
  • 83. Create a clear, transparent, opinionated platform from scratch based on architectural primitives (services) from the cloud. - Platform Team maintains the developer-facing tools and acts as support - Provide “glue” tooling and opinions for things that devs may not think a lot about - Provide CI/CD pipelines with “GitOps”-type operations where CI makes the changes - Application boilerplates (Node, .NET, GraphQL) a core component of the overall platform - Remove decisions that can be centrally made (for example language support) - No need to individually be responsible for all the concerns to be compliant with our guidelines Approach I’ve used with Polestar (and elsewhere)
  • 84. User access control (meta, pre-requisite) - Developers get an SSO profile in the cloud + source code system CI/CD - Use a fully managed, hosted solution like GitHub, GitLab, Bitbucket, AWS CodeBuild… - Team start with a working (managed) pipeline, but get to own and modify it as they need - CI has restricted set of rights to deploy into lifecycle environments Infrastructure provisioning - Terraform, CDK, Serverless Framework, “native” (CloudFormation, ARM, and similar) - IAC + CI/CD means we have completely deterministic runs Environment management - Use minimal env count; make them exact clones; use software-defined stages as far as possible Network - Cloudflare, AWS Route53… Documentation - Generate and distribute documentation during CI Tools
  • 86.
  • 87.
  • 88.
  • 89. Serverless and “everything-as-code” is an ideal, lightweight combo. No need for anything more complex! - We are not a full IDP because we don’t have to be! - The solutions I have worked on have (so far) not required an “actual” platform as a piece of software to go in between the developer and our environments - Dev Platforms are very Kubernetes-oriented? They seem to need to move up the abstraction layers…? - I (and devs!) seem to have been happy with “less sophisticated” approaches this far - Don’t abstract too much; no reason to become an expert in a non-standard, proprietary tool - Instead, automate most of the parts that are needed for a developer (or team) to be productive - Don’t underestimate churn and maintenance of keeping a big platform floating Our platform is not a “real” IDP - and it’s OK!
  • 91. - Don’t assume you need a big “platform” to be helpful - Your platform should be dead easy - no reason to be “good at it” - Architecture and tech choices need to be crystal clear - since the platform will high-speed them - Don’t make it bigger than you can meaningfully support Lesson #1: Bigger is not always better
  • 92. - Use an open-source or inner-source approach - You will need to set up processes and communicate standards for contributions - Spend time documenting - Talk about the platform, show the platform, create internal ambassadors - Train yourself with your own (or by supporting existing) open source software - Assume that OSS might very well have higher standards than closed source! Lesson #2: Make it open
  • 93. - Make it “easy to do the right thing” and “hard to do it wrong” - Enable people to do their own job without asking for help or guidance plus update stuff as they go along - IMO, the most significant parts you can do are: - 1. Provide the minimum viable code base for a typical application - 2. Provide plumbing + access so applications can go from localhost to production with no/minimal specialized skills - It’s not just about providing the “hard” tech - don’t forget about docs, discoverability etc Lesson #3: Champion a self-service approach
  • 95. Lesson #4: Platform interaction must be just that - Easy to break stuff if communications and expectations are not explicit and known - Platform teams should be precisely that; nothing else - Can be hard to make traditional orgs understand the value of platform teams - Learn from Team Topologies
  • 97. - Don’t trivialize the skills bump but don’t make everything sound like magic either - Onboarding is important - Rapid enablement can create ignorance which can lead to dangerous “mindtraps” - Provide training for the core skills (ex. IAC) if not abstracting them fully Lesson #5: Learning is harder than you think
  • 99. - Serverless offers a paradigm that is easier and more effective to implement for many teams - An IDP wraps a set of tools together to empower developers and streamline development - it can be super elaborate or very simple - The end goal of such platforms is to make business value creation easier, faster, more stable - At Polestar, our Platform team provides and maintains a set of serverless-oriented internal products and starters for teams to use - The key takeaway is that you should definitely think of how a platform could serve you and your context, but that it’s not going to be a one-size-fits-all solution, plus it’s easier to think about tech stacks more than (the actually hard stuff) around “softer” issues like onboarding, training, documentation, learning, platform ops, and such In conclusion
  • 100.
  • 101. - https://www.youtube.com/watch?v=AXxr0pghWS0 - https://thenewstack.io/do-you-need-an-internal-developer-platform/ - https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/ - https://www.cncf.io/blog/2022/03/07/devops-why-it-is-misunderstood-what-it-always-should-have-been/ - https://teamtopologies.com - https://github.com/TeamTopologies/Thinnest-Viable-Platform-examples - https://github.com/mikaelvesavuori/ - https://backstage.io - https://humanitec.com - https://aws.amazon.com/proton/ - https://fwa.dev - https://www.netlify.com - https://vercel.com - https://begin.com - https://www.humblebee.se References