+ All Categories
Home > Documents > PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE...

PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE...

Date post: 20-May-2020
Category:
Upload: others
View: 12 times
Download: 0 times
Share this document with a friend
41
PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas, October 25th 2017 Rogue Wave Software ZendCon 2017
Transcript
Page 1: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

PARTICULUMMOBILE:ZENDEXPRESSIVEMICROSERVICESIN

DOCKERSWARMJanBurkl

SolutionConsultingManager

,LasVegas,October25th2017

RogueWaveSoftware

ZendCon2017

Page 2: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

ZENDEXPRESSIVE

Page 3: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

EXPRESSIVE2.0ThePHPframeworkforMiddlewareapplications

PSR-7HTTPMessagesupport(using)

Supportoflambdamiddleware(PSR-15)anddoublepass($request,$response,$next)Pipingworkflow(using )Features:routing,dependencyinjection,templating,errorhandlingLastrelease2.0.3,28thMarch2017

zend-diactoros

zend-stratigility

Page 4: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

MIDDLEWAREAfunctionthatgetsarequestandgeneratesa

response

usePsr\Http\Message\ServerRequestInterfaceasRequest;useInterop\Http\ServerMiddleware\DelegateInterface;

function(Request$request,DelegateInterface$next){//doingsomethingwith$request...//forinstancecallingthedelegatemiddleware$next$response=$next->process($request);//manipulatethe$responsereturn$response;}

Page 5: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

INSTALLATIONYoucaninstallExpressive2.0using :

Choosethedefaultoptionsduringtheinstallation

composer

composercreate-projectzendframework/zend-expressive-skeletonapi

Page 6: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

PARTICULUMMOBILE

Page 7: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

PERPETUUMMOBILE/FREEENERGY

Yourbrowserdoesnotcurrentlyrecognizeanyofthevideoformatsavailable.

ClickheretovisitourfrequentlyaskedquestionsaboutHTML5video.

PerpetualMotion-FreeEnergy

0:21/1:38

Page 8: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,
Page 9: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

bitbucket.org/5square-rw/particulum-mobile-backend

bitbucket.org/5square-rw/particulum-mobile-master

Page 10: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

MICROSERVICES

NoStandardDefinitionNoSpecificationNotspecifictoanyTechnology

“[...]acollectionoflooselycoupledservices.”

en.wikipedia.org/wiki/Microservices

Page 11: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DOCKERMICROSERVICEARCHITECTURAL

STYLE“[...]asuiteofsmallservices,eachrunninginitsownprocessandcommunicatingwithlightweight

mechanisms,oftenanHTTPresourceAPI”

Page 12: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,
Page 13: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DOCKERCOMPOSE

Page 14: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DOCKERSWARM(MODE)“CurrentversionsofDockerincludeswarmmodefornativelymanagingaclusterofDockerEnginescalleda

swarm.UsetheDockerCLItocreateaswarm,deployapplicationservicesto

aswarm,andmanageswarmbehavior.”

Page 15: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

MYLOCALSETUPVirtualBoxVagrant3NodesUbuntu16

Page 16: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

INIT/MANAGER

$dockerswarminit--advertise-addr192.168.99.121

Page 17: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

Swarminitialized:currentnode(bvz81updecsj6wjz393c09vti)isnow

Toaddaworkertothisswarm,runthefollowingcommand:

dockerswarmjoin\--tokenSWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx\172.17.0.2:2377

Toaddamanagertothisswarm,run'dockerswarmjoin-tokenmanager'

Page 18: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

ROUTINGMESH“Theroutingmeshenableseachnodeintheswarmtoacceptconnectionsonpublishedportsforanyservicerunningintheswarm,evenifthere’s

notaskrunningonthenode.”

Page 19: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

INGRESSNETWORK

https://docs.docker.com/engine/swarm/ingress/

Page 20: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DEPLOYMENT

Page 21: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DOCKERCOMPOSEV3

Page 22: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DEV

Page 23: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

PROD

Page 24: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

InstallandUpdate

$dockerstackdeploy--compose-filestack.ymlpm

Page 25: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

BUILDING(ANDPUSHING)IMAGESself-contained

Page 26: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

BUILD

$dockerbuild-tparticulum-mobile/backend.

Page 27: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DOCKER-COMPOSEbuildsimageson-the-fly

Page 28: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

MAKEFILE

Page 29: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

CIAAS(TravisCI)CodehipWerckerCodefreshetc...

Page 30: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,
Page 31: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DEMOParticulumMobile,Portainer,Visualizer

Page 32: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

SCALABLEMICROSERVICESessionHandling?

Page 33: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

ONESTEPBEYOND

Page 34: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

WHATDOWEHAVE?

Page 35: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

WHATDOWEWANT?

Page 36: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

WHY?

Page 37: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,
Page 38: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

PRIORIZATIONBrowserrequestlimitRequestqueueingonserverside

JustaDockerComposefilemodification

Page 39: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

BENEFITS1/2DockerSwarm(&Compose)Seeabove⬆SystemSetupConfiginVCSModularConsistentStack

Page 40: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

BENEFITS2/2Expressive

LightweightNoFrameworkSiloModularBacktotheRoots

Page 41: PARTICULUM MOBILE: ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM · 2018-01-27 · ZEND EXPRESSIVE MICROSERVICES IN DOCKER SWARM Jan Burkl Solution Consulting Manager , Las Vegas,

DANKESCHÖNContactme:jan.burkl[at]roguewave.com

Followme:@janatzend


Recommended