SlideShare a Scribd company logo
Surviving In A
Microservices Environment
Steve Pember
CTO, ThirdChannel
@svpember
@spring_io
#springio17
Microservice Blog Posts & Presentations
• Microservices: Yay!
• Microservices: Boo!
• Smashing The Monolith (and here’s how
we did it)
• Microservices + Technology X
• Microservices + Methodology Y
MICROSERVICES HAVE MANY LESSONS TO OFFER
@spring_io
#springio17
WHAT EVEN ARE MICROSERVICES?
Surviving in a Microservices Environment
@spring_io
#springio17
Why Choose Microservices?
• Reduce Coupling!
• Right Tool for the Job
• Continuous Delivery
• Smaller codebases are easier to reason
about
• Easy to replace old services
• Efficient Scaling
• Can move quickly (once you’re up and
running)
Surviving in a Microservices Environment
Surviving in a Microservices Environment
HELP?
@spring_io
#springio17
Microservice Topics
• Infrastructure
• Architecture
• Team Communication
• Miscellaneous Advice
@spring_io
#springio17
Microservice Topics
• Infrastructure
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
@spring_io
#springio17
CENTRALIZED LOGS ARE YOUR
#1 PRIORITY
@spring_io
#springio17
@spring_io
#springio17
Surviving in a Microservices Environment
@spring_io
#springio17
@spring_io
#springio17
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
@spring_io
#springio17
YOU’D BEST BE MONITORING YOUR
PLATFORM.
@spring_io
#springio17
Surviving in a Microservices Environment
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
Surviving in a Microservices Environment
Surviving in a Microservices Environment
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
@spring_io
#springio17
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
• Do we have any coding conventions?
@spring_io
#springio17
CHECK STYLE? COVERAGE?
@spring_io
#springio17
@spring_io
#springio17
Surviving in a Microservices Environment
Surviving in a Microservices Environment
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
• Do we have any coding conventions?
• Can I generate a Service template?
@spring_io
#springio17
WGET HTTPS://GITHUB.COM/THIRDCHANNEL/SPRING-BOOT-BASE-
TEMPLATE/ARCHIVE/RELEASE.ZIP
(THIS IS NOT A REAL URL, BUT YOU GET THE IDEA)
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
• Do we have any coding conventions?
• Can I generate a Service template?
• How do we share code?
@spring_io
#springio17
OOPS! GOTCHA!
Surviving in a Microservices Environment
@spring_io
#springio17
Sharing Code
• It’s OK to reimplement functionality within
each service
• Setup your own internal Artifactory!
• DO share infrastructure libraries (e.g.
communications)
• NEVER share Domain or business logic
libraries
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
• Do we have any coding conventions?
• Can I generate a Service template?
• How do we share code?
• How do we manage our (multiple) environments?
@spring_io
#springio17
@spring_io
#springio17
Infrastructure
• How do we manage the logs?
• How about metrics / telemetry?
• How do we deploy our code?
• How/where are our builds done?
• Do we have any coding conventions?
• Can I generate a Service template?
• How do we share code?
• How do we manage our (multiple) environments?
• Do our Devs get time to work on Infrastructure?
@spring_io
#springio17
Microservice Topics
• Infrastructure
• Architecture
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
@spring_io
#springio17
DOES ANYONE KNOW WHAT WE’RE
DOING?!
Surviving in a Microservices Environment
Surviving in a Microservices Environment
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in
choosing new technologies?
@spring_io
#springio17
@spring_io
#springio17
@spring_io
#springio17
BE CAREFUL WHEN CHOOSING
NEW TECH
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in
choosing new technologies?
• How do we test an individual service?
INTEGRATION TESTS ARE THE BEST TESTS
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in
choosing new technologies?
• How do we test an individual service?
• How do we test the platform as a whole?
@spring_io
#springio17
Test Environment
• Run periodically (e.g. nightly)
• Each service generates fixture data
• Service data reset after EACH test
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in
choosing new technologies?
• How do we test an individual service?
• How do we test the platform as a whole?
• How do our services communicate?
@spring_io
#springio17
HTTP VS ASYNC EVENTS
@spring_io
#springio17
HTTP
• Well Established
• Built In libraries / Easy to get started
• Existing structure for response codes (2**, 4**,
5**, etc)
• Synchronous
• Increases coupling
• Requires services to know which others require
their data
• Has dependency on Service Discovery
mechanism
• Susceptible to Data Loss
@spring_io
#springio17
Events
• Asynchronous
• Pub-sub / Fire and forget
• Loose Coupling
• Prevents Data Loss
• Allows for Reactive systems
• No existing structure for response error
handling
• Dependency on Message Broker technology
• Can be difficult for Junior folks to
understand
@spring_io
#springio17
ENSURE YOU HAVE CIRCUIT BREAKER
OR A DEAD LETTER MECHANISM
@spring_io
#springio17
<3 RabbitMq
• It’s from Pivotal!
• Intelligent broker; dumb consumers
• Highly nuanced & robust routing
• Backpressure
• Dead letters /retries
• Message Ordering
• Multiple deliveries
• Ack / Nack/ Reject … re-enqueue?
@spring_io
#springio17
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in choosing
new technologies?
• How do we test an individual service?
• How do we test the platform as a whole?
• How do our services communicate?
• How/where is our data persisted?
@spring_io
#springio17
Date Locality of Reference
• Spatial: “How close together is our data?”
@spring_io
#springio17
Data Locality of Reference
• Spatial: “How close together is our data?”
• Temporal: “How often is our data
accessed?”
@spring_io
#springio17
@spring_io
#springio17
@spring_io
#springio17
BEWARE THE ‘MINI-MONOLITH’
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in choosing new
technologies?
• How do we test an individual service?
• How do we test the platform as a whole?
• How do our services communicate?
• How/where is our data persisted?
• Do we follow an overall architectural style?
@spring_io
#springio17
MAKE SURE EVERYONE IS AWARE
@spring_io
#springio17
APPLIES TO BOTH INTRA- AND
INTER-SERVICE
IT ALL STARTED WITH ^
@spring_io
#springio17
Domain Driven Design
• Ubiquitous Language
• Entities
• Aggregates
• Bounded Contexts
• No Direct communications across
Boundaries
@spring_io
#springio17
Surviving in a Microservices Environment
@spring_io
#springio17
… AND CQRS
Surviving in a Microservices Environment
Surviving in a Microservices Environment
@spring_io
#springio17
ALLOWS FOR INTERESTING
ARCHITECTURES
Surviving in a Microservices Environment
@spring_io
#springio17
WHILE WE’RE AT IT, GO REACTIVE
@spring_io
#springio17
@spring_io
#springio17
Architecture
• Do we have an overall design vision?
• What technologies do we use?
• How much freedom do we have in choosing new
technologies?
• How do we test an individual service?
• How do we test the platform as a whole?
• How do our services communicate?
• How/where is our data persisted?
• Do we follow an overall architectural style?
• When do we create new services?
@spring_io
#springio17
DDD TO THE RESCUE
Surviving in a Microservices Environment
@spring_io
#springio17
New Service?
• Initially: design platform around Bounded
Contexts, create services from inner
Contexts
• Don’t create services ‘just because’
• Do make an effort to identify boundaries
• Ensure a service has/will have proper
context boundaries before creating
• If two services need to communicate
synchronously or frequently, good
candidates for MERGING
@spring_io
#springio17
Microservice Topics
• Infrastructure
• Architecture
• Team Communication
@spring_io
#springio17
Team Communication
• How are our teams structured?
@spring_io
#springio17
CONWAY’S LAW IS REAL
@spring_io
#springio17
DBA
Engineers
QA
UX
Surviving in a Microservices Environment
@spring_io
#springio17
Team Communication
• How are our teams structured?
• Who owns which Service?
@spring_io
#springio17
TEAMS SHOULD BE OWNERS
@spring_io
#springio17
Team Communication
• How are our teams structured?
• Who owns which Service?
• What’s our process for merging code?
Surviving in a Microservices Environment
@spring_io
#springio17
Team Communication
• How are our teams structured?
• Who owns which Service?
• What’s our process for merging code?
• What’s our process for releasing code?
Surviving in a Microservices Environment
@spring_io
#springio17
Team Communication
• How are our teams structured?
• Who owns which Service?
• What’s our process for merging code?
• What’s our process for releasing code?
• What’s our process for monitoring code in
production? Dealing with bugs?
Surviving in a Microservices Environment
Surviving in a Microservices Environment
@spring_io
#springio17
Team Communication
• How are our teams structured?
• Who owns which Service?
• What’s our process for merging code?
• What’s our process for releasing code?
• What’s our process for monitoring code in
production? Dealing with bugs?
• Do we add more process if something
goes wrong?
@spring_io
#springio17
BE RELUCTANT TO ADD
NEW PROCESS
@spring_io
#springio17
HIGH FREEDOM / HIGH
RESPONSIBILITY
Surviving in a Microservices Environment
@spring_io
#springio17
Microservice Topics
• Infrastructure
• Architecture
• Team Communication
• Miscellaneous Advice
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
ANY IDEA WHAT THESE DO?
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
• New Feature -> walk backwards from
what the user will see
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
• New Feature -> walk backwards from
what the user will see
• Release when a feature is ready
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
• New Feature -> walk backwards from
what the user will see
• Release when a feature is ready
• If a service A has another service B as a
dependency => release B first
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
• New Feature -> walk backwards from
what the user will see
• Release when a feature is ready
• If a service A has another service B as a
dependency => release B first
• How to bootstrap a new service?
@spring_io
#springio17
Miscellaneous Advice
• Don’t get cute with the naming of services
• New Feature -> walk backwards from
what the user will see
• Release when a feature is ready
• If a service A has another service B as a
dependency => release B first
• How to bootstrap a new service?
• Don’t release Friday afternoons
@spring_io
#springio17
IN SUMMARY
@spring_io
#springio17
MOST OF THE CHALLENGE IS IN
INFRASTRUCTURE
<3 MICROSERVICES
@spring_io
#springio17
PLEASE SHARE YOUR SURVIVAL
TIPS!
@spring_io
#springio17
ANY QUESTIONS?
ANYTHING I MISSED?
Thank you!
@spring_io
#springio17
Images
• Bad Odds (Jon Snow): https://www.reddit.com/r/gameofthrones/comments/4owm95/
s6e9_megathread_gifwallpaperscreenshot_requests/
• Say Anything / John Cusak: http://www.glamour.com/story/happy-birthday-john-cusack-and
• Wilderness Survival Guide: https://www.kobo.com/us/en/ebook/the-wilderness-survival-guide-1
• XKCD: Code Review: https://xkcd.com/1513/
• Monolithic vs Microservices: @alvaro_sanchez
• Picard FacePalm: https://www.flickr.com/photos/30418788@N03/8381426895
• Council of Ricks: https://www.reddit.com/r/rickandmorty/comments/3exy00/
it_looks_like_there_might_some_sort_of_council_of/
• Drago (break you): https://giphy.com/gifs/GWD5nSpiHxs3K
• Wrecking Ball: https://www.flickr.com/photos/rhysasplundh/5202454842/in/photostream/
• Rocky Stairs: http://pixgood.com/rocky-stairs.html
• Technical Difficulties: https://www.youtube.com/watch?v=EC15BmzsdhM
• Zipkin example: https://blog.buoyant.io/2016/05/17/distributed-tracing-for-polyglot-microservices/
• Assembly Line: http://www.solidsmack.com/culture/humans-need-apply-new-short-film-explores-future-robots-
manufacturing-automation/
• Pipeline: http://debatepost.com/2017/04/14/keystone-pipeline-final-decision-to-be-announced/
@spring_io
#springio17
Links
• Eric Evans: DDD for Microservices: https://www.youtube.com/watch?v=yPvef9R3k-M

