These days microsrvices is one of the trending technologies (architectural styles). I am one of the early adapters of it, who implemented this architectural styles in their live projects. From last couple of years, I implemented the same in various projects. There was a day when my friend Abhishek Kumar suggested me to write something on the subject and this is the day when our book is up. Thanks Abhishek for your motivations and all supports.
This is not possible to complete book without the guidance and support of a great and well known industry expert. I am thankful to Ed Price for all his guidance to make better contents for audience. Ed Price is Senior Program Manager, Microsoft AzureCAT (Customer Advisory Team), Microservices and Cloud Development.
Book writing is not an easy job, as it takes a lot of time. Sometimes, it needs your personal/family time. So, I want to thank all who motivated me and allowed me to spend time on this book, time that I was supposed to spend with them. My first thank you is to my wife, Shuby Arora, for her support in all ways. Then, I would like to thank my angel, Aarchi Arora (the newest member of our family). A great thanks to my parents whose blessings are always with me; this is because of them. I would like to thank the entire Packt team, especially Vikas Tiwari and Denim Pinto for their overnight support. A great thank you to Ed Price for his in-depth knowledge and his suggestions to improve various sections of the book. Finally, I want to say thanks to both Lalit and Manish for their full support as co-authors and their reply when I need for the book discussion. I am glad who is having great friends, my friends Ronen, Chen, Rahul, Digvijay, Raju are awesome and I am thankful for their all support.
First edition: June 2017
Microservices is an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within the business. You’ll start by looking at what microservices are, and what the main characteristics are. Throughout this book you will grab how to start transitioning your monolithic application to microservices.
Table of Contents
- What are microservices?
- Origin of microservices
- Discussing microservices
- Monolithic architecture
- Understanding the microservice architecture
- Why should we use microservices?
- How does the microservice architecture work?
- Advantages of microservices
- SOA versus microservices
- Prerequisites of the microservice architecture
- Understanding problems with the monolithic architecture style
- Prerequisites for microservices
- Identifying decomposition candidates within monolithic
- Building microservuces
- Size of microservices
- What makes a good service?
- DDD and its importance for microservices
- The concept of Seam
- Communication between microservices
- Revisiting the case study–Flix One
- Integration techniques
- Communication between services
- Integration patterns
- Testing Strategies
- How to test microservices
- Testing strategies (testing approach)
- Testing pyramid
- Types of microservice tests
- Tests in action
- Monolithic application deployment challenges
- Understanding the deployment terminology
- Prerequisites for successful microservice deployments
- Isolation requirements for microservice deployment
- Need for a new deployment paradigm
- Docker quick introduction
- Security in monolithic applications
- Security in microservices
- Instrumentation and telemetry
- The need for monitoring
- Monitoring challenges
- Monitoring in Azure Cloud
- Other microservice monitoring solutions
- Scalability overview
- Scaling infrastructure
- Microservices scalability
- Scaling the infrastructure
- Scaling service design
- Reactive miroservices
- What are reactive microservices?
- Making it reactive
- Event communication
- Managing data
- The microservice ecosystem
- Reactive microservices – coding it down
- Creating a complete microservice solution
- Architectures before microservices
- Monolith transitioning
- Monitoring strategies
- Reactive microservices
- Greenfield application
Planning to buy this book, here is a sample chapter for you go and start reading until you get the book in your hands, here is sample chapter link: https://www.packtpub.com/books/content/what-are-microservices
During the journey of this book, there are two more likely minded folks who added their knowledge to make sure the book carry all the topics/stuffs of microservices. I am glad to have such wonderful friends and coauthor Lalit Kale and Kanwwar Manishwho helped me and contributed for the book.
Gaurav Aroraa has done M.Phil in computer science. He is a Microsoft MVP, certified as a scrum trainer/coach, XEN for ITIL-F, and APMG for PRINCE-F and PRINCE-P. Gaurav serves as a mentor at IndiaMentor, webmaster of dotnetspider, contributor to TechNet Wiki, and co-founder of Innatus Curo Software LLC. In the 19+ years of his career, he has mentored thousands of students and industry professionals. You can reach Gaurav via his blog, LinkedIn, and twitter handle (@g_arora).
Lalit Kale is a technical architect and consultant with more than 12 years of industry experience. Lalit has helped clients achieve tangible business outcomes through the implementation of best practices in software development. He is a practitioner of TDD and DDD, and a big believer in agile and lean methodologies. He has worked with several organizations, from start-ups to large enterprises, in making their systems successful, be it in-house or mission critical, with clients in the USA, the UK, Germany, Ireland, and India. His current interests include container technologies and machine learning using Python. He holds a bachelor’s degree in engineering (IT).
Manish Kanwar completed his masters of science in computer applications from MD University, India, and is a cofounder of Innatus Curo Software LLC, with a presence in India. He has been working in the IT industry across domains for the last 17 years. He started exploring .NET right from the first release and has been glued to it ever since.
His range of experience includes global wealth management (financial service industry, USA), life insurance (insurance industry, USA), and document management system (DMS), ECMS, India. Manish does his bit for the community by helping young professionals through the IndiaMentor platform.
Author(s) write their story on the paper and reviewers(s) polished that story for audience, thanks to all great reviewer(s) for their splendid job.
Vidya Vrat Agarwal
Vidya Vrat Agarwal is software technology enthusiast, Microsoft MVP, C# Corner MVP, TOGAF Certified Architect, Certified Scrum Master (CSM), and a published author. He has presented sessions at various technical conferences and code camps in India and the USA. He lives in Redmond, WA with his wife Rupali and two daughters, Pearly and Arshika. He is passionate about .NET and works as a software architect/.NET consultant. He can be followed on Twitter at @DotNetAuthor.
Nishith Shukla is a seasoned software architect and has been a leader in developing software products for over 15 years. Currently, he is working in Bay Area, California for BlackBerry. He joined BlackBerry through the acquisition of AtHoc and is playing a key technical leadership role in transmitting BlackBerry from a hardware to a software company.
Nishith has played a key role in various software products through his extensive knowledge on OOP, design patterns, and architectural best practices, including microservices, and through his balanced approach between business goals and technical goals. Outside work, Nishith plays an active role in software community building, playing Golf, travelling the world, and spending time with his family.
How to get this book?
Book is available at:
- Packt website, you can directly by it from: https://www.packtpub.com/web-development/building-microservices-net-core
- Amazon website, you can get one from: https://goo.gl/kA6oUu
- Safari books online: https://goo.gl/MZ66UP
- Booktopia: https://goo.gl/P6Rhg5
- Find book on book finder: https://goo.gl/kARi4i
Your feedback is very important that help me to understand & help me to improve contents (if any) further.
What I get during this journey?
- No doubt, more in-depth learning on the subject
- Friends from PACKT
- necessity is the mother of invention, during this book, I did not find any way to describe/test Consumer driven contract in .NET Core, hence came to conclusion and started open source project Pact net core.
- Started a knowledge portal on Microservices right way.
Thanks for giving your time and joining me!