SlideShare a Scribd company logo
1 of 49
Download to read offline
SpringOne 2016
in a nutshell
@JeroenResoort @jdriven_nl
Tim te Beek
How is Las Vegas?
How is Las Vegas?
It’s Hot! 35 degrees Celsius…
How is Las Vegas?
It’s Hot! 35 degrees Celsius… at 05:00 in the morning…
How is Las Vegas?
It’s Hot! 35 degrees Celsius… at 05:00 in the morning…
45 degrees Celsius during daytime!
● 2000+ attendees
● 184 speakers
● Great speakers, great talks
● 9 parallel tracks
● Superb venue
Today
A variety of subjects
● Spring Boot 1.4
● Spring Framework 5.0
● PCF Dev
● Microservices and DDD
● The talent pool
● Consumer driven contracts
● Spring cloud Sleuth and Zipkin
What’s new in Spring boot 1.4
Uses Spring Framework 4.3
Run Unit Tests with only a ‘slice’ of Spring easily
● @WebMvcTest, @DataJpaTest, @JsonTest
● Only setup controller for specific test
● Setup MockMvc automatically
● Less boilerplate code
What’s new in Spring boot 1.4
FailureAnalyzer
● Many common failures get easy to read failure messages
● You can write your own analyzers
Spring REST Docs
● Combines hand-written documentation written with Asciidoctor and
auto-generated snippets produced with Spring MVC Test
● Guarantees your documentation is in line with your API
What’s new in Spring boot 1.4
See keynote session by Stephane Nicoll and Josh Long
https://www.youtube.com/watch?v=7U90Lfxatpk
Microservices and Domain Driven Design
Microservices and DDD go hand in hand
DDD Aggregates are a useful concept when designing microservices
When communicating across contexts you use Events
Forget about ACID and XA transactions
Use event sourcing
Check the talk by Chris Richardson when it comes online!
Spring Framework 5.0
Roadmap:
● 5.0 RC1: Dec 2016
● 5.0 GA: Q1 2017
Upgrades: JDK8+, Servlets 3.1+, JMS 2.0+, JPA 2.1+, JUnit 5
JDK9 compatibility
Startup performance
Junit 5
Spring Framework 5.0
HTTP/2
Lambda-oriented HTTP routing and processing
Reactive streams support
Backpressure
Use Spring Reactor or RxJava
Why reactive?
Why reactive?
More on Reactive
Don’t miss the reactive workshop by Bas and Riccardo at JFall!
"Making the paradigm-shift to Reactive Programming with Spring 5 Web Reactive"
Pivotal:
“We Transform How The World Builds Software”
Keynote session: “Help Developers Do What They Love”
by Onsi Fakhouri
Summarises quite nicely the main subjects of the conference
How to transform your business into a software
business?
Organisation structure
Cultural change
Continuous delivery. Continuously experimenting and taking risk.
How to transform your business into a software
business?
ComCast has made this journey, they are now doing 4000 deployments a day
PCF Dev
Run a cloud foundry locally from your laptop
Easy to install: download file and execute
Some additional steps required to run offline
To update to a new version you will need to download and install again
PCF Dev
Demo time
Using 100% of the talent pool
Don’t ignore women and people of other ethnicity
A Tale of Two Ladies: On Generating Opportunity for Women in Tech - Cornelia
Davis
Inclusion through Lending Privilege - Anjuan Simmons
Using 100% of the talent pool
Education
Perception
Unconscious bias
Consumer driven contracts
Interesting way of defining contracts
See http://martinfowler.com/articles/consumerDrivenContracts.html
Consumer contracts express a subset of the system's business function
capabilities in terms of the consumer's expectations of the provider contract.
Consumer driven contracts
Interesting way of defining contracts
See http://martinfowler.com/articles/consumerDrivenContracts.html
Consumer contracts express a subset of the system's business function
capabilities in terms of the consumer's expectations of the provider contract.
Spring Cloud Contract helps you with that
Spring Cloud Contract
See https://cloud.spring.io/spring-cloud-contract/
Spring Cloud Contract Verifier is a tool that enables Consumer Driven Contract (CDC) development of
JVM-based applications. It is shipped with Contract Definition Language (DSL). Contract definitions are
used to produce following resources:
● JSON stub definitions to be used by WireMock (HTTP Server Stub) when doing integration testing
on the client code (client tests). Test code must still be written by hand, test data is produced by
Spring Cloud Contract Verifier
● Acceptance tests (in JUnit or Spock) used to verify if server-side implementation of the API is
compliant with the contract (server tests). Full test is generated by Spring Cloud Contract Verifier
Latency analysis and distributed tracing
● Service architecture isn’t simple anymore
○ Multiple servers, instances, possible paths
● Troubleshooting becomes murder-mystery
○ Is POST /things slow?
○ Where did this happen?
○ Which event was it?
○ Is it abnormal?
● Clues are scattered and hard to relate
Spring Cloud Sleuth - Span
Span - individual operation, contains timestamped events and tags
Unique, generated id
Spring Cloud Sleuth - Trace
Trace - end-to-end latency graph, composed of spans
Another unique, generated id
Spring Cloud Sleuth - Log correlation
Logs get Mapped Diagnostic Context tags of span and trace IDs
Correlate requests across services with Logstash / Kibana
Send traces to Zipkin for latency visualization
Spring Cloud Sleuth - How to
1. Add `spring-cloud-starter-sleuth` to classpath
2. Check instrumentation
a. Out of the box: HTTP, Messaging, Feign, Zuul, Hystrics, @Async, Runnable/Callable
3. Send to Zipkin with `spring-cloud-starter-sleuth-zipkin`
a. HTTP to localhost:9411 by default
4. Tweak sampling percentage
a. 10% by default
Visualize traces with Zipkin
Zipkin - How to
Just a jar, available from GitHub
Data stored in memory, cassandra, elasticsearch or mysql
Available as-a-service in PCF
Sleuth / Zipkin summary
● Log correlation allows you to match logs for a given trace
● Distributed tracing allows you to quickly see latency issues in your system
● Zipkin is a great tool to visualize the latency graph and system dependencies
● Spring Cloud Sleuth integrates with Zipkin and grants you log correlation
What more?
Spring cloud task and Spring cloud data flow
(evolution of Spring Batch and Spring XD)
Google and Microsoft promoting their cloud platforms as cloud foundry compatible
Watch list
Youtube channel from Pivotal contains keynotes sessions and some other talks:
https://www.youtube.com/watch?v=xdw_9dADM-4&list=PLAdzTan_eSPQ1fuLSBhyB4eEZF7JQM0Mx
Recommended talks:
● Simplifying the Future - Adrian Cockcroft - https://www.youtube.com/watch?v=DGK6jjamzfY
● A Tale of Two Ladies: On Generating Opportunity for Women in Tech - Cornelia Davis -
https://www.youtube.com/watch?v=2lFv3qknbqQ
● Cloud Native Java - Josh Long - https://www.youtube.com/watch?v=5q8B6lYhFvE
● Developing microservices with aggregates - Chris Richardson
● Consumer Driven Contracts and your microservice architecture - Marcin Grzejszczak
● From Imperative To Reactive Web Apps - Rossen Stoyanchev
● A lot more...
(hope they come online soon!)
“Open source is a positive-sum game”
Sam Ramji, CEO at Cloud Foundry
SpringOne 2016
in a nutshell
@JeroenResoort @jdriven_nl
Tim te Beek

