SlideShare a Scribd company logo
1 of 66
Download to read offline
1
Microservices:
Test smarter not harder
Beth Skurrie (DiUS)
@bethesque
A big problem
soundify
Long time to market
soundify
WHAT WE ARE KNOWN FOR
4
Microservices
Solved problems New problems
● Integration tests
○ Slow tests
○ Easy to break
○ Hard to fix
○ Scale badly
○ Lots of set up
○ Flakey tests ignored
○ Takes dev time away
from features
● Feature time to market
A STORY
5
To E2E test, or not to E2E test?
A STORY
6
What if there was another way?
7
C P
mock
ANOTHER WAY
WHAT WE ARE KNOWN FOR
8
Test symmetry
Solved problems New problems
● Hard to keep both sides in
sync
● Fast feedback
● Few dependencies
● No dedicated environment
● Reliable
● Easy to debug
ANOTHER WAY
9
C P
mock
ANOTHER WAY
10
C P
mock
ANOTHER WAY
PPCC
mock
contract
ANOTHER WAY
WHAT WE ARE KNOWN FOR
12
Contracts
Solved problems New problems
● ???● Keeping tests in sync
ANOTHER WAY
Bug turnaround -
minutes
Contracts tests
ANOTHER WAY
Know before you
commit
Contracts tests
ANOTHER WAY
Make changes with
speed and confidence
Contracts tests
ANOTHER WAY
Deploy independently
Contracts tests
ANOTHER WAY
Better API design
(Consumer)
Contracts tests
ANOTHER WAY
Are not functional tests
Contracts tests
ANOTHER WAY
Are not load
performance tests SLAs
Contracts tests
ANOTHER WAY
Are not good for “public”
APIs (many, unknown
consumers)
(Consumer)
Contracts tests
ANOTHER WAY
Are not a silver bullet!
Contracts tests
ANOTHER WAY
22
ANOTHER WAY
23
Do I still need integration tests?
ANOTHER WAY
24
Integration test coverage
Consequences of bug
x
Time to find bug
x
Time to release fix
ANOTHER WAY
WHAT WE ARE KNOWN FOR
25
Speed up your releases
Do less Do more
● Aggregated logging
● Metrics
● Semantic monitoring
● Alerting
● Correlation IDs
● Integration testing
ANOTHER WAY
The journey continues
27
● Open source
● Multiple languages
○ JVM
○ .NET
○ Javascript
○ Python
○ Go
○ + more
pact.io
● HTTP contracts
● Message contracts
28
A B
mock
C P
contract
A CONTRACT TESTING JOURNEY
29
A CONTRACT TESTING JOURNEY
30
Pact Broker
A CONTRACT TESTING JOURNEY
31
Automate the contract exchange
A CONTRACT TESTING JOURNEY
32
WHEN
the provider receives
<some request>
THEN
it will return
<some response>
A CONTRACT TESTING JOURNEY
33
WHEN
the provider receives
a GET request for /alligators/Mary
THEN
it will return
a 200 OK response
with a JSON body {“name”: “Mary”}
A CONTRACT TESTING JOURNEY
34
WHEN
the provider receives
a GET request for /alligators/Mary
THEN
it will return
a 404 Not Found
response
a 200 OK
response
A CONTRACT TESTING JOURNEY
35
GIVEN
<the provider is in a certain state>
WHEN
the provider receives
<some request>
THEN
it will return
<some response>
A CONTRACT TESTING JOURNEY
36
You still need to think about test
data
A CONTRACT TESTING JOURNEY
A contract testing
journey
● Automate the contract exchange
● You still need to think about test
data
A CONTRACT TESTING JOURNEY
38
Contracts should focus on the
messages, not the technology
A CONTRACT TESTING JOURNEY
A contract testing
journey
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the
messages, not the technology
A CONTRACT TESTING JOURNEY
40
Contracts should be as flexible as
possible - but no more
A CONTRACT TESTING JOURNEY
A contract testing
journey
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the
messages, not the technology
● Contracts should be as flexible as
possible - but no more
A CONTRACT TESTING JOURNEY
42
The other service needs to know when a
contract has changed
You need a way to introduce changes without
breaking everything
Contracts are not a substitute for good
communication between teams
A CONTRACT TESTING JOURNEY
43
Pact Broker webhooks
A CONTRACT TESTING JOURNEY
44
Pact Broker tags
A CONTRACT TESTING JOURNEY
45
Contracts are STILL not a substitute for
good communication between teams
A CONTRACT TESTING JOURNEY
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the
messages, not the technology
● Contracts should be as flexible as
possible - but no more
● The provider needs to know when a
contract has changed
● You need a way to introduce
changes without breaking
everything
● Remember: contracts are not a
substitute for good communication
between teams
A contract testing
journey
A CONTRACT TESTING JOURNEY
47
A CONTRACT TESTING JOURNEY
48
You need to share the verification
results as well as the contracts
A CONTRACT TESTING JOURNEY
49
Pact Broker verifications
A CONTRACT TESTING JOURNEY
50
A CONTRACT TESTING JOURNEY
51
A CONTRACT TESTING JOURNEY
52
If you can’t deploy your services
independently,
you don’t have microservices.
You have a distributed monolith.
A CONTRACT TESTING JOURNEY
53
If you can’t deploy your services
independently,
you don’t have microservices.
You have a distributed monolith.
A CONTRACT TESTING JOURNEY
Warning!
Don’t build a
distributed monolith
54
Consumer
version
Provider
version
Verification
result
11 31 success
12 31 failure
12 32 success
13 32 success
14 unknown
“The Matrix”
A CONTRACT TESTING JOURNEY
55
A CONTRACT TESTING JOURNEY
56
A CONTRACT TESTING JOURNEY
57
A CONTRACT TESTING JOURNEY
58
What about Swagger/Open API?
OTHER TOOLS
59
Provider contracts
OTHER TOOLS
60
Consumer contracts
OTHER TOOLS
61
A B
mock/write
C P
pact swagger
verify
verify
Pact+Swagger
OTHER TOOLS
62
Message Pact
OTHER TOOLS
C P
contract
The talk ends,
but the journey continues
WHAT WE ARE KNOWN FOR
64
Contracts
Solved problems New problems
● ???● Deliver faster
65
pact.io
dius.tech/contrca4a
slack.pact.io
@pact_up
Microservices: Test SMARTER not HARDER
Beth Skurrie (DiUS)
@bethesque
66
Contract

