SlideShare a Scribd company logo
Confidential │ ©2018 VMware, Inc.
Delivering Developer
Portals as a Service
VMware’s Journey to Create an
Enterprise Platform for Developer
Engagement
Richard Thomchick
Product Manager,
Developer Experience
November 2018
Agenda
3Confidential │ ©2018 VMware, Inc.
The Evolution of VMware APIs
Dev Center Framework Overview
Herding the Cats: API Explorer
Embracing the Community: Sample Exchange
Streamlining Content Management: DxPress
What’s Next: VMware {code} 2.0
Lessons Learned
4Confidential │ ©2018 VMware, Inc.
• BA degree is Lit, Master degree is Library and Information Science (how did I get here?)
• Have been serving enterprise developers since 1999 (RIP Linuxcare)
• Beaten in razor scooter race by Linus Torvald in 2000
• At VMware since 2007 in various positions (marketing, customer experience, R&D)
• AM NOT the person who owns API design or documentation
• AM the person who presents the docs to end users (and takes their complaints)
• Docs are critical and represent 50% of my site’s traffic
Who Am I?
I promise this is the only slide with bullets
5Confidential │ ©2018 VMware, Inc.
The Evolution of VMware APIs
From vSphere to the Hybrid Cloud
vSphere
APIs
VIC
CLI
On-Prem
Plugins
APIs
Hybrid
Cloud
vRealize
Cloud
Foundry
SaaS
VMware
Cloud
AWS
Docker
Kubernetes
Jenkins
Azure
Plugins
EUC
Identity
Manager
AirWatch
NSX
vSAN
PKS
VKE
Horizon
6Confidential │ ©2018 VMware, Inc.
The Evolution of VMware APIs
A Typical VMware Integration Project
vRealize Lifecycle Manager
Dell-EMC Storage Dell-EMC VIPRSRM
VMware NSXvRealize Automation
vRealize Orchestrator
API Integration
vRealize OperationsManager
vRealize LogInsight
API Integration
Content Pack
API Integration
Dell-EMC DataProtection
vSphereClient &vCenter
API Integration
Management Pack
API Integration
Dell-EMC VIPR Solution Pack
Plugin
Management Pack
SiteRecoveryManager
Solution Pack
API Integration
Plugin
Management Pack
API Integration
Plugin
Plugin
API Integration
Plugin
Plugin
Custom
Custom
API Integration
Custom
Custom
API Integration
Custom
7Confidential │ ©2018 VMware, Inc.
The Need for a More Scalable Solution
Monthly average volume of content requests
25-30 Tickets
Monthly average time spent on content tasks
80-100 Hours
Average time to complete each content request
8-10 Days10x
More Content
Contributors
100%
Increase in page
views and visitors
+ xxx
More pages on
the website
6,000+
New Community
Members
Overhead for Engineering
Growth Since January 2017 Launch
VMware {code} has grown, and so has our overhead
8Confidential │ ©2018 VMware, Inc.
The Need for a More Scalable Solution
Projecting the break point for sustainability
0
20
40
60
80
100
120
140
2014 2016 2018 2020
API Growth vs. Engineering Story Points
Growth Capacity
9Confidential │ ©2018 VMware, Inc.
Dev Center Framework Overview
Deliver All Developer Resources as a Service to Developers on Any Device
DxPress Portal
CICDPipeline
Hybrid
On-Prem
SaaS
Other products
vSphere
{code}
VMC-AWS
Access PointsContentSources
3rd-party
services
Blogs
GitHub
Internal
repositories
Developer Content
API Docs
Developer
Guides
Code
Samples
How-to
Articles
Video
Tutorials
UI/UX Frameworks
Clarity + Angular (in-product)Bootstrap (website)
Common Services
API Explorer
Sample Exchange
Acrolinx
Other web services
DevCenter Framework
10Confidential │ ©2018 VMware, Inc.
Dev Center Framework in Action
VMware Cloud on AWS
11Confidential │ ©2018 VMware, Inc.
Herding the Cats: API Explorer
vSphere
12+ APIs
REST & SOAP
OSS & Proprietary
vRealize Automation
30+ APIs
30+ Swagger Docs
SaaS & On-Prem
Workspace ONE
700+ APIs
5+ Swagger Docs
3+ Authorization Models
12Confidential │ ©2018 VMware, Inc.
Herding the Cats: API Explorer
Open source. API driven. Container friendly.
vSphere
12 APIs
REST & SOAP
OSS & Proprietary
vRealize Automation
30+ APIs
30+ Swagger Docs
SaaS & On-Prem
Workspace ONE
700+ APIs
5+ Swagger Docs
3+ Authorization Models
Clarity UX Framework Swagger UI
REST API
GitHub GitLabInternal Build System
VMware{code} API Explorer
Website
V
StandaloneApp ProductPlugin
13Confidential │ ©2018 VMware, Inc.
Herding the Cats: API Explorer
Product plugin experience
14Confidential │ ©2018 VMware, Inc.
Herding the Cats: API Explorer
API Explorer “2.0” on website
15Confidential │ ©2018 VMware, Inc.
Embracing the Community: Sample Exchange
Community powered. API driven. GitHub friendly.
16Confidential │ ©2018 VMware, Inc.
Embracing the Community: Sample Exchange
Syndication and curated collections
17Confidential │ ©2018 VMware, Inc.
Streamlining Content Management: DxPress
DxPress is “Developer Experience Press” … it’s like WordPress for Developer Content
18Confidential │ ©2018 VMware, Inc.
Publishing Content Prior to DxPress
Create Page on Staging
Publish Page to
Production
1-2 days 1-2 days6-8 days
CMS task (web content) Eng. task (help) Email queryDAM task (digital assets) Review task
Typical Tasks Involved:
Old Workflow: Creating a New SDK Page (8-10 Days!)
Content tasks were only a small part of the process
New DxPress Workflow: Creating a New SDK Page (8-10 Minutes!)
1-2 days … including turnaround time for emails and reviews
19Confidential │ ©2018 VMware, Inc.
DxPress in Action
100% of content tasks performed by end users
0 Help Tickets
Engineering team went out for lunch and movies
0 Engineering Hours
vs. 3-4 weeks of prep and testing before DxPress
3 Days to Complete23 Users
Accessed the
DxPress portal
8-9 SDKs
Updated for
vSphere and vSAN
130 Docs
Contributed
via DxPress
28 APIs
Updated for
vSphere and vSAN
Overhead for VMware R&D
Usage Metrics for DxPress
vSphere 6.7 U1 Release
20Confidential │ ©2018 VMware, Inc.
What’s Next: VMware {code} 2.0
One developer experience, accessible from any device, on the web and in-product
21Confidential │ ©2018 VMware, Inc.
Best Practices, Lessons Learned, Work Still to be Done
Don’t Try This at Home
Validated Research
Lean UX Design
Constant Contact
Relentless Automation
Beware of Dependency Hell
Don’t Build a Rocket Ship for a Trip to the Greengrocer
22Confidential │ ©2018 VMware, Inc.
Join VMware {code}
code.vmware.com/join
Subscribe to the newsletter
code.vmware.com/newsletter
Read our blog
blogs.vmware.com/code
Follow us on Twitter
twitter.com/vmwarecode
Learn More
Herd Them Kitties All the
Way to the Link Farm ….
Confidential │ ©2018 VMware, Inc.

