SlideShare a Scribd company logo
Achieving Hyper-Productivity through the Use of Microservices and PCF
Achieving Hyper-Productivity
through the Use of Microservices
and PCF
Gregor Zurowski | Thomas Seibert
Achieving Hyper-Productivity through the Use of Microservices and PCF
Who We Are
Software Development @ Mercedes-Benz.io
Thomas Seibert
Lead Architect
Gregor Zurowski
Software Architect
Achieving Hyper-Productivity through the Use of Microservices and PCF
What We Do
Mercedes-Benz on the Web
 End consumer oriented
 Focus on product information
 Rolled out to 50+ markets
Achieving Hyper-Productivity through the Use of Microservices and PCF
Meaning of Productivity
Achieving Hyper-Productivity through the Use of Microservices and PCF
What Does Productivity Mean?
 Output/input
 Lines of Code
 Function Point Analysis
 Working overtime
 Costs as the only kind of measured input
 IT as a cost center vs. the engine of competitive advantage
 Impact on customer behavior/resource binding
 Customer value creation ensures impact
 Where do we allocate resources?
Old World
New World
Achieving Hyper-Productivity through the Use of Microservices and PCF
What Does Hyper-Productivity Mean?
 "Hyper" comes from the ancient greek (ὑπέρ) and means over or above
 Reach a new level of productivity
 Is a 10x development team possible?
 Don't work on the pedal, change gear
 Understanding the processes (systems thinking)
 Value stream mapping
 Elimination of bottleneck
 Measuring impact
 You can't improve what you can't measure
 Metrics mean nothing if they are not actionable
Achieving Hyper-Productivity through the Use of Microservices and PCF
Gaining Productivity by Eliminating Waste
The Seven Wastes of Software Development
 Extra features
 Relearning
 Task Switching
 Partially done work
 Handoffs
 Delays
 Defects
based on Mary and Tom Poppendieck’s work on lean software development
Achieving Hyper-Productivity through the Use of Microservices and PCF
Gaining Productivity by Eliminating Waste
How Can Microservices and PCF Help?
 Extra features
 Relearning
 Task Switching
 Partially done work ✓
 Handoffs ✓
 Delays ✓
 Defects ✓
Achieving Hyper-Productivity through the Use of Microservices and PCF
Approximation Velocity
Speed is Nothing without Control
Medium development velocity,
constantly adjusted direction
Low development velocity,
unadjusted direction
High development velocity,
unadjusted direction
Achieving Hyper-Productivity through the Use of Microservices and PCF
Productivity is Context Dependent
 Several domains (Cynefin framework)
 Obvious
 Complicated
 Complex
 Chaotic
 Disorder/confusion
ComplicatedComplex
Chaotic Obvious
Disorder
based on David Snowden’s Cynefin framework
Achieving Hyper-Productivity through the Use of Microservices and PCF
Productivity in an Enterprise Context
Value Stream Mapping in the Enterprise
Value chain
Functional
maturity
Genesis Custom built Product Commodity
Microservice 1
User focused feature
RDBMSElasticsearch
PCF
IaaS OS
Semantic graph
Upper in the value axis
means: More business
orientation, less
generic functionalityMicroservice 2
Electricity
based on Simon Wardley’s maps
Achieving Hyper-Productivity through the Use of Microservices and PCF
Productivity with PCF and
Microservices
Achieving Hyper-Productivity through the Use of Microservices and PCF
Value Line Proposition of Pivotal Application Service
IaaS
BOSH
Data stores
Service Broker
Service
registry
Applications
value line
managed
by platform
managed by
teams
Message queues
Config
server
Hystrix
dashboard
based on Dekel Tankel’s value line diagram
Router Loggregator
Other PCF
components
Achieving Hyper-Productivity through the Use of Microservices and PCF
Platform Features for Increasing Productivity
Opinionated Platform
Platforms such as PCF are opinionated to reduce complexity by making
assumptions and assuring consistency
 Buildpacks abstract away details and complexities of container construction
 Cloud-native components for service discovery and configuration
