- Real world example explained chapter after chapter with code examples.
- Useful concepts for other languages like Java or PHP
- Easy to follow by people with little to none experience in Node.js
- Node.js Version 0.12.2 and the latest compatible versions of Seneca and PM2
Microservices architecture is a style of software architecture. As the name suggests, microservicess refers to small services. For a large implementation, this means breaking the system into really small, independent services. Alternative to monolithic architecture (where the entire system is considered as a single big, interwoven segment), microservices approach is getting more and more popular with large, complex applications that have a very long lifecycle, which require changes at regular intervals. Microservices approach allows this type of changes with ease as only a part of the system undergoes changes and change control is easy.
An example of such large system can be an online store—includes user interface, managing product catalog, processing orders, managing customer’s account. In a microservices architecture each of these tasks will be divided and into smaller services. Also, these services will be further broken down into independent services—for user interface, there will be separate services for input, output, search bar management, and so on. Similarly, all other tasks can be divided in very small and simple services.
What you will learn
- Identify where the microservice oriented architectures can tackle the most common problems in the software used by the big organisations.
- Re-architecture an existing monolithic system into a microservices oriented software.
- Build robust and scalable microservices using Seneca and Node.js.
- Testing of the microservices in insolation in order to create a solid system.
- Deploy and manage microservices using PM2
- Monitoring the health of a microservice (CPU, memory, I/O…) and how the degradation of the performance in one microservice could degrade the performance of full system.
About the Author
David Gonzalez is a language-agnostic software engineer working in financial services for a number of years, trying to find solutions for the right level of abstraction and learning how to get the right balance between too concrete and too abstract.
He studied in Spain, but soon moved to the wider and more interesting market of Dublin, where he has been living since 2011. David is currently working as an independent consultant in the FinTech sector. The URL to his Linkedin account is https://ie.linkedin.com/in/david-gonzalez-737b7383.
He loves experimenting with new technologies and paradigms in order to get the broader picture of the complex world of software development.
Table of Contents
- Microservices Architecture
- Microservices in Node.js – Seneca and PM2 Alternatives
- From the Monolith to Microservices
- Writing Your First Microservice in Node.js
- Security and Traceability
- Testing and Documenting Node.js Microservices
- Monitoring Microservices
- Deploying Microservices