Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js...
-
Upload
phungnguyet -
Category
Documents
-
view
236 -
download
4
Transcript of Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js...
![Page 1: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/1.jpg)
Building simple Node.jsMicroservices using Hapi and
RedisJeff Barczewski
codewinds.com
CodeWindsTraining
![Page 2: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/2.jpg)
Building simple Node.jsMicroservices using Hapi and
Redis
slides, code, resources, notes@jeffbski and @[email protected]
codewinds.com/nc2015
![Page 3: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/3.jpg)
Who is Jeff Barczewski?CodeWinds Online Training26 yrs Software EngineerUSAF, RGA, Elsevier, MasterCard@jeffbski [email protected]
![Page 4: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/4.jpg)
Story of a monolithLarge highly coupled codebaseStuck on old technologyMinimal testsLimited documentationSiloed knowledge
![Page 5: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/5.jpg)
Story of a monolith - p2Slow feature cycle timeCustom forks for clientsHard to scaleDefects and regressions
![Page 6: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/6.jpg)
Learning from HistoryDo One Thing and Do It Well - Unix
Piping data between programsSOA w/ESB, Soap - complexityREST - simplicity
Credits: by - Avatar Surfing On Soap Bar schoschie CC BY-SA 2.0
![Page 7: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/7.jpg)
Requirements ChangeReal-time web/apps - pushWeb for transactions, RPC style
large number of small resourcesdynamic tuning of data by deviceFalcorJS w/JSON GraphRelay w/GraphQL
![Page 8: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/8.jpg)
MicroservicesAka: fine grained SOA, Replaceable ComponentArchitectureTerm emerged for this style architecture 2011-2012Many opinions
![Page 9: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/9.jpg)
Microservices (MSA)Architectural style that generallyutilizes small focused processescommunicating over lightweight
means
![Page 10: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/10.jpg)
Microservice BenefitsIndependently deployable, replaceable,upgradeableElastic and scalableAllows disparate programming languages andtechnology (db)Managed by different teams
![Page 11: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/11.jpg)
Microservice Benefits - p2Can enable resiliencyComposable - caching, aggregation,proxies, gatewaysAllows fine grained monitoring andresource tuning
![Page 12: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/12.jpg)
Microservice RisksDecomposing w/o domain knowledgeSiloed knowledge / skillsRapid change vs qualityDeploy / log complexityVersion compatibility
![Page 13: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/13.jpg)
Does it work?
![Page 14: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/14.jpg)
Monolith to MicroservicesNetflix - 37% web bandwidth peak, 1B APIcalls/day, 6 services/callAmazon - 100-150 service calls per web pageEbay - split over 75 business functional areas
![Page 15: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/15.jpg)
Microservice OptimismMicroservices are becoming the
default style for building enterpriseapplications.
![Page 16: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/16.jpg)
Balance Risk vs RewardEvolve architectureAutomate deployment, logmanagement, and monitoringResilient designPlan for scalability (human and hardware)
![Page 17: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/17.jpg)
Evolving ArchitectureDecomposition - Functions, ModulesRedis Queue - Mail serviceRedis Reliable QueueRedis Cache - Ad generator
![Page 18: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/18.jpg)
Evolving Architecture - p2Hapi API Gateway - ProxyHapi MicroserviceHapi API Gateway - EnhancedHapi Microservice using plugin
![Page 19: Building simple Node.js Microservices using Hapi and · PDF fileBuilding simple Node.js Microservices using Hapi and ... w Ý Building simple Node.js Microservices using Hapi and Redis](https://reader033.fdocuments.us/reader033/viewer/2022052313/5ab5b3da7f8b9a86428cfa94/html5/thumbnails/19.jpg)
Going BeyondFrameworks - SenecaJSMessaging - KafkaStream services - AWS LambdaDynamic scaling / deploy -Kubernetes