More Related Content

PDF
The spring ecosystem in 50 min
PDF
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
PDF
How to Evaluate an API Without Writing a Line of Code
PDF
The 7 Deadly Sins of API Design
PDF
Tracking and business intelligence
PPTX
Velocity 2019 making s3 more resilient using lambda@edge- velocity v1 (1)
PDF
apidays LIVE London 2021 - Consumer-first APIs in Open Banking by Chris Dudle...
PDF
Introduction to GraphQL
The spring ecosystem in 50 min
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
How to Evaluate an API Without Writing a Line of Code
The 7 Deadly Sins of API Design
Tracking and business intelligence
Velocity 2019 making s3 more resilient using lambda@edge- velocity v1 (1)
apidays LIVE London 2021 - Consumer-first APIs in Open Banking by Chris Dudle...
Introduction to GraphQL

What's hot (19)

PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
PDF
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
PDF
apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...
PDF
Real-time GraphQL API with minimum coding and maximum benefit
PPTX
GraphQL Introduction
PDF
Stream based mobile and web event tracking backed by aws kinesis
PPTX
Taking Control of your Data with GraphQL
PPTX
GraphQL - The new "Lingua Franca" for API-Development
PDF
API for Beginners
PDF
GraphQL: The Missing Link Between Frontend and Backend Devs
PDF
GraphQL Europe Recap
PDF
Java Day Istanbul 2018 GraphQL vs Traditional REST API
PDF
Devoxx France 2018 GraphQL vs Traditional REST API
PDF
Architecture Evolution 2018
PDF
No Graph Theory Required: Ember and GraphQL in Practice
PDF
GraphQL IndyJS April 2016
PDF
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
PDF
Postman Galaxy Tour: San Francisco - Workshop Presentation
PPT
enterprise arch_prc_short
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...
Real-time GraphQL API with minimum coding and maximum benefit
GraphQL Introduction
Stream based mobile and web event tracking backed by aws kinesis
Taking Control of your Data with GraphQL
GraphQL - The new "Lingua Franca" for API-Development
API for Beginners
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL Europe Recap
Java Day Istanbul 2018 GraphQL vs Traditional REST API
Devoxx France 2018 GraphQL vs Traditional REST API
Architecture Evolution 2018
No Graph Theory Required: Ember and GraphQL in Practice
GraphQL IndyJS April 2016
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Postman Galaxy Tour: San Francisco - Workshop Presentation
enterprise arch_prc_short
Ad