More Related Content

What's hot

Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureMarcin Grzejszczak
 
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Pierre Vincent
 
Consumer-driven contracts with Pact and PHP
Consumer-driven contracts with Pact and PHPConsumer-driven contracts with Pact and PHP
Consumer-driven contracts with Pact and PHPAndy Kelk
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
 
Agile on the beach 2014: Contracted to deliver outcomes
Agile on the beach 2014: Contracted to deliver outcomesAgile on the beach 2014: Contracted to deliver outcomes
Agile on the beach 2014: Contracted to deliver outcomeskrislander
 
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCasterAPIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCasterapidays
 

What's hot (7)

Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice Architecture
 
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
 
Consumer-driven contracts with Pact and PHP
Consumer-driven contracts with Pact and PHPConsumer-driven contracts with Pact and PHP
Consumer-driven contracts with Pact and PHP
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd   seven years afterIan Cooper webinar for DDD Iran: Kent beck style tdd   seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
 
Agile on the beach 2014: Contracted to deliver outcomes
Agile on the beach 2014: Contracted to deliver outcomesAgile on the beach 2014: Contracted to deliver outcomes
Agile on the beach 2014: Contracted to deliver outcomes
 
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCasterAPIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster
APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster
 

Similar to Microservices: test smarter not harder (LAST Conference 2018)

Pull requests do's and don'ts
Pull requests do's and don'tsPull requests do's and don'ts
Pull requests do's and don'tsArie Bregman
 
Building a Compelling Value Proposition
Building a Compelling Value PropositionBuilding a Compelling Value Proposition
Building a Compelling Value PropositionStartup Secrets
 