Achieving Hyper-Productivity through the Use of Microservices and PCF
Platform Features for Increasing Productivity
Self-Service Provisioning
Self-service provisioning facilities for databases and other middleware services
 Marketplace experience for development teams
 Service brokers provision service instances
 Service bindings provide details for attaching (bind) resources to applications
 Service Broker for AWS further decreases operational burden of managing highly-
available middleware services (storage, messaging, databases)
Service Broker
<<Service Instance>>
Middleware
<<bind>> App<<provision>>
environment
variables
Achieving Hyper-Productivity through the Use of Microservices and PCF
Platform Features for Increasing Productivity
Isolation and Decoupling
Provides isolation and decoupling of teams by
providing
 Process-level isolation with containers
 Permission-level partitioning with orgs and
spaces
<<org>>
<<space>> <<space>>
App App App
Service
<<org>>
<<space>> <<space>>
App
Service ServiceService
Achieving Hyper-Productivity through the Use of Microservices and PCF
Platform Features for Increasing Productivity
Scaling and Monitoring
 Scaling
 Vertical scaling
 Configure memory and CPU via manifest files
 Horizontal scaling
 Configure instance count via manifest or runtime
 Scaling components independently
 Functional decomposition using a Microservice architecture
 Monitoring and metrics
 App Manager provides simplified dashboard view of applications and services
 Hystrix dashboard provide overview of communication within Microservice architecture
 PCF Metrics for insights and troubleshooting
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Introduction
Lessons learned we presented at SpringOne 2017:
"Time needed for onboarding new teams has
initially been underestimated"
How did we address this?
Standardized and automated bootstrapping process for ramping up
new projects
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Overview
Product Team
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
100%Generate
code
Commit
& push
first
integration
completed
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Operations View | 1
 Process gateway including sign-off by stakeholders
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Operations View | 2
 Create Git repositories for
 application code
 configuration
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Operations View | 3
 Create orgs and spaces for all deployment environments
 Create service bindings for shared services
 Configure central config server
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Operations View | 4
 Setup Jenkins pipelines using Jenkins Seed Plugin
 Create multi-branch build job
 Create one deployment job per environment
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Operations View | 5
 Add routes for exposing application via API gateway in all environments
Platform Operations
Project
Initiation
SCM Setup PCF Setup CI/CD Setup
API
Gateway
Setup
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Product Team View | 1
 Invoke code generator for creating application skeleton
 Generated code contains:
 Minimal set of mandatory dependencies
 PCF manifest files
 Jenkins pipelines
 Java sources with unit tests
 Platform-specific configuration
Product Team
Generate
code
Commit
& push
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Product Team View | 2
 A simple commit and push to SCM will…
 automatically build the application
 automatically integrate the application into the dev environment
 Developer can access the application through API gateway or via PCF route
Product Team
100%
first
integration
completed!
Generate
code
Commit
& push
Achieving Hyper-Productivity through the Use of Microservices and PCF
Project Bootstrapping
Lessons Learned
 Automate as much as possible (obvious)
 In our case – more specifically:
 Don’t expect developers push changes with the CLI
 Don’t offload implementation of CI/CD pipelines to developers
 Provide a simple and extensible CI/CD library
 "Pipeline as code"
 Aim for self-contained build definitions
 Don’t rely on external tooling
 Application repository contains all dependencies for building the application
 Security and automation requirements might collide
Achieving Hyper-Productivity through the Use of Microservices and PCF
Conclusion
Achieving Hyper-Productivity through the Use of Microservices and PCF
What are the Most Important Factors of Productivity?
 "Individuals and interactions over processes and tools"
 Psychological safety
 You can't engineer culture
Achieving Hyper-Productivity through the Use of Microservices and PCF
Thank You

More Related Content

What's hot

Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: Webinar
Claudia Ring
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
IBM UrbanCode Products
 
Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0IBM UrbanCode Products
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
IBM Rational software
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
IBM UrbanCode Products
 
IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...
XebiaLabs
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
IBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
IBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
IBM UrbanCode Products
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
IBM UrbanCode Products
 
Introduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and ReleaseIntroduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and Release
Rob Cuddy
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
Integrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineIntegrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipeline
Richard Irving
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
IBM UrbanCode Products
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Sanjeev Sharma
 
How NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsHow NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOps
Sanjeev Sharma
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
Michael Elder
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
IBM UrbanCode Products
 

What's hot (20)

Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: Webinar
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
 
Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
 
Introduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and ReleaseIntroduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and Release
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Integrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineIntegrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipeline
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
 
Fundamentals of Deploy and Release
Fundamentals of Deploy and ReleaseFundamentals of Deploy and Release
Fundamentals of Deploy and Release
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
How NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsHow NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOps
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 

Similar to Achieving Hyper-Productivity through the Use of Microservices and PCF

DTS-1778 Understanding DevOps - IBM InterConnect Session
DTS-1778 Understanding DevOps - IBM InterConnect SessionDTS-1778 Understanding DevOps - IBM InterConnect Session
DTS-1778 Understanding DevOps - IBM InterConnect Session
Sanjeev Sharma
 
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
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
Felipe Freire
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
Ben Saunders
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
Phil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
Phil Reay
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
VMware Tanzu
 
Application Migration: How to Start, Scale and Succeed
Application Migration: How to Start, Scale and SucceedApplication Migration: How to Start, Scale and Succeed
Application Migration: How to Start, Scale and Succeed
VMware Tanzu
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
Ronak Banka
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
Sanjeev Sharma
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
VMware Tanzu Korea
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
VMware Tanzu Korea
 
Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluent
confluent
 
How can Enterprises benefit from GitOps.pdf
How can  Enterprises benefit from GitOps.pdfHow can  Enterprises benefit from GitOps.pdf
How can Enterprises benefit from GitOps.pdf
OpsTree solutions
 
Building and Delivering Software in a Faster and More Consistent Way
Building and Delivering Software in a Faster and More Consistent WayBuilding and Delivering Software in a Faster and More Consistent Way
Building and Delivering Software in a Faster and More Consistent Way
DevOps Indonesia
 
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
VMware Tanzu
 
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero
 
Accelerating Software Delivery [Decoding DevOps Conference - InfoSeption]
Accelerating Software Delivery  [Decoding DevOps Conference - InfoSeption]Accelerating Software Delivery  [Decoding DevOps Conference - InfoSeption]
Accelerating Software Delivery [Decoding DevOps Conference - InfoSeption]
InfoSeption
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Emerasoft, solutions to collaborate
 

Similar to Achieving Hyper-Productivity through the Use of Microservices and PCF (20)

DTS-1778 Understanding DevOps - IBM InterConnect Session
DTS-1778 Understanding DevOps - IBM InterConnect SessionDTS-1778 Understanding DevOps - IBM InterConnect Session
DTS-1778 Understanding DevOps - IBM InterConnect Session
 
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
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
 
Application Migration: How to Start, Scale and Succeed
Application Migration: How to Start, Scale and SucceedApplication Migration: How to Start, Scale and Succeed
Application Migration: How to Start, Scale and Succeed
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluent
 
How can Enterprises benefit from GitOps.pdf
How can  Enterprises benefit from GitOps.pdfHow can  Enterprises benefit from GitOps.pdf
How can Enterprises benefit from GitOps.pdf
 
Building and Delivering Software in a Faster and More Consistent Way
Building and Delivering Software in a Faster and More Consistent WayBuilding and Delivering Software in a Faster and More Consistent Way
Building and Delivering Software in a Faster and More Consistent Way
 
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
 
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprise
 