Viewers also liked (20)

PDF
Introducing Spring Auto REST Docs - Spring IO 2017
PDF
Front Ends for Back End Developers - Spring I/O 2017
PDF
Cohesive SDN Summit Presentation: OpenFlow is SDN, SDN is not OpenFlow
PDF
Open Development
PPT
Delphi XE2, door André Mussche op de 4DotNet Developers Day
PPSX
De tabernakel
PPTX
Interact Differently: Get More From Your Tools Through Exposed APIs
DOCX
FDA's Brian Bradley Case Study and Process Review of the Veterans Review and ...
PPTX
Cloud adoption patterns
PPTX
Introduction to ICS/SCADA security
PPTX
Service Orchestrierung mit Apache Mesos
PDF
Ahg microsoft stream_insight_queries
PDF
Chicago AWS user group meetup - May 2014 at Cohesive
PPTX
George Park Workshop 1 - Cosumnes CSD
PPTX
EMC World 2015 - The Devops Toolkit
PDF
vanEngelen 360 Inspiratieborrel - Trends Update 2014
PDF
CF Summit: Skilling Up
PDF
Open Source Approach to Design and Deployment of Microservices-based VNF
PDF
SIG-NOC Tools Survey
PDF
Marian Marinov, 1H Ltd.
Introducing Spring Auto REST Docs - Spring IO 2017
Front Ends for Back End Developers - Spring I/O 2017
Cohesive SDN Summit Presentation: OpenFlow is SDN, SDN is not OpenFlow
Open Development
Delphi XE2, door André Mussche op de 4DotNet Developers Day
De tabernakel
Interact Differently: Get More From Your Tools Through Exposed APIs
FDA's Brian Bradley Case Study and Process Review of the Veterans Review and ...
Cloud adoption patterns
Introduction to ICS/SCADA security
Service Orchestrierung mit Apache Mesos
Ahg microsoft stream_insight_queries
Chicago AWS user group meetup - May 2014 at Cohesive
George Park Workshop 1 - Cosumnes CSD
EMC World 2015 - The Devops Toolkit
vanEngelen 360 Inspiratieborrel - Trends Update 2014
CF Summit: Skilling Up
Open Source Approach to Design and Deployment of Microservices-based VNF
SIG-NOC Tools Survey
Marian Marinov, 1H Ltd.
Ad