More Related Content

What's hot

What's hot (20)

Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
 
Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and Ansible
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
 
Loggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging LibrariesLoggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging Libraries
 
Demystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDemystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in docker
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
 
Your Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiYour Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan Tufecki
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Webinar: High velocity deployment with google cloud and weave cloud
Webinar: High velocity deployment with google cloud and weave cloudWebinar: High velocity deployment with google cloud and weave cloud
Webinar: High velocity deployment with google cloud and weave cloud
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
 
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
 
Windows container security
Windows container securityWindows container security
Windows container security
 
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen..."Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
 
Democratizing machine learning on kubernetes
Democratizing machine learning on kubernetesDemocratizing machine learning on kubernetes
Democratizing machine learning on kubernetes
 

Similar to SpringOne 2016 in a nutshell

Similar to SpringOne 2016 in a nutshell (20)

Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data edition
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
 
Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring Applications
 
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUGMicroservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
 
Nodejs
NodejsNodejs
Nodejs
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

SpringOne 2016 in a nutshell

  • 1. SpringOne 2016 in a nutshell @JeroenResoort @jdriven_nl Tim te Beek
  • 2.
  • 3. How is Las Vegas?
  • 4.
  • 5.
  • 6. How is Las Vegas? It’s Hot! 35 degrees Celsius…
  • 7. How is Las Vegas? It’s Hot! 35 degrees Celsius… at 05:00 in the morning…
  • 8. How is Las Vegas? It’s Hot! 35 degrees Celsius… at 05:00 in the morning… 45 degrees Celsius during daytime!
  • 9.
  • 10. ● 2000+ attendees ● 184 speakers ● Great speakers, great talks ● 9 parallel tracks ● Superb venue
  • 11. Today A variety of subjects ● Spring Boot 1.4 ● Spring Framework 5.0 ● PCF Dev ● Microservices and DDD ● The talent pool ● Consumer driven contracts ● Spring cloud Sleuth and Zipkin
  • 12. What’s new in Spring boot 1.4 Uses Spring Framework 4.3 Run Unit Tests with only a ‘slice’ of Spring easily ● @WebMvcTest, @DataJpaTest, @JsonTest ● Only setup controller for specific test ● Setup MockMvc automatically ● Less boilerplate code
  • 13. What’s new in Spring boot 1.4 FailureAnalyzer ● Many common failures get easy to read failure messages ● You can write your own analyzers Spring REST Docs ● Combines hand-written documentation written with Asciidoctor and auto-generated snippets produced with Spring MVC Test ● Guarantees your documentation is in line with your API
  • 14. What’s new in Spring boot 1.4 See keynote session by Stephane Nicoll and Josh Long https://www.youtube.com/watch?v=7U90Lfxatpk
  • 15. Microservices and Domain Driven Design Microservices and DDD go hand in hand DDD Aggregates are a useful concept when designing microservices When communicating across contexts you use Events Forget about ACID and XA transactions Use event sourcing Check the talk by Chris Richardson when it comes online!
  • 16. Spring Framework 5.0 Roadmap: ● 5.0 RC1: Dec 2016 ● 5.0 GA: Q1 2017 Upgrades: JDK8+, Servlets 3.1+, JMS 2.0+, JPA 2.1+, JUnit 5 JDK9 compatibility Startup performance Junit 5
  • 17. Spring Framework 5.0 HTTP/2 Lambda-oriented HTTP routing and processing Reactive streams support Backpressure Use Spring Reactor or RxJava
  • 20.
  • 21.
  • 22. More on Reactive Don’t miss the reactive workshop by Bas and Riccardo at JFall! "Making the paradigm-shift to Reactive Programming with Spring 5 Web Reactive"
  • 23. Pivotal: “We Transform How The World Builds Software”
  • 24. Keynote session: “Help Developers Do What They Love” by Onsi Fakhouri Summarises quite nicely the main subjects of the conference
  • 25. How to transform your business into a software business? Organisation structure Cultural change Continuous delivery. Continuously experimenting and taking risk.
  • 26. How to transform your business into a software business? ComCast has made this journey, they are now doing 4000 deployments a day
  • 27. PCF Dev Run a cloud foundry locally from your laptop Easy to install: download file and execute Some additional steps required to run offline To update to a new version you will need to download and install again
  • 28.
  • 30. Using 100% of the talent pool Don’t ignore women and people of other ethnicity A Tale of Two Ladies: On Generating Opportunity for Women in Tech - Cornelia Davis Inclusion through Lending Privilege - Anjuan Simmons
  • 31.
  • 32.
  • 33. Using 100% of the talent pool Education Perception Unconscious bias
  • 34. Consumer driven contracts Interesting way of defining contracts See http://martinfowler.com/articles/consumerDrivenContracts.html Consumer contracts express a subset of the system's business function capabilities in terms of the consumer's expectations of the provider contract.
  • 35.
  • 36. Consumer driven contracts Interesting way of defining contracts See http://martinfowler.com/articles/consumerDrivenContracts.html Consumer contracts express a subset of the system's business function capabilities in terms of the consumer's expectations of the provider contract. Spring Cloud Contract helps you with that
  • 37. Spring Cloud Contract See https://cloud.spring.io/spring-cloud-contract/ Spring Cloud Contract Verifier is a tool that enables Consumer Driven Contract (CDC) development of JVM-based applications. It is shipped with Contract Definition Language (DSL). Contract definitions are used to produce following resources: ● JSON stub definitions to be used by WireMock (HTTP Server Stub) when doing integration testing on the client code (client tests). Test code must still be written by hand, test data is produced by Spring Cloud Contract Verifier ● Acceptance tests (in JUnit or Spock) used to verify if server-side implementation of the API is compliant with the contract (server tests). Full test is generated by Spring Cloud Contract Verifier
  • 38. Latency analysis and distributed tracing ● Service architecture isn’t simple anymore ○ Multiple servers, instances, possible paths ● Troubleshooting becomes murder-mystery ○ Is POST /things slow? ○ Where did this happen? ○ Which event was it? ○ Is it abnormal? ● Clues are scattered and hard to relate
  • 39. Spring Cloud Sleuth - Span Span - individual operation, contains timestamped events and tags Unique, generated id
  • 40. Spring Cloud Sleuth - Trace Trace - end-to-end latency graph, composed of spans Another unique, generated id
  • 41. Spring Cloud Sleuth - Log correlation Logs get Mapped Diagnostic Context tags of span and trace IDs Correlate requests across services with Logstash / Kibana Send traces to Zipkin for latency visualization
  • 42. Spring Cloud Sleuth - How to 1. Add `spring-cloud-starter-sleuth` to classpath 2. Check instrumentation a. Out of the box: HTTP, Messaging, Feign, Zuul, Hystrics, @Async, Runnable/Callable 3. Send to Zipkin with `spring-cloud-starter-sleuth-zipkin` a. HTTP to localhost:9411 by default 4. Tweak sampling percentage a. 10% by default
  • 44. Zipkin - How to Just a jar, available from GitHub Data stored in memory, cassandra, elasticsearch or mysql Available as-a-service in PCF
  • 45. Sleuth / Zipkin summary ● Log correlation allows you to match logs for a given trace ● Distributed tracing allows you to quickly see latency issues in your system ● Zipkin is a great tool to visualize the latency graph and system dependencies ● Spring Cloud Sleuth integrates with Zipkin and grants you log correlation
  • 46. What more? Spring cloud task and Spring cloud data flow (evolution of Spring Batch and Spring XD) Google and Microsoft promoting their cloud platforms as cloud foundry compatible
  • 47. Watch list Youtube channel from Pivotal contains keynotes sessions and some other talks: https://www.youtube.com/watch?v=xdw_9dADM-4&list=PLAdzTan_eSPQ1fuLSBhyB4eEZF7JQM0Mx Recommended talks: ● Simplifying the Future - Adrian Cockcroft - https://www.youtube.com/watch?v=DGK6jjamzfY ● A Tale of Two Ladies: On Generating Opportunity for Women in Tech - Cornelia Davis - https://www.youtube.com/watch?v=2lFv3qknbqQ ● Cloud Native Java - Josh Long - https://www.youtube.com/watch?v=5q8B6lYhFvE ● Developing microservices with aggregates - Chris Richardson ● Consumer Driven Contracts and your microservice architecture - Marcin Grzejszczak ● From Imperative To Reactive Web Apps - Rossen Stoyanchev ● A lot more... (hope they come online soon!)
  • 48. “Open source is a positive-sum game” Sam Ramji, CEO at Cloud Foundry
  • 49. SpringOne 2016 in a nutshell @JeroenResoort @jdriven_nl Tim te Beek