More Related Content

What's hot

Game Kettle Feb 2014 Gateshead
Game Kettle Feb 2014 GatesheadGame Kettle Feb 2014 Gateshead
Game Kettle Feb 2014 Gateshead
Lee Stott
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
Eran Stiller
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
VMware Tanzu
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 Overview
Jean Machuca
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resume
Mastinder Singh
 
Cloud Native Operations
Cloud Native OperationsCloud Native Operations
Cloud Native Operations
Michael Mueller
 
CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?
Grace Jansen
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
Davide Benvegnù
 
SPFx (SharePoint Framework)
SPFx (SharePoint Framework)SPFx (SharePoint Framework)
SPFx (SharePoint Framework)
Małgorzata Borzęcka
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devops
Damien Caro
 
Arquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com JavaArquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com Java
Otávio Santana
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...martinlippert
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - Kochi
Amal Dev
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
VMware Tanzu
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
Eric Wendelin
 
The Twelve-Factor App
The Twelve-Factor AppThe Twelve-Factor App
The Twelve-Factor App
Simon Vocella
 
2022 Google Academy
2022 Google Academy 2022 Google Academy
2022 Google Academy
AleksaKomosar
 
Artificial Intelligence as a Service
Artificial Intelligence as a ServiceArtificial Intelligence as a Service
Artificial Intelligence as a Service
Rick Osowski
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Kai Wähner
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
Chris Richardson
 