Similar to Surviving in a Microservices Environment (20)

PDF
Surviving in a microservices environment
PDF
Greach 2018: Surviving Microservices
PDF
Surviving in a Microservices environment -abridged
PDF
SACon 2019 - Surviving in a Microservices Environment
PDF
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
PDF
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
PDF
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
PDF
Microservices for java architects schamburg-2015-05-19
PDF
Microservices for Java Architects (Chicago, April 21, 2015)
PPTX
Melbourne Microservices Meetup: Agenda for a new Architecture
PDF
Microservices for Java Architects (Indianapolis, April 15, 2015)
PDF
Microservices on a budget meetup
PDF
Introduction to MicroServices (Oakjug)
PDF
Writing microservices in Java -- Chicago-2015-11-10
PDF
Responsible Microservices
PDF
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
PDF
Microservices for architects los angeles-2016-07-16
PDF
Microservices for Architects - Atlanta 2018-03-28
PDF
#JaxLondon keynote: Developing applications with a microservice architecture
PDF
Developing Applications with a Micro Service Architecture - Chris Richardson
Surviving in a microservices environment
Greach 2018: Surviving Microservices
Surviving in a Microservices environment -abridged
SACon 2019 - Surviving in a Microservices Environment
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Microservices for java architects schamburg-2015-05-19
Microservices for Java Architects (Chicago, April 21, 2015)
Melbourne Microservices Meetup: Agenda for a new Architecture
Microservices for Java Architects (Indianapolis, April 15, 2015)
Microservices on a budget meetup
Introduction to MicroServices (Oakjug)
Writing microservices in Java -- Chicago-2015-11-10
Responsible Microservices
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
Microservices for architects los angeles-2016-07-16
Microservices for Architects - Atlanta 2018-03-28
#JaxLondon keynote: Developing applications with a microservice architecture
Developing Applications with a Micro Service Architecture - Chris Richardson

