Platform Engineering:
Why and How to start

Serg Hospodarets

DevOps and Web contributor:
contributed to Terraform, ECMAScript/JS and Chrome

My path

Platforms Creator

Title Managed team size
Tech Lead, Architect ~10
Engineering Manager ~20
Director of Engineering 50+
SDirE, Global Head of Eng. 100+

What problem do we try to solve
and Why Platform Engineering?

🏦 Business problem

- Finance (CFO): Cost effective software development cycle!

- Product (CPO): We want to decrease time to market

- Security (CIO): We want to be able to introduce and change security checks and deliver fast security fixes and updates across the products

 

- CPeopleO, leaders: Provide more common tech stack to simplify the hiring, and more up-to-date to improve eNPS

- Architects: We want to enforce a common architecture (golden path)

- Engineering: We want to quickly create apps and be able to run them, but concentrate on features

- Operations: We want to run apps as blackboxes, and not care what is inside

 

- COO: We want to acquire a company, are we able to integrate acquired company tech?

- Board: You have 1 year to do all this, otherwise we sell the company 😳

Organization Problem
💰 Finance (CFO) Cost
Product (CPO) ⏰ Time to market
🔐 Security (CIO) - security checks
- fast security fixes
Leaders, CPeopleO - more common and modern tech stack
COO 📊 Be ready for M&A
Board, CEO Fast results and future projection
🏛 Architects Common architecture
Eng. and Operations Less cognitive load

Problems we encountered

COMPLEXITY GREW EXPONENTIALLY 👉

Cognitive load 
and complexity 

 👈 Each team used different tooling, providers...

DevOps is a good start, but...

Problem: How do we apply DevOps?

Organization structure

Problem: How do we apply Team Topologies?

So why we adopted Platform Engineering?

1. Way to apply DevOps principles in practice in large orgs.

2. Helps to enable Team Topologies

How to create Platform Engineering org?
(details and demo)

1. Tooling Demo: Engineering Portal

Platform stage at this point: Childhood

Typical team structure

Development

Platform

overview

2. Tooling Demo: Front-End

- Storybook - Frontend workshop for UI development (React, Vue, Angular, JS)

- Create React apps self-service - Provide own app templates

- Customize app config - own app configs

3. Tooling Demo: Configurable Microservices/Apps self-service

Platform stage at this point: Adolescence

Typical team structure

Development

Platform

overview

A curated list of tools and resources for Platform Engineering.

4. Tooling: Upgradability

- Use for automated rollout of new features and versions across Platform customers

Front-End: Codeshift / Codemods

Microservices, apps and infra: JHipster Upgrading application

Dependencies: Renovate- multi-platform and multi-language.

Platform stage at this point: Maturity

Typical team structure

Development

Platform

overview

What was achieved

- 50+ platform-based applications delivered to customers

- 100+ platform-based microservices

- 20+ platform-based microfrontends

- time for app MVP to production decrease 2.3 times (p95)

- MTTR decreased from 9 to 4 hours

- Availability improved from 95% to 99.999% (up to ~5 min/year down)

- eNPS score improved for +12

Tips from experience

- Pilot team(s) is super important to become evangelists

 

- Treat Platform as a product:
1. Internal teams are your customers: provide support, Slack etc. channels

2. Invest in Platform PM and DevX culture

3. Evangelise- regular releases, demos, newsletters

 

- For UI adoption put heads together with the UX, infra- DevOps, security- SecOps

- Cooperate with Architects/Directors/VP/CTO across the org

 

- Jackpot Platform strategy- find a way and deliver your platform to your company customers

Inspirational 🗣

- Prefer golden path over golden cage

- Target the right level of abstraction

- Establish the proper "X-as-Service" or similar definitions for each team

- Foster the Pull vs Push culture

- Work with leadership for a top-down support for bottom-up enablement

Outcomes for
🏦 business problems

Problem Outcome
⏰ Time to market Allowed to switch from 3 months product releases to weekly.
Lead time went from 9 days to 6 hours
🔐 security checks
- fast security fixes
Common Platform security guardrails (shared CI/CD)
Supply chain fixes delivered in ~3 hours to prod across portfolio
- better tech stack Common and latest tech. stack used across 82 percentile of projects
Be ready for M&A An acquired company fully migrated their stack in 4 months 
Future projection Marketing and Sales provided full support as only customers got access to Platform
Less cognitive load Time to onboarding decreased 2.3 times
💰 Cost Onboarding, common features rollout, Upgradability cost save

THANK YOU!

Serg Hospodarets 

 

 

 

 

 

Made with Slides.com