What's hot (20)

Game Kettle Feb 2014 Gateshead
Game Kettle Feb 2014 GatesheadGame Kettle Feb 2014 Gateshead
Game Kettle Feb 2014 Gateshead
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 Overview
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resume
 
Cloud Native Operations
Cloud Native OperationsCloud Native Operations
Cloud Native Operations
 
CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 
SPFx (SharePoint Framework)
SPFx (SharePoint Framework)SPFx (SharePoint Framework)
SPFx (SharePoint Framework)
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devops
 
Arquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com JavaArquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com Java
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - Kochi
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
The Twelve-Factor App
The Twelve-Factor AppThe Twelve-Factor App
The Twelve-Factor App
 
2022 Google Academy
2022 Google Academy 2022 Google Academy
2022 Google Academy
 
Artificial Intelligence as a Service
Artificial Intelligence as a ServiceArtificial Intelligence as a Service
Artificial Intelligence as a Service
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
 

Similar to VMware's Journey to Deliver Developer Portals as a Service

Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Brian Culver
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
Amazon Web Services
 
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
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
{code}
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
Amazon Web Services
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangSpiffy
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
Brian Culver
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
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
Walid Shaari
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale Organizations
XebiaLabs
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Luis Martins
Luis MartinsLuis Martins
Luis Martins
joaogoncalves
 
Modernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWSModernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWS
Amazon Web Services
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
Paul Czarkowski
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStar
Amazon Web Services
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
Filipe Miranda
 
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Amazon Web Services
 
Getting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" ProjectGetting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" Project
TIBCO Jaspersoft
 

Similar to VMware's Journey to Deliver Developer Portals as a Service (20)

Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
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
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David Tang
 
Williams_Brian_Resume
Williams_Brian_ResumeWilliams_Brian_Resume
Williams_Brian_Resume
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
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
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale Organizations
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Luis Martins
Luis MartinsLuis Martins
Luis Martins
 
Modernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWSModernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWS
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStar
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
 
Getting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" ProjectGetting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" Project
 

More from Pronovix

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
Pronovix
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
Pronovix
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
Pronovix
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
Pronovix
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
Pronovix
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
Pronovix
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
Pronovix
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
Pronovix
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
Pronovix
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
Pronovix
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
Pronovix
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Pronovix
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
Pronovix
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Pronovix
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
Pronovix
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
Pronovix
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
Pronovix
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
Pronovix
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
Pronovix
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
Pronovix
 

More from Pronovix (20)

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