Accelerating Software Delivery [Decoding DevOps Conference - InfoSeption]
Accelerating Software Delivery  [Decoding DevOps Conference - InfoSeption]Accelerating Software Delivery  [Decoding DevOps Conference - InfoSeption]
Accelerating Software Delivery [Decoding DevOps Conference - InfoSeption]
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
 

Recently uploaded

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 

Recently uploaded (20)

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 

Achieving Hyper-Productivity through the Use of Microservices and PCF

  • 1. Achieving Hyper-Productivity through the Use of Microservices and PCF Achieving Hyper-Productivity through the Use of Microservices and PCF Gregor Zurowski | Thomas Seibert
  • 2. Achieving Hyper-Productivity through the Use of Microservices and PCF Who We Are Software Development @ Mercedes-Benz.io Thomas Seibert Lead Architect Gregor Zurowski Software Architect
  • 3. Achieving Hyper-Productivity through the Use of Microservices and PCF What We Do Mercedes-Benz on the Web  End consumer oriented  Focus on product information  Rolled out to 50+ markets
  • 4. Achieving Hyper-Productivity through the Use of Microservices and PCF Meaning of Productivity
  • 5. Achieving Hyper-Productivity through the Use of Microservices and PCF What Does Productivity Mean?  Output/input  Lines of Code  Function Point Analysis  Working overtime  Costs as the only kind of measured input  IT as a cost center vs. the engine of competitive advantage  Impact on customer behavior/resource binding  Customer value creation ensures impact  Where do we allocate resources? Old World New World
  • 6. Achieving Hyper-Productivity through the Use of Microservices and PCF What Does Hyper-Productivity Mean?  "Hyper" comes from the ancient greek (ὑπέρ) and means over or above  Reach a new level of productivity  Is a 10x development team possible?  Don't work on the pedal, change gear  Understanding the processes (systems thinking)  Value stream mapping  Elimination of bottleneck  Measuring impact  You can't improve what you can't measure  Metrics mean nothing if they are not actionable
  • 7. Achieving Hyper-Productivity through the Use of Microservices and PCF Gaining Productivity by Eliminating Waste The Seven Wastes of Software Development  Extra features  Relearning  Task Switching  Partially done work  Handoffs  Delays  Defects based on Mary and Tom Poppendieck’s work on lean software development
  • 8. Achieving Hyper-Productivity through the Use of Microservices and PCF Gaining Productivity by Eliminating Waste How Can Microservices and PCF Help?  Extra features  Relearning  Task Switching  Partially done work ✓  Handoffs ✓  Delays ✓  Defects ✓
  • 9. Achieving Hyper-Productivity through the Use of Microservices and PCF Approximation Velocity Speed is Nothing without Control Medium development velocity, constantly adjusted direction Low development velocity, unadjusted direction High development velocity, unadjusted direction
  • 10. Achieving Hyper-Productivity through the Use of Microservices and PCF Productivity is Context Dependent  Several domains (Cynefin framework)  Obvious  Complicated  Complex  Chaotic  Disorder/confusion ComplicatedComplex Chaotic Obvious Disorder based on David Snowden’s Cynefin framework
  • 11. Achieving Hyper-Productivity through the Use of Microservices and PCF Productivity in an Enterprise Context Value Stream Mapping in the Enterprise Value chain Functional maturity Genesis Custom built Product Commodity Microservice 1 User focused feature RDBMSElasticsearch PCF IaaS OS Semantic graph Upper in the value axis means: More business orientation, less generic functionalityMicroservice 2 Electricity based on Simon Wardley’s maps
  • 12. Achieving Hyper-Productivity through the Use of Microservices and PCF Productivity with PCF and Microservices
  • 13. Achieving Hyper-Productivity through the Use of Microservices and PCF Value Line Proposition of Pivotal Application Service IaaS BOSH Data stores Service Broker Service registry Applications value line managed by platform managed by teams Message queues Config server Hystrix dashboard based on Dekel Tankel’s value line diagram Router Loggregator Other PCF components
  • 14. Achieving Hyper-Productivity through the Use of Microservices and PCF Platform Features for Increasing Productivity Opinionated Platform Platforms such as PCF are opinionated to reduce complexity by making assumptions and assuring consistency  Buildpacks abstract away details and complexities of container construction  Cloud-native components for service discovery and configuration
  • 15. Achieving Hyper-Productivity through the Use of Microservices and PCF Platform Features for Increasing Productivity Self-Service Provisioning Self-service provisioning facilities for databases and other middleware services  Marketplace experience for development teams  Service brokers provision service instances  Service bindings provide details for attaching (bind) resources to applications  Service Broker for AWS further decreases operational burden of managing highly- available middleware services (storage, messaging, databases) Service Broker <<Service Instance>> Middleware <<bind>> App<<provision>> environment variables
  • 16. Achieving Hyper-Productivity through the Use of Microservices and PCF Platform Features for Increasing Productivity Isolation and Decoupling Provides isolation and decoupling of teams by providing  Process-level isolation with containers  Permission-level partitioning with orgs and spaces <<org>> <<space>> <<space>> App App App Service <<org>> <<space>> <<space>> App Service ServiceService
  • 17. Achieving Hyper-Productivity through the Use of Microservices and PCF Platform Features for Increasing Productivity Scaling and Monitoring  Scaling  Vertical scaling  Configure memory and CPU via manifest files  Horizontal scaling  Configure instance count via manifest or runtime  Scaling components independently  Functional decomposition using a Microservice architecture  Monitoring and metrics  App Manager provides simplified dashboard view of applications and services  Hystrix dashboard provide overview of communication within Microservice architecture  PCF Metrics for insights and troubleshooting
  • 18. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping
  • 19. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Introduction Lessons learned we presented at SpringOne 2017: "Time needed for onboarding new teams has initially been underestimated" How did we address this? Standardized and automated bootstrapping process for ramping up new projects
  • 20. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Overview Product Team Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup 100%Generate code Commit & push first integration completed
  • 21. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Operations View | 1  Process gateway including sign-off by stakeholders Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup
  • 22. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Operations View | 2  Create Git repositories for  application code  configuration Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup
  • 23. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Operations View | 3  Create orgs and spaces for all deployment environments  Create service bindings for shared services  Configure central config server Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup
  • 24. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Operations View | 4  Setup Jenkins pipelines using Jenkins Seed Plugin  Create multi-branch build job  Create one deployment job per environment Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup
  • 25. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Operations View | 5  Add routes for exposing application via API gateway in all environments Platform Operations Project Initiation SCM Setup PCF Setup CI/CD Setup API Gateway Setup
  • 26. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Product Team View | 1  Invoke code generator for creating application skeleton  Generated code contains:  Minimal set of mandatory dependencies  PCF manifest files  Jenkins pipelines  Java sources with unit tests  Platform-specific configuration Product Team Generate code Commit & push
  • 27. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Product Team View | 2  A simple commit and push to SCM will…  automatically build the application  automatically integrate the application into the dev environment  Developer can access the application through API gateway or via PCF route Product Team 100% first integration completed! Generate code Commit & push
  • 28. Achieving Hyper-Productivity through the Use of Microservices and PCF Project Bootstrapping Lessons Learned  Automate as much as possible (obvious)  In our case – more specifically:  Don’t expect developers push changes with the CLI  Don’t offload implementation of CI/CD pipelines to developers  Provide a simple and extensible CI/CD library  "Pipeline as code"  Aim for self-contained build definitions  Don’t rely on external tooling  Application repository contains all dependencies for building the application  Security and automation requirements might collide
  • 29. Achieving Hyper-Productivity through the Use of Microservices and PCF Conclusion
  • 30. Achieving Hyper-Productivity through the Use of Microservices and PCF What are the Most Important Factors of Productivity?  "Individuals and interactions over processes and tools"  Psychological safety  You can't engineer culture
  • 31. Achieving Hyper-Productivity through the Use of Microservices and PCF Thank You