SlideShare a Scribd company logo
1 of 35
Download to read offline
LEVERAGING	A	DISTRIBUTED	
ARCHITECTURE	TO	YOUR	ADVANTAGE
Lonnie	Brown	-	@LBrown972	
Michelangelo	van	Dam	-	@DragonBe
LONNIE	BROWN
PHP	connec:on	facilitator	
Conference	family	father	
Balance	of	your	life
2LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGEwww.in2it.be	-	@in2itvof
MICHELANGELO	VAN	DAM
Professional	PHP	Consultant	
Community	Leader	
Trainer,	Mentor	&	Coach	
Public	Speaker
3LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGEwww.in2it.be	-	@in2itvof
AGENDA
-Why	this	talk?	
-What	is	“distribu:on	of	responsibility”?	
-Microservices,	Docker	and	async	PHP	
-Distributed	Architecture	
-What	you	should	take	home
4LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGEwww.in2it.be	-	@in2itvof
www.in2it.be	-	@in2itvof
WHY	THIS	TALK?
5LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
LET	ME	TELL	YOU	A	STORY…
www.in2it.be	-	@in2itvof 6LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
hp://muppet.wikia.com/wiki/The_StoryTeller	-	©	2005	The	Jim	Henson	Company
GROUP	OF	CODERS…
www.in2it.be	-	@in2itvof 7LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
THEY	HAD	ONE	JOB…
www.in2it.be	-	@in2itvof 8LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
LET’S	PACK	IT	ALL	IN
www.in2it.be	-	@in2itvof 9LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
10www.in2it.be	-	@in2itvof LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
Fatal	error:	Allowed	memory	size	of	268435456	
bytes	exhausted	(tried	to	allocate	77	bytes)	in		
/path/to/MassiveClass.php	on	line	666
www.in2it.be	-	@in2itvof
DISTRIBUTION	OF	RESPONSIBILITY
11LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
GRAB	AS	YOU	GO…
www.in2it.be	-	@in2itvof 12LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
BATCH	PROCESSING
www.in2it.be	-	@in2itvof 13LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
WE	WANT	IT	ALL!!!
www.in2it.be	-	@in2itvof 14LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
TAKE	THE	RED	PILL
www.in2it.be	-	@in2itvof 15LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
COMPARTMENTALIZATION
www.in2it.be	-	@in2itvof 16LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
ASSEMBLY	LINE
www.in2it.be	-	@in2itvof 17LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
CHECKPOINTS
www.in2it.be	-	@in2itvof 18LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
ACHIEVEMENT	UNLOCKED
www.in2it.be	-	@in2itvof 19LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
www.in2it.be	-	@in2itvof
MICROSERVICES,	DOCKER,	ASYNC	PHP
20LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
SOLID	PRINCIPLE
-Single	responsibility	principle	
-Open/closed	principle	
-Liskov	subs:tu:on	principle	
-Interface	segrega:on	principle	
-Dependency	inversion	principle
21LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGEwww.in2it.be	-	@in2itvof
FIRST	APPLY	THESE	ON	YOUR	CODE!
www.in2it.be	-	@in2itvof 22LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
FROM	HERE	YOU	CAN	SCALE…
www.in2it.be	-	@in2itvof 23LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
www.in2it.be	-	@in2itvof
DISTRIBUTED	ARCHITECTURE
24LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
SINGLE	PURPOSE	SYSTEMS
www.in2it.be	-	@in2itvof 25LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
Load Balancer
Web Node 1
Web Node 2
MySQL Master
MySQL Slave
MongoDB Node 1
MongoDB Node 2
MongoDB Node 3
API Node 1
API Node 2
Redis Node 1
Redis Node 2
Memcache Node 1
Memcache Node 2Gearman
Solr Node 1
Solr Node 2
Shared Filesystem
Cron System
READY	FOR	ALL…
-bare	metal	
-virtual	systems	
-cloud	systems	
-…
26LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGEwww.in2it.be	-	@in2itvof
ALL	FOR	ONE,	ONE	FOR	ALL
www.in2it.be	-	@in2itvof 27LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
www.in2it.be	-	@in2itvof
WHAT	YOU	SHOULD	TAKE	HOME
28LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
EACH	METHOD	DOES	1	THING
very	well
USE	THE	FORCE
Use	interfaces	and	abstract	classes	to	guide	
your	development,	not	to	lock	it.
“THE	WHOLE	IS	GREATER	THAN	THE	SUM	OF	ITS	
PARTS.”
—	Aristotle
BLEED	AWESOMENESS
Not	memory
33www.in2it.be	-	@in2itvof LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE
98810
If	you	enjoyed	this	workshop,	thanks.	
If	not,	tell	us	how	to	make	it	beer	
Link	to	the	slides	are	on	the	joind.in	page	
Leave	some	feedback	while	grabbing	them
INTRODUCING:	LONNIE	BROWN
www.in2it.be	-	@in2itvof 34
www.in2it.be	-	@in2itvof
THANK	YOU…
35LEVERAGING	A	DISTRIBUTED	ARCHITECTURE	TO	YOUR	ADVANTAGE

More Related Content

More from Michelangelo van Dam

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultMichelangelo van Dam
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functionsMichelangelo van Dam
 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your codeMichelangelo van Dam
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyMichelangelo van Dam
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageMichelangelo van Dam
 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful businessMichelangelo van Dam
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesMichelangelo van Dam
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heavenMichelangelo van Dam
 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7Michelangelo van Dam
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your projectMichelangelo van Dam
 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeatMichelangelo van Dam
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsMichelangelo van Dam
 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a mustMichelangelo van Dam
 

More from Michelangelo van Dam (20)

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and default
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functions
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
Continuous deployment 2.0
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0
 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your code
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's story
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage
 
The road to php 7.1
The road to php 7.1The road to php 7.1
The road to php 7.1
 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful business
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutes
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heaven
 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your project
 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeat
 
The Continuous PHP Pipeline
The Continuous PHP PipelineThe Continuous PHP Pipeline
The Continuous PHP Pipeline
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
 
Your code are my tests
Your code are my testsYour code are my tests
Your code are my tests
 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a must
 

Recently uploaded

Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 

Recently uploaded (20)

Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 

Leveraging a distributed architecture to your advantage