SlideShare a Scribd company logo
1 of 31
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

What's hot (20)

Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
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...
 
How NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsHow NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOps
 
Urban code - DevOps - cost reduction
Urban code - DevOps - cost reductionUrban code - DevOps - cost reduction
Urban code - DevOps - cost reduction
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
 
Measuring DevOps Impact to Boost Effectiveness
Measuring DevOps Impact to Boost EffectivenessMeasuring DevOps Impact to Boost Effectiveness
Measuring DevOps Impact to Boost Effectiveness
 
From DevOps to DevSecOps: 2 Dimensions of Security for DevOps
From DevOps to DevSecOps: 2 Dimensions of Security for DevOpsFrom DevOps to DevSecOps: 2 Dimensions of Security for DevOps
From DevOps to DevSecOps: 2 Dimensions of Security for DevOps
 
DevOps Thinking for the Line of Business
DevOps Thinking for the Line of BusinessDevOps Thinking for the Line of Business
DevOps Thinking for the Line of Business
 
Webcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframeWebcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframe
 
A DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scaleA DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scale
 
DevOps at Scale with Containers and the Cloud
DevOps at Scale with Containers and the CloudDevOps at Scale with Containers and the Cloud
DevOps at Scale with Containers and the Cloud
 
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...
 
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
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
 
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
 
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
 
Unicorns on an Aircraft Carrier: CDSummit London and Stockholm Keynote
Unicorns on an Aircraft Carrier: CDSummit London and Stockholm KeynoteUnicorns on an Aircraft Carrier: CDSummit London and Stockholm Keynote
Unicorns on an Aircraft Carrier: CDSummit London and Stockholm Keynote
 
DevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewDevOps for Enterprise Systems Overview
DevOps for Enterprise Systems Overview
 
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
 
Bluemix DevOps Meetup
Bluemix DevOps MeetupBluemix DevOps Meetup
Bluemix DevOps Meetup
 

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

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
 
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
 
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_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
 
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]
 

More from VMware Tanzu

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

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

Editor's Notes

  1. - Introduce PCF as platform using value line proposition - Point out that talk is about PAS – Pivotal Application Service (not Container Service PKS)