More from Steve Pember (20)

PPTX
Spring I_O 2024 - Flexible Spring with Event Sourcing.pptx
PDF
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
PDF
Gradle Show and Tell
PDF
Reactive All the Way Down the Stack
PDF
Event storage in a distributed system
PDF
Harnessing Spark and Cassandra with Groovy
PDF
An introduction to Reactive applications, Reactive Streams, and options for t...
PDF
An Introduction to jOOQ
PDF
Reactive Streams and the Wide World of Groovy
PDF
A year with event sourcing and CQRS
PDF
An Introduction to Reactive Application, Reactive Streams, and options for JVM
PDF
Reactive Streams and the Wide World of Groovy
PPTX
Richer Data History with Event Sourcing (SpringOne 2GX 2015
PPTX
Springone2gx 2015 Reactive Options for Groovy
PPTX
Gr8conf US 2015 - Intro to Event Sourcing with Groovy
PPTX
Gr8conf US 2015: Reactive Options for Groovy
PPTX
Groovy Options for Reactive Applications - Greach 2015
PDF
Advanced Microservices - Greach 2015
PPTX
Richer data-history-event-sourcing
PPTX
Managing a Microservices Development Team (And advanced Microservice concerns)
Spring I_O 2024 - Flexible Spring with Event Sourcing.pptx
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Gradle Show and Tell
Reactive All the Way Down the Stack
Event storage in a distributed system
Harnessing Spark and Cassandra with Groovy
An introduction to Reactive applications, Reactive Streams, and options for t...
An Introduction to jOOQ
Reactive Streams and the Wide World of Groovy
A year with event sourcing and CQRS
An Introduction to Reactive Application, Reactive Streams, and options for JVM
Reactive Streams and the Wide World of Groovy
Richer Data History with Event Sourcing (SpringOne 2GX 2015
Springone2gx 2015 Reactive Options for Groovy
Gr8conf US 2015 - Intro to Event Sourcing with Groovy
Gr8conf US 2015: Reactive Options for Groovy
Groovy Options for Reactive Applications - Greach 2015
Advanced Microservices - Greach 2015
Richer data-history-event-sourcing
Managing a Microservices Development Team (And advanced Microservice concerns)

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development

Surviving in a Microservices Environment