For many enterprises, publishing API docs is a lot like herding cats. In this talk, we’ll show you how VMware herds cats at scale with a framework that delivers developer portals as-a-service and provides developers ubiquitous access to API docs and other resources on the web and in VMware products.
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
This BoF is focused on one of the development models "In-System Programming", that can be used in combination with cloud platforms. It leverages also content-centric architectural style by using centralised repository, dynamic languages and multi-container runtime.
The main goal is achieving the shortest development turn-around time ever.
Microservices are the new black. You've heard about them, you've read about them, you may have even implemented a few, but sooner or later you'll run into the age-old conundrum: How do I break my monolith apart? Where do I draw service boundaries?
In this talk you will learn several widely-applicable strategies for decomposing your monolithic application, along with their respective risks and the appropriate mitigation strategies. These techniques are widely used at Wix, took us a long time to develop and have proven consistently effective; hopefully they will help you avoid the same battle scars.
Decoupled Drupal: What This Means for DevelopersAcquia
Recently, decoupled content management has been taking the front-end world by storm as developers seek new ways to leverage battle-tested back ends alongside more flexible, extensible front ends. JavaScript frameworks with ever-quickening advances and native applications can integrate seamlessly with "headless" back ends such as Drupal by bypassing the theme layer completely.
What are some of the implications of this newly decoupled world for front-end Drupal developers and designers? In this webinar, gain insight into the trends and new ideas emerging on the topic of decoupled Drupal. Also learn about decoupled Drupal against the backdrop of the rapidly changing front-end ecosystem, taking into consideration the impacts in areas such as Web Components, abstract DOMs, Drupal’s theme layer, and presentation.
Designers, front end developers, and Drupal themers of all skill levels will benefit from this webinar. Attendees will learn:
- Advantages and disadvantages of going headless, as well as for going with a JavaScript framework
- Managing content and headless Drupal - what this means for developers
- How to integrate with frameworks and native applications
- The future of markup and the theme layer, as well as the future of the front end and Drupal
Mendix Maker Meetup - London (2019-10-17)Iain Lindsay
Automating the boring stuff
Using the Mendix Platform and Model SDK to automate repetitive tasks. Presented by Alistair Crawford and Iain Lindsay at the Mendix Maker Meetup in London on 17th October 2019
Building Cloud Native Architectures with SpringKenny Bastani
Cloud-native architectures are an emerging practice of software development and delivery. This deck was presented at the Pivotal Cloud Native roadshow and teaches developers how to build modern cloud-native applications using the popular JVM-based application framework: Spring Boot. You'll be provided with a walk through from the monolith application architecture into the more modern microservices architecture. Two open source reference architectures are introduced for building cloud-native microservices. Learn the basics of cloud native platforms and also the approaches for integrating and strangling legacy systems.
https://pivotal.io/event/pivotal-cloud-native-roadshow
Architecting Cloud Computing Solutions with Java [1.1]Otávio Santana
Cloud-Native has become a big buzzword around the world, a term that is practically used by everyone at all times. But what does it mean? What are the advantages it brings to your application and your day as a software developer or architect? What's new in the Java world, and what are the steps to follow for a native cloud application? This presentation is a step-by-step guide that will practically guide you through implementing Cloud computing services effectively and efficiently.
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
This BoF is focused on one of the development models "In-System Programming", that can be used in combination with cloud platforms. It leverages also content-centric architectural style by using centralised repository, dynamic languages and multi-container runtime.
The main goal is achieving the shortest development turn-around time ever.
Microservices are the new black. You've heard about them, you've read about them, you may have even implemented a few, but sooner or later you'll run into the age-old conundrum: How do I break my monolith apart? Where do I draw service boundaries?
In this talk you will learn several widely-applicable strategies for decomposing your monolithic application, along with their respective risks and the appropriate mitigation strategies. These techniques are widely used at Wix, took us a long time to develop and have proven consistently effective; hopefully they will help you avoid the same battle scars.
Decoupled Drupal: What This Means for DevelopersAcquia
Recently, decoupled content management has been taking the front-end world by storm as developers seek new ways to leverage battle-tested back ends alongside more flexible, extensible front ends. JavaScript frameworks with ever-quickening advances and native applications can integrate seamlessly with "headless" back ends such as Drupal by bypassing the theme layer completely.
What are some of the implications of this newly decoupled world for front-end Drupal developers and designers? In this webinar, gain insight into the trends and new ideas emerging on the topic of decoupled Drupal. Also learn about decoupled Drupal against the backdrop of the rapidly changing front-end ecosystem, taking into consideration the impacts in areas such as Web Components, abstract DOMs, Drupal’s theme layer, and presentation.
Designers, front end developers, and Drupal themers of all skill levels will benefit from this webinar. Attendees will learn:
- Advantages and disadvantages of going headless, as well as for going with a JavaScript framework
- Managing content and headless Drupal - what this means for developers
- How to integrate with frameworks and native applications
- The future of markup and the theme layer, as well as the future of the front end and Drupal
Mendix Maker Meetup - London (2019-10-17)Iain Lindsay
Automating the boring stuff
Using the Mendix Platform and Model SDK to automate repetitive tasks. Presented by Alistair Crawford and Iain Lindsay at the Mendix Maker Meetup in London on 17th October 2019
Building Cloud Native Architectures with SpringKenny Bastani
Cloud-native architectures are an emerging practice of software development and delivery. This deck was presented at the Pivotal Cloud Native roadshow and teaches developers how to build modern cloud-native applications using the popular JVM-based application framework: Spring Boot. You'll be provided with a walk through from the monolith application architecture into the more modern microservices architecture. Two open source reference architectures are introduced for building cloud-native microservices. Learn the basics of cloud native platforms and also the approaches for integrating and strangling legacy systems.
https://pivotal.io/event/pivotal-cloud-native-roadshow
Architecting Cloud Computing Solutions with Java [1.1]Otávio Santana
Cloud-Native has become a big buzzword around the world, a term that is practically used by everyone at all times. But what does it mean? What are the advantages it brings to your application and your day as a software developer or architect? What's new in the Java world, and what are the steps to follow for a native cloud application? This presentation is a step-by-step guide that will practically guide you through implementing Cloud computing services effectively and efficiently.
As companies attempt to implement Digital Transformation, they need to modernize their in-house software systems and build new ones. This modernization process often includes transitioning the software to the public cloud, using modern technologies, implementing a SaaS system, changing the system's architecture (Microservices anyone?), and delivering a new user experience (UX) to customers. However, we rarely get the opportunity to rebuild our systems from scratch. The customers are still there, the business is still running, and stakeholders still want everything to operate at the same operational level as it was until now.
So how can we do it? Can we have our cake and eat it too? There is no silver bullet, and trade-offs comprise our every choice. The trick is knowing which questions to ask and how to choose our strategy.
Join us in this session as we review the technical methods we have to modernize our software systems. We'll review the questions we should ask ourselves and the strategies that we can employ. Starting from lift & shift through containerization to cloud-native apps - we'll take you on a journey that's relevant for any modern software's stakeholder.
QCObjects is the next generation framework for modern software development. This slide is an overview of what you can do with the framework, describing its main features, its license model and impact.
Cloud Native is more than a set of tools. It is a full architecture, a philosophical approach for building applications that take full advantage of cloud computing and a organisational change. Going Cloud Native requires an organisation to shift not only its tech stack but also its culture, processes and team setup. In this talk I'll dive into possible operating models for Cloud Native Systems.
CloudWorld: What Does Cloud-Native Mean Anyway?Grace Jansen
Terms cloud-native & microservice architecture have been used interchangeably for years. Microservices have benefits, but also bring challenges, so are they really the go-to solution in all cases? Better understanding & some failed projects led to an evaluation of the suitability of microservices, and resulted in new interest in the various architecture styles in the cloud. We'll look at microservices and monoliths in the context of cloud-native.
Architect your app modernization journey with containers on Microsoft AzureDavide Benvegnù
Modernize your application with containers has never been easier! Discover how Azure helps providing all the services you need.
This slides deck has been created for the Microsoft Azure Developer Camp in HK
MS Insights Brazil 2015 containers and devopsDamien Caro
Talking about DevOps and containers at MS Insights Sao Paolo 2015.
Talking about containers being or not the solution to implementing DevOps practices ? This talk includes a demonstration that show the integration between Visual Studio Online, Docker Hub and GitHub for continuous integration and automated deployment.
Arquitetando soluções de computação em nuvem com JavaOtávio Santana
O Cloud Native se tornou uma grande palavra de ordem em todo o mundo, um termo que é praticamente usado por todos em todos os momentos. Mas o que isso significa? Quais são as vantagens que ele traz ao seu aplicativo e ao seu dia como desenvolvedor ou arquiteto de software? O que há de novo no mundo Java e quais são as etapas a seguir para um aplicativo em nuvem nativo? Esta apresentação é um guia passo a passo que praticamente o guiará na implementação de serviços de computação em nuvem de maneira eficaz e eficiente.
DevOps brings together people, processes and technology, automating software delivery to provide continuous value to your users. With Azure DevOps solutions, deliver software faster and more reliably—no matter how big your IT department or what tools you are using
SpringOne Platform 2016
Speakers: Kevin Hoffman; Advisory Solutions Architect, Pivotal & Chris Umbel; Advisory Architect, Pivotal
With the advent of ASP.NET Core, developers can now build cross-platform microservices in .NET. We can build services on the Mac, Windows, or Linux and deploy anywhere--most importantly to the cloud.
In this session we'll talk about Cloud Native .NET, building .NET microservices, and deploying them to the cloud. We'll build services that participate in a robust ecosystem by consuming OSS servers such as Spring Cloud Configuration Server and Eureka. We'll also show how these .NET microservices can take advantage of circuit breakers and be automatically deployed to the cloud via CI/CD pipelines.
What the Gradle team have shipped since Gradle 3.0, featuring performance features like compile avoidance, user experience features like the Kotlin DSL, and brand new tools like the Java 9 support
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. Continuous Integration and Continuous Delivery automate deployments. This way you get shorter time to results and increased flexibility. Containers improve these even more offering a very lightweight and flexible deployment option.
In the middleware world, you use concepts and tools such as an Enterprise Service Bus (ESB), Complex Event Processing (CEP), Business Process Management (BPM) or API Gateways. Many people still think about complex, heavyweight central brokers here. However, Microservices and containers are relevant not just for custom self-developed applications, but they are also a key requirement to make the middleware world more flexible, agile and automated.
This session discusses the requirements, best practices and challenges for creating a good Microservices architecture in the middleware world. A live demo with the open source PaaS framework CloudFoundry shows how technologies and frameworks such as Java, SOAP / REST Web Services, Jenkins and Docker are used to create an agile software development lifecycle to realize “Middleware Microservices”. It also discusses other modern cloud-native alternatives such as Kubernetes, Docker, Mesos, Mesosphere or Amazon ECS / AWS.
Microservices pattern language (microxchg microxchg2016)Chris Richardson
My talk from http://microxchg.io/2016/index.html.
Here is the video - https://www.youtube.com/watch?v=1mcVQhbkA2U
When architecting an enterprise Java application, you need to choose between the traditional monolithic architecture consisting of a single large WAR file, or the more fashionable microservices architecture consisting of many smaller services. But rather than blindly picking the familiar or the fashionable, it’s important to remember what Fred Books said almost 30 years ago: there are no silver bullets in software. Every architectural decision has both benefits and drawbacks. Whether the benefits of one approach outweigh the drawbacks greatly depends upon the context of your particular project. Moreover, even if you adopt the microservices architecture, you must still make numerous other design decisions, each with their own trade-offs.
A software pattern is an ideal way of describing a solution to a problem in a given context along with its tradeoffs. In this presentation, we describe a pattern language for microservices. You will learn about patterns that will help you decide when and how to use microservices vs. a monolithic architecture. We will also describe patterns that solve various problems in a microservice architecture including inter-service communication, service registration and service discovery.
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
This is a live walkthrough where we convert a common full trust solution to a SharePoint Framework solution. May the demo Gods be kind to me. Really, we will do it. Does not cover all possible scenarios, but I will show you the general workflow for converting your full trust solutions to SPFx solutions. I show you the proper configuration for your development environment. We walk through building the SPFx solutions and deploying it to Office 365. Lots of DO’s and DON’Ts will be shared. I’ll show you some of my scars too. From this session forward, you will want to hone your skills in modern SharePoint and convert everything to SPFx solutions.
Attendee Takeaways:
1. Understand the why, the how, and what make up the SharePoint Framework (SPFx).
2. Discussion where we compare common Full Trust Solutions and options for converting to the SharePoint Framework (SPFx) in less than 1 hour.
As companies attempt to implement Digital Transformation, they need to modernize their in-house software systems and build new ones. This modernization process often includes transitioning the software to the public cloud, using modern technologies, implementing a SaaS system, changing the system's architecture (Microservices anyone?), and delivering a new user experience (UX) to customers. However, we rarely get the opportunity to rebuild our systems from scratch. The customers are still there, the business is still running, and stakeholders still want everything to operate at the same operational level as it was until now.
So how can we do it? Can we have our cake and eat it too? There is no silver bullet, and trade-offs comprise our every choice. The trick is knowing which questions to ask and how to choose our strategy.
Join us in this session as we review the technical methods we have to modernize our software systems. We'll review the questions we should ask ourselves and the strategies that we can employ. Starting from lift & shift through containerization to cloud-native apps - we'll take you on a journey that's relevant for any modern software's stakeholder.
QCObjects is the next generation framework for modern software development. This slide is an overview of what you can do with the framework, describing its main features, its license model and impact.
Cloud Native is more than a set of tools. It is a full architecture, a philosophical approach for building applications that take full advantage of cloud computing and a organisational change. Going Cloud Native requires an organisation to shift not only its tech stack but also its culture, processes and team setup. In this talk I'll dive into possible operating models for Cloud Native Systems.
CloudWorld: What Does Cloud-Native Mean Anyway?Grace Jansen
Terms cloud-native & microservice architecture have been used interchangeably for years. Microservices have benefits, but also bring challenges, so are they really the go-to solution in all cases? Better understanding & some failed projects led to an evaluation of the suitability of microservices, and resulted in new interest in the various architecture styles in the cloud. We'll look at microservices and monoliths in the context of cloud-native.
Architect your app modernization journey with containers on Microsoft AzureDavide Benvegnù
Modernize your application with containers has never been easier! Discover how Azure helps providing all the services you need.
This slides deck has been created for the Microsoft Azure Developer Camp in HK
MS Insights Brazil 2015 containers and devopsDamien Caro
Talking about DevOps and containers at MS Insights Sao Paolo 2015.
Talking about containers being or not the solution to implementing DevOps practices ? This talk includes a demonstration that show the integration between Visual Studio Online, Docker Hub and GitHub for continuous integration and automated deployment.
Arquitetando soluções de computação em nuvem com JavaOtávio Santana
O Cloud Native se tornou uma grande palavra de ordem em todo o mundo, um termo que é praticamente usado por todos em todos os momentos. Mas o que isso significa? Quais são as vantagens que ele traz ao seu aplicativo e ao seu dia como desenvolvedor ou arquiteto de software? O que há de novo no mundo Java e quais são as etapas a seguir para um aplicativo em nuvem nativo? Esta apresentação é um guia passo a passo que praticamente o guiará na implementação de serviços de computação em nuvem de maneira eficaz e eficiente.
DevOps brings together people, processes and technology, automating software delivery to provide continuous value to your users. With Azure DevOps solutions, deliver software faster and more reliably—no matter how big your IT department or what tools you are using
SpringOne Platform 2016
Speakers: Kevin Hoffman; Advisory Solutions Architect, Pivotal & Chris Umbel; Advisory Architect, Pivotal
With the advent of ASP.NET Core, developers can now build cross-platform microservices in .NET. We can build services on the Mac, Windows, or Linux and deploy anywhere--most importantly to the cloud.
In this session we'll talk about Cloud Native .NET, building .NET microservices, and deploying them to the cloud. We'll build services that participate in a robust ecosystem by consuming OSS servers such as Spring Cloud Configuration Server and Eureka. We'll also show how these .NET microservices can take advantage of circuit breakers and be automatically deployed to the cloud via CI/CD pipelines.
What the Gradle team have shipped since Gradle 3.0, featuring performance features like compile avoidance, user experience features like the Kotlin DSL, and brand new tools like the Java 9 support
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. Continuous Integration and Continuous Delivery automate deployments. This way you get shorter time to results and increased flexibility. Containers improve these even more offering a very lightweight and flexible deployment option.
In the middleware world, you use concepts and tools such as an Enterprise Service Bus (ESB), Complex Event Processing (CEP), Business Process Management (BPM) or API Gateways. Many people still think about complex, heavyweight central brokers here. However, Microservices and containers are relevant not just for custom self-developed applications, but they are also a key requirement to make the middleware world more flexible, agile and automated.
This session discusses the requirements, best practices and challenges for creating a good Microservices architecture in the middleware world. A live demo with the open source PaaS framework CloudFoundry shows how technologies and frameworks such as Java, SOAP / REST Web Services, Jenkins and Docker are used to create an agile software development lifecycle to realize “Middleware Microservices”. It also discusses other modern cloud-native alternatives such as Kubernetes, Docker, Mesos, Mesosphere or Amazon ECS / AWS.
Microservices pattern language (microxchg microxchg2016)Chris Richardson
My talk from http://microxchg.io/2016/index.html.
Here is the video - https://www.youtube.com/watch?v=1mcVQhbkA2U
When architecting an enterprise Java application, you need to choose between the traditional monolithic architecture consisting of a single large WAR file, or the more fashionable microservices architecture consisting of many smaller services. But rather than blindly picking the familiar or the fashionable, it’s important to remember what Fred Books said almost 30 years ago: there are no silver bullets in software. Every architectural decision has both benefits and drawbacks. Whether the benefits of one approach outweigh the drawbacks greatly depends upon the context of your particular project. Moreover, even if you adopt the microservices architecture, you must still make numerous other design decisions, each with their own trade-offs.
A software pattern is an ideal way of describing a solution to a problem in a given context along with its tradeoffs. In this presentation, we describe a pattern language for microservices. You will learn about patterns that will help you decide when and how to use microservices vs. a monolithic architecture. We will also describe patterns that solve various problems in a microservice architecture including inter-service communication, service registration and service discovery.
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
This is a live walkthrough where we convert a common full trust solution to a SharePoint Framework solution. May the demo Gods be kind to me. Really, we will do it. Does not cover all possible scenarios, but I will show you the general workflow for converting your full trust solutions to SPFx solutions. I show you the proper configuration for your development environment. We walk through building the SPFx solutions and deploying it to Office 365. Lots of DO’s and DON’Ts will be shared. I’ll show you some of my scars too. From this session forward, you will want to hone your skills in modern SharePoint and convert everything to SPFx solutions.
Attendee Takeaways:
1. Understand the why, the how, and what make up the SharePoint Framework (SPFx).
2. Discussion where we compare common Full Trust Solutions and options for converting to the SharePoint Framework (SPFx) in less than 1 hour.
Docker and Containers overview - Docker WorkshopJonas Rosland
Docker and Containers overview - Docker Workshop
Parth of the docker Workshop we lead, all content can be found here: https://github.com/emccode/training/tree/master/docker-workshop
Real World SharePoint Framework and Azure ServicesBrian Culver
Building Solution in Office 365 requires leveraging other cloud services, such as Azure Services. For those new to SharePoint and all SharePoint veterans, building cloud ready “Full Trust” solutions for Office 365 introduces a huge paradigm shift over the traditional on-premise full-trust development model.
In this session, we will look at a couple common full trust solutions and move them to Office365 and Azure. We will leverage various Azure services such as Azure Functions, Event Grids and WebJobs. See demonstrations on how event receivers become Azure Function and Event Grids, and timer jobs become Azure WebJobs. Learn about other useful Azure services for replacing full trust functionality. Don’t pass up this opportunity to learn skills and knowledge you need to build Office 365 Solutions leveraging Cloud Services
Attendee Takeaways:
1. Understand how to take Full Trust solutions from On-premise to the Office365.
2. Learn how to use Azure Functions, Event Grids, WebJobs and several other Azure Services.
3. See demonstrations of a couple common Full Trust Solutions converted to cloud solutions on Office365 and Azure.
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
This is a live walkthrough where we convert a common full trust solution to a SharePoint Framework solution. May the demo Gods be kind to me. Really, we will do it. Does not cover all possible scenarios, but I will show you the general workflow for converting your full trust solutions to SPFx solutions. I show you the proper configuration for your development environment. We walk through building the SPFx solutions and deploying it to Office 365. Lots of DO’s and DON’Ts will be shared. I’ll show you some of my scars too. From this session forward, you will want to hone your skills in modern SharePoint and convert everything to SPFx solutions.
Attendee Takeaways:
1. Understand the why, the how, and what make up the SharePoint Framework (SPFx).
2. A live demonstration where we take a common Full Trust Solutions and covert it to the SharePoint Framework (SPFx) in less than 1 hour.
3. I share lots of tips, DO’s and DON’Ts to save you hours and days of your life. Yes, you are welcome :)
Bahrain ch9 introduction to docker 5th birthday Walid Shaari
A hands-on workshop will go over the foundations of the containers platform, including an overview of the platform system components: images, containers, repositories, clustering, and orchestration. The strategy is to demonstrate through "live demo, and hands-on exercises." The reuse case of containers in building a portable distributed application cluster running a variety of workloads including HPC workload.
Infrastructure as Code in Large Scale OrganizationsXebiaLabs
The adoption of tools for the provisioning and automatic configuration of "Infrastructure as Code" (eg Terraform, Cloudformation or Ansible) reduces cost, time, errors, violations and risks when provisioning and configuring the necessary infrastructure so that our software can run .
However, those who have begun to make intensive use of this technology at the business level agree to identify the emergence of a very critical problem regarding the orchestration and governance needs of supply requests such as security, compliance, scalability, integrity and more.
Learn how The Digital.ai DevOps Platform (formerly XebiaLabs DevOps Platform) responds to all these problems and many more, allowing you to continue working with your favorite tools.
There are legacy enterprise Microsoft applications still running on premises, Microsoft SharePoint, Dynamics, Exchange, SQL server or .NET applications. To best realize the benefits of cloud, these applications must be modernized using cloud native approaches to become scalable, secure and fault tolerant. The webinar covers how to refactor and modernize Microsoft applications, explore methods to integrate with AWS managed services for identity federation, databases, monitoring and containers to achieve agility, security and elasticity.
Sriwantha Attanayake, Partner Solution Architect, Amazon Web Services
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
IBM Think 2020 - Openshift on IBM Z and LinuxONE
#mainframe #openshift #kubernetes #modernization #ibm #devops #openshift4 #redhatopenshift #redhat #ibmz #linuxone #ibmer
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017Amazon Web Services
Salesforce and AWS are leading the next revolution in building engaging customer experiences. Behind every great experience is an app, and the power of the Salesforce platform lets you build apps fast. Adding to that experience is the AWS platform that extends the ability to rapidly deliver apps by offering developers a collection of purpose-built and ready-to-consume set of services. Salesforce Heroku—built entirely on AWS—enables developers to focus on building business apps fast instead of spending cycles on the monotonous heavy-lifting. In this session, you learn how Salesforce Heroku and AWS accelerate developer productivity and lower operational complexity to deliver solutions around Salesforce data integration, media delivery, web security, big data analytics and warehousing.
Session sponsored by Salesforce
Getting Started: How to Set Up Your "Data as a Feature" ProjectTIBCO Jaspersoft
This workshop series features a brand-new demo application—created by the TIBCO Jaspersoft team and projekt202—that illustrates and teaches you how to create answer-generating applications of your own. Over the course of 5 webinars, we will introduce you to the what and the why of data as a feature applications and how you can build your own.
Lesson #2 Agenda:
- Project Overview
- Defining the user experience
- Setting up the application environment
- Preparing data
Similar to VMware's Journey to Deliver Developer Portals as a Service (20)
By the time they're reading the docs, it's already too latePronovix
Your relationship with a developer begins before they even know your product's name. In fact, before they know they need a product like yours.
In this talk, Matthew will make the case that developer marketing, developer experience, and developer education are part of a continuum. And that if you're thinking of documentation as something that happens only after someone has signed-up for your API, then you're leaving it too late. He'll draw on pedagogical and marketing research to propose a model for the developer learning journey where traditional API documentation is just one stop along the way.
Attend this talk and you'll come away with practical ideas for how to start educating developers earlier in their product evaluation and learning journey.
Optimizing Dev Portals with Analytics and FeedbackPronovix
Making informed decisions on which features to prioritize in a developer portal can be a daunting task. In this session, we'll show you how to leverage experiments, data, and user feedback to evaluate their potential and refine your approach. We'll explore how testing ideas with minimal investment, akin to an MVP, can help you avoid building features that don't meet your users' needs.
Success metrics when launching your first developer portalPronovix
Building our a developer portal may seem easy at the onset with off the shelf options, but when you're building a custom portal to match the needs of your company, it's not as easy. In this session, we'll talk about our process in determining the right places to start with success metrics and features through an early stage feedback back before having customers. You'll see our intention is to tell a story with multiple facets for multiple people, developers, product managers, C suite decision makers etc... Stories around API usage, health, cost, errors and support to provide our users with an overall of their business performance through our APIs.
AI is entering the world of APIs, where API documentation plays a critical role. One of the fundamental challenges is the need to share understanding about an API and keep the knowledge up to date. AI can potentially speed up API integrations dramatically, but it greatly depends on API documentation.
Let's explore the emerging approach to employing AI in APIs, discuss its impact on API documentation, and see how changing our way of working with APIs will lead to self-integrating applications.
Making sense of analytics for documentation pagesPronovix
As content producers, we invest considerable time and effort in developing, packaging, and delivering content that we think our users need. After publishing the content, we hope that users find our content useful. And we often wonder how users really navigate and consume our content. Web page analytics can help us gauge the information needs of our customers, assess their content consumption behavior, and find opportunities to improve our content and how we deliver it.
Kumar explores the basics of web analytics, pitfalls of relying too much on web analytics for important decisions, the typical web analytics process, and he will share some guidelines for interpreting web analytics numbers.
Feedback cycles and their role in improving overall developer experiencesPronovix
Drawing from experiences from open source work and her time at Spotify, Serah’s talk cover the challenges, opportunities and hacks around proactive and reactive monitoring, processing, tracking and acting on stakeholder and community feedback, and argue for the centricity of well-defined feedback loops in improving the overall developer experiences for any product and features you are responsible for.
GraphQL Isn't An Excuse To Stop Writing DocsPronovix
The main goal of API documentation is to help developers understand how to use an API. With GraphQL, developers often assume it's self-documenting capabilities are sufficient for anyone that consumes their GraphQL API. But did you ever validate this?
Good API documentation offers both static and interactive ways to learn how to consume the API. API's that support GraphQL often only come with interactive documentation, in the shape of a GraphiQL Playground. However, the first time you (or your users) use a GraphQL API can be very frustrating as GraphQL APIs typically only have an interactive playground. it increases the complexity for newcomers to GraphQL as it assumes you’re already familiar with GraphQL. But with GraphQL, you’re not limited to just an interactive playground, as you can create static or interactive documentation next to having this playground. This talk explores which forms of documentation you can use and how they add value to your GraphQL API.
Web3 is one of the fastest-growing spaces on the web right now, with thousands of new projects emerging every week. Each project aims to fill a gap in the space by providing a new technology How do we keep up with documentation, and what should be prioritized for these projects as they scale?
Web3, also referred to as the read-write-own web, is a new form of the internet that utilizes technologies such as blockchain networks, cryptocurrency, crypto wallets, and digital assets like NFTs. The Web3 space is growing by the thousands every week, with new projects and technologies constantly emerging. As writers, it can be challenging to navigate through the space, make sense of every piece of new content, and understand what should be written about for others to read, and what will be irrelevant next week. Many of these new technologies are using pieces of code known as smart contracts or interacting with the APIs of multiple applications at once. What documentation are end-users looking for, and what is the most beneficial format for them to read and comprehend all of this new information? In this talk, I'll discuss what I've learned as a Senior Technical Writer for Filebase, a decentralized cloud storage provider at the heart of hundreds of Web3 projects, and what our customers have benefited from the most when it comes to documentation.
Why your API doesn’t solve my problem: A use case-driven API designPronovix
API docs frequently fail to address developers’ needs by omitting common usage scenarios and use cases. Let’s take a look at good and bad practices for documenting API use cases, and take steps to ensure that developers get from our API and docs what they really want.
You wrote an API specification, documented your endpoints, and published SDKs. Here’s a question, though: Does your API actually solve your users’ problems?
API providers often fail to address common use cases to solve users’ needs, or their assumptions don’t match the reality. This may end up in frustration and loss of users.
In this talk, we will take a peek into developers’ mindset. I will show how to better understand the developers’ needs by researching the usage patterns, existing libraries and 3rd party experience layers, provide examples of good and bad practices, and suggest actionable steps to improve developer experience for your API.
At times, you have to build docs that cover not only REST-y APIs but also frontend SDKs. What do you do, when you have to offer docs for multiple such SDKs, based on different frameworks, under rapid, uncoordinated development with multiple feature enhancements per iteration and at times, with breaking changes, but versioned and searchable?
Developing a best-in-class deprecation policy for your APIsPronovix
Nobody likes ambiguity—especially when it comes to the stability of APIs and the expectations for availability long term. Avoid common pitfalls and explore a critical area where trust is built with developers through thoughtful policy and the development of best-in-class documentation.
A good deprecation policy involves a lot of forward thinking and an awareness of how developers or end users are currently leveraging your capabilities, and how a given API or feature deprecation could affect them in the future. The hard-earned trust that you’ve built and maintained with these individuals is at risk with any type of policy or documentation that is unclear.
The road to developing a clear, trustworthy deprecation policy is a multi-faceted initiative with input from product, engineering, customer success and other cross-functional teams, as well as external market awareness.
Knowing which voices to have in the room, what the industry standards are, and formulating appropriate communication timelines will ensure a world class policy is developed and documented before it’s needed.
Join us as we dive into the nuances of this process and how to avoid the common pitfalls that come from lacking a strategic, thoughtful approach to documenting a deprecation policy for your APIs.
At MongoDB, we now generate REST API references for MongoDB Atlas from annotations in the product’s source. Our team’s writers proposed, planned, led, and implemented this project–and learned a lot along the way. We’ll share how we got buy-in from engineering and product stakeholders, coordinated the project across teams, implemented swagger-core annotations in Java, and drove positive change to benefit our team, the company, and our users.
What do developers do when it comes to understanding and using APIs?Pronovix
It turns out there is no single answer. Developers may have unique goals, motivations, constraints, and challenges, and all of these influence how they approach the problem in front of them. However, more than a decade ago, three development styles were identified - systematic, pragmatic, and opportunistic - and the academic literature suggests that these still exist today.
Two of the three approaches, the systematic and the opportunistic pattern, can be considered as opposite extremes, while the pragmatic approach is situated in between and is similar to both. It is not a personality trait - people may approach a situation one way or another depending on their circumstances, goals, and motivations (however, they may also have a preferred approach, which is usually their characteristic).
Understanding the differences between these patterns (and the different needs) helps us to design in a way that serves most of the users, and even helps them to get into a state of flow by providing the optimal level of challenge to solve their problem.
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsPronovix
It's time to take the bias out of code, UI, docs, configurations, or our everyday language by ensuring we choose our words carefully to avoid harmful subtext or exclusion. We can do our part and take steps by examining assets from code to config files to API specifications to standards.
Heard of suss? You can suss out more information or you can find someone's information to be suss. "Suss" shows the flexibility of language. It’s an ongoing process to change how we use certain words. It's important to choose words carefully to convey the correct meaning and avoid harmful subtext or exclusion. Let's explore some of the tools and triage methods that it takes from an engineering viewpoint to make bias-free choices. How can you ensure that biased words do not sneak into code, UI, docs, configurations, or our everyday language?
First, let's walk through how to take an inventory of assets from code to config files to API specifications to standards. Next, by placing those findings into categories, prioritize the work to substitute with inclusive alternatives. Let's examine some examples using both API and code assets. Next is a demonstration of how to automate analyzing your source code or documentation with a linter, looking for patterns based on rules that are fed into the tool.
What's in the future for these efforts? Inclusive language should expand beyond English and North America efforts. To do so, let's organize the work with automation tooling, as engineers do.
Creating API documentation for international communitiesPronovix
How to create documentation and write code for an international audience, not just the people who speak and think like you. Make your APIs more useful for everyone on the planet.
Much of the documentation supplied by both Open Source and Close Souce projects assume the community have a good understanding of the English language and often North American culture as well. This creates barriers for many solution providers, who are the gateway to potentially huge markets for your project.
This talk discusses some of the cultural differences, particularly for people from Asia, in using English language API documentation. It suggests some strategies to help diverse audiences understand you APIs and create solutions using them.
The talk will cover not only differences in language but also other cultural differences that are often not obvious. For example:
Different expectations about publication formats, release processes, levels of support during the development process
Meeting and communications styles
Software development workflows, processes, and tools
Supporting people who are visually impaired will also be briefly discussed.
As well as discussing these issues, specific suggestions will be provided to make API docs accessible for as many people as possible.
This talk is based on Alec's work with customers in Europe, North America, Middle East, Asia, and Australasia. The last five have been spent as a developer evangelist working with PaperCut partners in China, Japan, Korea, US and Europe.
APIs in a modern enterprise are rarely uniform or all of the same type. The multitude of API types can be due to organic growth, mergers and acquisitions, or any number of other reasons. Regardless of their origin, APIs of all types need to be fully documented to facilitate a developer’s journey as they interact with your API ecosystem in order to develop useful applications. In this talk I will show examples of how we have augmented developer portals to document APIs that are not of the REST variety, such as AsyncAPI, GraphQL, SOAP, gRPC, and more, such that all API documentation can seamlessly live side-by-side.
Docs-as-Code: Evolving the API Documentation ExperiencePronovix
We are a software engineering team creating API docs. Docs are authored using Instructional Design principles to narrate use-cases and practical API implementations. This talk shares why & how we've applied software development practices to evolve our document tooling, creation, & delivery methods.
Our APIs describe asynchronous protocols used for embedded software (firmware) components in a digital 2-way radio communications system. The API is protocol data unit (PDU) based and its definition is described in a proprietary format; consequently, well-known API formats, such as Swagger/OpenAPI, or tools, such as doxygen, are not used.
Our product training and technical writing teams are very experienced in Instructional Design methods, but these teams have only written documentation for an end-user audience. Understanding software development processes is equally important as understanding two-way radio networks in order to successfully integrate with the APIs. This is the rationale for having a software engineering team develop the skillsets to write API documentation for a developer audience.
With a solid foundation of API documentation in place, regular examination of engineering efficiency and developer experience is appropriate. Repeated actions can be replaced by automation. Content can be modular and re-usable. Formats can be streamlined for easier consumption. Docs can be made portable and lightweight for faster delivery.
Developer journey - make it easy for devs to love your productPronovix
Ever wonder how some products are just lovable and easy to use while other are not? The good products have optimized onboarding into their ecosystem where you get the information served at the right time.
That’s thanks to developer journey and we will teach you how to get it right!
We will go through the basics such as how to analyze existing and non-existing developer touchpoints, set metrics and optimize them to increase the conversion.
Deliberate Complexity Conferences - 19 JULY 2022
Alicia Juarrero - Complexity is not complicatedness
Professor Alicia Juarrero, a leading complexity theory philosopher and academic, as well as the founder and president of VectorAnalytica, a technology company that specializes in large scale scientific data capture and real time analysis tools. Alicia's work in complexity theory is widely quoted by thought leaders in the technology space and referenced in many recent complexity-informed approaches for managing highly dynamic systems, as well as in knowledge management.
How cognitive biases and ranking can foster an ineffective architecture and d...Pronovix
Deliberate Complexity Conferences - Building Successful Platforms and APIs (29 June). Kenny Baas-Schwegler & Evelyn van Kelle - How cognitive biases and ranking can foster an ineffective architecture and design
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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.
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....
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 …
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.
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.
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.
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.
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 …
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….
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
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.
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 …
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….
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….
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} ….
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....
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 ...
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 ...
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 ….