VMware's Journey to Deliver Developer Portals as a Service

  • 1. Confidential │ ©2018 VMware, Inc. Delivering Developer Portals as a Service VMware’s Journey to Create an Enterprise Platform for Developer Engagement Richard Thomchick Product Manager, Developer Experience November 2018
  • 2.
  • 3. Agenda 3Confidential │ ©2018 VMware, Inc. The Evolution of VMware APIs Dev Center Framework Overview Herding the Cats: API Explorer Embracing the Community: Sample Exchange Streamlining Content Management: DxPress What’s Next: VMware {code} 2.0 Lessons Learned
  • 4. 4Confidential │ ©2018 VMware, Inc. • BA degree is Lit, Master degree is Library and Information Science (how did I get here?) • Have been serving enterprise developers since 1999 (RIP Linuxcare) • Beaten in razor scooter race by Linus Torvald in 2000 • At VMware since 2007 in various positions (marketing, customer experience, R&D) • AM NOT the person who owns API design or documentation • AM the person who presents the docs to end users (and takes their complaints) • Docs are critical and represent 50% of my site’s traffic Who Am I? I promise this is the only slide with bullets
  • 5. 5Confidential │ ©2018 VMware, Inc. The Evolution of VMware APIs From vSphere to the Hybrid Cloud vSphere APIs VIC CLI On-Prem Plugins APIs Hybrid Cloud vRealize Cloud Foundry SaaS VMware Cloud AWS Docker Kubernetes Jenkins Azure Plugins EUC Identity Manager AirWatch NSX vSAN PKS VKE Horizon
  • 6. 6Confidential │ ©2018 VMware, Inc. The Evolution of VMware APIs A Typical VMware Integration Project vRealize Lifecycle Manager Dell-EMC Storage Dell-EMC VIPRSRM VMware NSXvRealize Automation vRealize Orchestrator API Integration vRealize OperationsManager vRealize LogInsight API Integration Content Pack API Integration Dell-EMC DataProtection vSphereClient &vCenter API Integration Management Pack API Integration Dell-EMC VIPR Solution Pack Plugin Management Pack SiteRecoveryManager Solution Pack API Integration Plugin Management Pack API Integration Plugin Plugin API Integration Plugin Plugin Custom Custom API Integration Custom Custom API Integration Custom
  • 7. 7Confidential │ ©2018 VMware, Inc. The Need for a More Scalable Solution Monthly average volume of content requests 25-30 Tickets Monthly average time spent on content tasks 80-100 Hours Average time to complete each content request 8-10 Days10x More Content Contributors 100% Increase in page views and visitors + xxx More pages on the website 6,000+ New Community Members Overhead for Engineering Growth Since January 2017 Launch VMware {code} has grown, and so has our overhead
  • 8. 8Confidential │ ©2018 VMware, Inc. The Need for a More Scalable Solution Projecting the break point for sustainability 0 20 40 60 80 100 120 140 2014 2016 2018 2020 API Growth vs. Engineering Story Points Growth Capacity
  • 9. 9Confidential │ ©2018 VMware, Inc. Dev Center Framework Overview Deliver All Developer Resources as a Service to Developers on Any Device DxPress Portal CICDPipeline Hybrid On-Prem SaaS Other products vSphere {code} VMC-AWS Access PointsContentSources 3rd-party services Blogs GitHub Internal repositories Developer Content API Docs Developer Guides Code Samples How-to Articles Video Tutorials UI/UX Frameworks Clarity + Angular (in-product)Bootstrap (website) Common Services API Explorer Sample Exchange Acrolinx Other web services DevCenter Framework
  • 10. 10Confidential │ ©2018 VMware, Inc. Dev Center Framework in Action VMware Cloud on AWS
  • 11. 11Confidential │ ©2018 VMware, Inc. Herding the Cats: API Explorer vSphere 12+ APIs REST & SOAP OSS & Proprietary vRealize Automation 30+ APIs 30+ Swagger Docs SaaS & On-Prem Workspace ONE 700+ APIs 5+ Swagger Docs 3+ Authorization Models
  • 12. 12Confidential │ ©2018 VMware, Inc. Herding the Cats: API Explorer Open source. API driven. Container friendly. vSphere 12 APIs REST & SOAP OSS & Proprietary vRealize Automation 30+ APIs 30+ Swagger Docs SaaS & On-Prem Workspace ONE 700+ APIs 5+ Swagger Docs 3+ Authorization Models Clarity UX Framework Swagger UI REST API GitHub GitLabInternal Build System VMware{code} API Explorer Website V StandaloneApp ProductPlugin
  • 13. 13Confidential │ ©2018 VMware, Inc. Herding the Cats: API Explorer Product plugin experience
  • 14. 14Confidential │ ©2018 VMware, Inc. Herding the Cats: API Explorer API Explorer “2.0” on website
  • 15. 15Confidential │ ©2018 VMware, Inc. Embracing the Community: Sample Exchange Community powered. API driven. GitHub friendly.
  • 16. 16Confidential │ ©2018 VMware, Inc. Embracing the Community: Sample Exchange Syndication and curated collections
  • 17. 17Confidential │ ©2018 VMware, Inc. Streamlining Content Management: DxPress DxPress is “Developer Experience Press” … it’s like WordPress for Developer Content
  • 18. 18Confidential │ ©2018 VMware, Inc. Publishing Content Prior to DxPress Create Page on Staging Publish Page to Production 1-2 days 1-2 days6-8 days CMS task (web content) Eng. task (help) Email queryDAM task (digital assets) Review task Typical Tasks Involved: Old Workflow: Creating a New SDK Page (8-10 Days!) Content tasks were only a small part of the process New DxPress Workflow: Creating a New SDK Page (8-10 Minutes!) 1-2 days … including turnaround time for emails and reviews
  • 19. 19Confidential │ ©2018 VMware, Inc. DxPress in Action 100% of content tasks performed by end users 0 Help Tickets Engineering team went out for lunch and movies 0 Engineering Hours vs. 3-4 weeks of prep and testing before DxPress 3 Days to Complete23 Users Accessed the DxPress portal 8-9 SDKs Updated for vSphere and vSAN 130 Docs Contributed via DxPress 28 APIs Updated for vSphere and vSAN Overhead for VMware R&D Usage Metrics for DxPress vSphere 6.7 U1 Release
  • 20. 20Confidential │ ©2018 VMware, Inc. What’s Next: VMware {code} 2.0 One developer experience, accessible from any device, on the web and in-product
  • 21. 21Confidential │ ©2018 VMware, Inc. Best Practices, Lessons Learned, Work Still to be Done Don’t Try This at Home Validated Research Lean UX Design Constant Contact Relentless Automation Beware of Dependency Hell Don’t Build a Rocket Ship for a Trip to the Greengrocer
  • 22. 22Confidential │ ©2018 VMware, Inc. Join VMware {code} code.vmware.com/join Subscribe to the newsletter code.vmware.com/newsletter Read our blog blogs.vmware.com/code Follow us on Twitter twitter.com/vmwarecode Learn More Herd Them Kitties All the Way to the Link Farm ….
  • 23. Confidential │ ©2018 VMware, Inc.

