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
 
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
 
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
 
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
 

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

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
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
lifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxlifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxsomshekarkn64
 
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
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
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
 
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
 

Recently uploaded (20)

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
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
lifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxlifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptx
 
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...
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
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
 
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...
 

Leveraging a distributed architecture to your advantage