Startup Secrets: Building a Compelling Value Proposition
Startup Secrets: Building a Compelling Value PropositionStartup Secrets: Building a Compelling Value Proposition
Startup Secrets: Building a Compelling Value PropositionMichael Skok
 
Consumer driven Contract Test
Consumer driven Contract TestConsumer driven Contract Test
Consumer driven Contract TestKnoldus Inc.
 
Contracting an outsourced agile test team
Contracting an outsourced agile test team Contracting an outsourced agile test team
Contracting an outsourced agile test team XBOSoft
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentRaj Indugula
 
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...Lviv Startup Club
 
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...Lviv Startup Club
 
Dover performance contracts 2015
Dover   performance contracts 2015Dover   performance contracts 2015
Dover performance contracts 2015Jerry Dover
 
Knowing and managing what's been agreed the case for contract management
Knowing and managing what's been agreed   the case for contract managementKnowing and managing what's been agreed   the case for contract management
Knowing and managing what's been agreed the case for contract managementRichard Austin
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)Agile En Seine
 
Fsm contracts course slides
Fsm contracts   course slidesFsm contracts   course slides
Fsm contracts course slidesfaduvicky
 
Contracts: diagonal saber vs. agile
Contracts: diagonal saber vs. agileContracts: diagonal saber vs. agile
Contracts: diagonal saber vs. agileMarco Fracassi
 
Legal issues associated with project management and consulting
Legal issues associated with project management and consultingLegal issues associated with project management and consulting
Legal issues associated with project management and consultingThis account is closed
 

Similar to Microservices: test smarter not harder (LAST Conference 2018) (20)

Pull requests do's and don'ts
Pull requests do's and don'tsPull requests do's and don'ts
Pull requests do's and don'ts
 
Building a Compelling Value Proposition
Building a Compelling Value PropositionBuilding a Compelling Value Proposition
Building a Compelling Value Proposition
 
Startup Secrets: Building a Compelling Value Proposition
Startup Secrets: Building a Compelling Value PropositionStartup Secrets: Building a Compelling Value Proposition
Startup Secrets: Building a Compelling Value Proposition
 
Consumer driven Contract Test
Consumer driven Contract TestConsumer driven Contract Test
Consumer driven Contract Test
 
Intro to agile testing
Intro to agile testingIntro to agile testing
Intro to agile testing
 
How to Write Better Proposals
How to Write Better Proposals How to Write Better Proposals
How to Write Better Proposals
 
Contracting an outsourced agile test team
Contracting an outsourced agile test team Contracting an outsourced agile test team
Contracting an outsourced agile test team
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...
Андрій Просов: Managing Client Expectations in Fixed Price Agile Projects by ...
 
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...
Андрій Просов “Управління очікуваннями клієнтів в проектах з використанням гн...
 
Dover performance contracts 2015
Dover   performance contracts 2015Dover   performance contracts 2015
Dover performance contracts 2015
 
Knowing and managing what's been agreed the case for contract management
Knowing and managing what's been agreed   the case for contract managementKnowing and managing what's been agreed   the case for contract management
Knowing and managing what's been agreed the case for contract management
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)
 
Journey of atdd
Journey of atddJourney of atdd
Journey of atdd
 
SOWguide
SOWguideSOWguide
SOWguide
 
Free PMP Sample Q & A
Free PMP Sample Q & AFree PMP Sample Q & A
Free PMP Sample Q & A
 
Fsm contracts course slides
Fsm contracts   course slidesFsm contracts   course slides
Fsm contracts course slides
 
Contracts: diagonal saber vs. agile
Contracts: diagonal saber vs. agileContracts: diagonal saber vs. agile
Contracts: diagonal saber vs. agile
 
PMP Exam Sample Questions 9
PMP Exam Sample Questions 9PMP Exam Sample Questions 9
PMP Exam Sample Questions 9
 
Legal issues associated with project management and consulting
Legal issues associated with project management and consultingLegal issues associated with project management and consulting
Legal issues associated with project management and consulting
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Microservices: test smarter not harder (LAST Conference 2018)