Editor's Notes

  1. Show of hands, how many people know where these photos came from? These are from the original vinyl press of the White Album … believe it or not, I found these under a bed while I was renovating a college dorm room. I recognized them immediately and snatched them up since their previous owner had departed. I originally had all four prints, but you’ll notice that George Harrison is conspicuously absent …. His photo went missing a while back, and sometimes my friends and I like to quip about what the Beatles would be without him. I mean, technically John played guitar, so theoretically they could have have made it as a three-man band... But imagine what it would be like, sound like, without George. It would be a lot harder and the results probably wouldn’t be as good. Or better yet, imagine you’re a trio and someone said to you hey, what if you had a fourth Beatle? What could you do, or play, or accomplish that you wouldn’t even try otherwise? Hi, I’m Richard Thomchick, the product manager for VMware {code}, and several months ago, at the outset of this project, I asked myself these same questions as I pondered what my team could do with an extra developer … not just any engineer… I’m talking about a rock star 10x developer … 2. in our case, his name is Max … he’s like the fourth Beatle on our engineering team, and the journey I’m going to describe today has a lot to do with enabling developers like Max – employees and ecosystem alike– to be more productive and spend more time doing what they do best: innovating.
  2. In the 15 or so minutes we have together, I’ll briefly discuss the evolution of VMware APIs and why we needed to build Dev Center solution and major components such as API Explorer and Sample Exchange. I’ll also walk you through the dev center experience on VMware Cloud, and give you a glimpse of where we are going next....
  3. In the beginning, there was vSphere, and we had a SOAP API and a command-line interface ... VMware grew a lot over the next few years, with new platforms and new ways for developers to extend and integrate, but vSphere was still the star of the show … But then came along SaaS, public cloud, containers, and on and on and on … and so we shifted our focus the public cloud… Today we are pursuing a hybrid cloud strategy and releasing co-developed solutions like Pivotal Container Service, VMware Kubernetes Engine, and VMware Cloud on AWS …
  4. For developers, integrating VMware technology can be quite daunting …. What you see here is for a “basic” software-defined data center, but it looks a bit more like a flying spaghetti monster, doesn’t it? And many real-world integration projects are far more complex. ...... Managing all the content that enables developers to do this integration work is no easy feat, either. In fact, this was one of the biggest challenges facing us at the outset of this project – how to manage the accelerating growth and complexity of our company and developer ecosystem.
  5. For context, VMware {code} has seen tremendous growth since our initial launch in 2017 in terms of web traffic and memberships, and also in terms of the amount of content and the number of contributors we support. This growth does have a cost. Content requests comprise a significant and growing percentage of our total help ticket volume, and GTIX engineering has seen content-related overhead climb steadily to the point where it takes nearly a full FTE of engineering time just to handle content requests. In fact, we now employ an offshore team of engineers in China just to focus on content.
  6. This is a slide my boss likes me to show ... When we started projecting the expected rate of growth, based on the number of acquisitions and new products in the pipeline, and mapped it against our funding model and projected bandwidth, we realized we were quickly reaching a break point after which we would not be able to sustain operations … I naively thought this slide would get us more funding … but instead it spurred us to innovate, automate, and streamline our operations.
  7. Our solution for managing this complexity at scale is called the Dev Center Framework…. In a nutshell, the Dev Center framework routes content through common API services and presents it to the user via a standardized look and feel …. Here is the basic content flow …. Contributors – tech writers, engineers, product managers, etc. – add and update content via the DxPress self-service portal or directly from their build chains …. The Dev Center framework automatically assembles that content into a developer portal via a set of API services, and makes it accessible to users on the website and in our products. There are a lot of moving parts involved, but today I’m going to focus on three components: API Explorer…. Sample Exchange …. And our DxPress self-service portal for content management.
  8. But first, let me show you what one of these portals looks like … Our first go-to-market partner for the Dev Center Framework was VMware Cloud on AWS (which basically lets you run vSphere in the AWS public cloud) …. For this project we, embedded a ”developer center” into the VMC-AWS interface …
  9. The first step in our journey was to create a single source of truth for VMware API documentation, and this really did feel like we were herding cats … every product team seemed to have their own approach to documenting their APIs and while their single-serving solutions worked well at first, many of the teams had built up some technical debt as they grew and converged with other … For example, take vSphere, our flagship enterprise product … there are at least a dozen different public APIs … SOAP APIs for hardware access, REST APIs for automation, some open-source, some proprietary …. Another example, vRealize Automation, is more like a litter of cats … they market a single API but in reality there are more than two dozen individual services, each one documented in a separate JSON file … And then there’s Workspace ONE…other products may be colorful but these guys are the freaking rainbow Many of these teams were accustomed to working in “startup mode” (silos), so it took a lot of wrangling to chase them down and add their docs to the service….
  10. This an architectural overview of our API Explorer … the solution itself has an API that retrieves doc from multiple source repositories, and presents it to users via either Swagger UI or our own Angular library … the system supports Open API and RAML, as well as older SOAP APIs that were documented with Javadoc …there are even a couple of PDFs that we display as iframes…. we also knew that we needed to architect the solution as a service that could consume all kinds of API docs from multiple repositories, and deliver the information not only to the website
  11. what you’re looking at is here is the “product plugin” edition of API Explorer …. It’s essentially an Angular library that leverages an API to retrieve local and remote resources. One of the features I love the most is the live search and deep linking .... When you start typing in a path name, method description, etc., the system will show you the specific methods in each API that match your query, and link you directly to that section of the doc … developers really like this feature and it is something we are about to release on the website in the next sprint or two.
  12. Here’s a look at the next rev of our API Explorer on the website … this is us iterating on our haystack … it’s still in testing but as you can see we are applying the features across the board so you can get that deep linking experience across all our APIs … this is especially useful for developers who may be working with multiple APIs, some of which do the same thing or have the same name …
  13. The next component of the Dev Center framework is Sample Exchange for code samples and automation scripts from VMware and the community …. This project came about because our developer community asked for a better way to share their code samples, which they had previously been doing in forums and Slack… We wanted to enhance, not replace these tools, so we developed Sample Exchange as an API service that integrates with forums, Slack, GitHub, and so forth … With Sample Exchange, contributors can upload their content from a local directory, or link to existing code in any GitHub repository they have access to … the system automatically updates the content when changes are made to the repository so there is no need to continuously update this listing ... Once your sample is in the exchange, you can embed it in a blog article, forum post, or Slack conversation … The system is also integrated with our Jive community platform, so you also get Community points any other developers can bookmark, favorite, or download your samples, and other users can view the reputation and expertise of a sample author….
  14. The next component of the Dev Center framework is Sample Exchange for code samples and automation scripts from VMware and the community …. This project came about because our developer community asked for a better way to share their code samples, which they had previously been doing in forums and Slack… We wanted to enhance, not replace these tools, so we developed Sample Exchange as an API service that integrates with forums, Slack, GitHub, and so forth … With Sample Exchange, contributors can upload their content from a local directory, or link to existing code in any GitHub repository they have access to … the system automatically updates the content when changes are made to the repository so there is no need to continuously update this listing ... Once your sample is in the exchange, you can embed it in a blog article, forum post, or Slack conversation … The system is also integrated with our Jive community platform, so you also get Community points any other developers can bookmark, favorite, or download your samples, and other users can view the reputation and expertise of a sample author….
  15. One of the most important aspects of the Dev Center Framework is one that end-user developers don’t even know about: Streamlined self-service content management for developer resources that’s as easy as publishing a WordPress blog … Here’s a quick walkthrough of the 5-minute process for publishing a API doc on VMware {code} ….
  16. So, why did we build DxPress and why does it matter? Prior to DxPress, it took about 2 weeks, 2 help tickets, 3 separate software interfaces, and at least 4 people to publish pretty much anything. When we analyzed the actual tasks involved, we quickly realized that in addition to adding web pages, attaching assets, and reviewing the content, a LOT of time was being spent on engineering tasks and email queries .... For example, to add a new SDK to the website with a download and a programming guide, I would need to file a minimum of two help tickets, and wait for the offshore team in China to respond each time … just this part can take almost a week, but it still doesn’t account for the other 6-8 days, even when you factor in ample time to create and review content … So where was the time-suck coming from? Well, when we dug deeper, we found most users got stuck … a lot … and were filing tickets to get help almost every step of the way … Which inevitably led to email exchanges with engineers before, during, and after the ticket is resolved … Then after the problem is resolved, the user STILL has to contribute their own content … assuming the engineer hasn’t volunteered to do it on their behalf … again usually due to some corner case … And then finally, we observed that this workflow caused users to review their work over and over again, which prolonged the process even further …. NOW, with DxPress, we've cut this process down by an order of magnitude by making it fast and simple for users to publish their own content ... Even when you factor in lengthy reviews and email chatter, the typical turnaround time is 1-2 days max....
  17. Last month, we put DxPress to the test last month for a new release of the vSphere platform ... here are the highlights of what we published ..... And here is the total overhead for our group to support the launch ...
  18. So, what's next for the framework? Well, now that we’ve been able to validate the basic market fit, our next step is to unleashing it on the website. code.vmware.com leverages Dev Center services to display APIs and sample code, but we are looking to have full integration to the point where the website a fully compliant best practices reference to showcase its capabilities and establish best practices for stakeholders who want to embed developer centers in their products and cloud services .... What this means for developers is that they will get ubiquitous access to API docs and other resources with a consistent user experience on any device.... So with that in mind, here is a walkthrough of the {code} 2.0 prototype ...
  19. Last but not least, I’d like to share with you some of the learnings, takeaways, and tips from our experiences along this journey … many of you may already be familiar with some of these, so the main point I want to make here is that even in a large enterprise like VMware, operating like a Lean startup can really help you get where you want to go faster: Validated research: This is a very common practice in startup product management, and the basic premise is to fail forward fast by validating your assumptions upfront to make sure you’re talking to the right people, that you’ve correctly identified their most pressing problems, and that your value proposition actually addresses their problems. Making design prototypes is a great way to do this because you can quickly put ideas in front of people before you commit to coding … Lean UX design: If you are familiar with user-centered design, you can think of Lean UX as UCD for lean startups ….. Basically how to do it faster … One of the concepts I really like but was ashamed to say out loud is “pain-driven design” which is about figuring out what is causing your users the most pain … this is very useful for brownfield projects where there are existing legacy tools as was the case with VMware, and believe it or not, this turned out to be my secret sauce at work … When I designed DxPress, I spent a lot of time with users but I also wanted to codify the results, so I made a survey but instead of sending it out and crossing my fingers, I actually went through the survey with each user, structured it as an interview and then charted the results in SurveyMonkey … there are some great books on Lean UX, UX Strategy, Running Lean et. Stay in Constant Contact with stakeholders and users … this is probably the MOST important principle we followed … most of the people I interviewed at the beginning became design partners and eventually advocates for the system because we had invested so much time to make sure the solution worked for them…. Never forget that you are building relationships and not just software!!! Automate all the things … because nobody has any bandwidth …even though we managed to automate 80% of the process, most of the product teams we talked to were even more stretched than our engineers, and a few of them scoffed at the notion of a 8-10 minute task “you can’t automate a task by giving it to someone else”)… even 3 clicks is 3 clicks too many. This led us to shift focus from pure contribution to curation … Avoid Dependency hell … this is an issue that comes up a lot with open source software and microservices … in our case, we have a dependency on an Angular library that another VMware team developed as a fully branded alternative to the default Swagger UI look and feel … and to be honest with you I’m starting to regret it … once you commit to using an upstream library, you are now a customer you have to file issues like everyone else … and if that library itself has dependencies, things start to get complicated … its really important to have a firm handshake upfront with other teams in your organization to avoid issues down the road. And last but not least … avoid over-engineering at all costs … if you look on the {code} website this can be particularly challenging if you work in an engineering-led environment, but prioritizing features and focusing on MVPs is essential to staying agile, moving quickly, and ensuring high adoption rates ….