This presentation is conducted on 14th Sept in Limerick DotNet User Group.
(https://www.meetup.com/preview/Limerick-DotNet/events/xskpdnywmbsb)
SlideShare Url: https://www.slideshare.net/lalitkale/introduction-to-microservices-80583928
In this presentation, new architectural style - Microservices and it's emergence is discussed. We will also briefly touch base on what are not microservices, Conway's law and organization design, Principles of microservices and service discovery mechanism and why it is necessary for microservices implementation.
About Speaker:
Lalit is a senior developer, software architect and consultant with more than 12 yrsof .NET experience. He loves to work with C# .NET and Azure platform services like App Services, Virtual Machines, Cortana, and Container Services. He is also the author of 'Building Microservices with .NET Core' (https://www.packtpub.com/web-development/building-microservices-net-core) book.
To know more and connect with Lalit, you can visit his LinkedIn profile below. https://www.linkedin.com/in/lalitkale/
This presentation will be useful for software architects/Managers, senior developers.
Do share your feedback in comments.
2. About Me
• 12 years of .NET
• Roles: Software Developer Sr. Developer Tech Lead Architect
• Limerick DotNet Azure Meetup Organizer
Limerick DotNet Azure User Group (LDNA)
5. Why Microservices?
• As a business transformational instrument in
• Organizational Restructuring
• Supporting hyper-scale growth
• Scaling business capabilities
• Provides Business Agility and faster pace to delivery
• Unlocks experimentation and learning capabilities on organizational
level which is not at all possible with Monolithic architectures
8. Martin Fowler on Microservices
• The microservice architectural style is an approach to developing a single
application as a suite of small services, each running in its own process and
communicating with lightweight mechanisms, often HTTP resource API.
• These services are built around business capabilities and independently
deployable by fully automated deployment machinery.
• There is a bare minimum of centralized management of these services,
which may be written in different programming languages and use
different data storage technologies.
9. Every microservice is different, yet they share some common characteristics.
Microservices
12. What is NOT Microservices?
Refactor monolithic application into smaller services??
13. Monolith
If you force monolith to get Microservices any which way, all you can get is Microlith
Microservice?
Microlith
Monolith
What is NOT Microservices?
16. Conway’s Law
"Any organization that designs a system (defined more broadly here
than just information systems) will inevitably produce a design whose
structure is a copy of the organization's communication structure.“
-Melvin Conway
21. Designing Microservices
• ‘Micro’ is misleading most of implementations
• It is NOT about how many lines of code in your microservice have
• Should be Manageable by a small, self-sufficient team
• Evolutionary design
22. Designing Microservices
• Service = Business Capability
• Single Responsibility Principle(SRP)
• Find the Seams around Service Boundary.
• DDD – Follow Bounded Context Pattern
• Follow Consumer Driven Contracts
23. Designing Microservices - Tips
• Ensure independent development and deployment of the service
• Focus more on the scope of the microservice, but not about
making the service smaller
• SOA = Coarse Grain Services while microservice should have a very
few operations/functionalities and simple message format.
• It is often a good practice to start with relatively broad service
boundaries to begin with, refactoring to smaller ones (based on
business requirements) as time goes on.
26. Microservices Interactions
• Understanding Message Queue, Message Bus
• FIFO
• Same system different processes
• Separate queues for separate
• dependent Process
• No sequential preference
• Pub-Sub Mechanism
• Single Message bus for connecting
different applications
40. .
This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/
All trademarks are the property of their respective owners. Lalit Kale or Limerick DotNet-Azure User Group or it’s members makes no warranties, express, implied or statutory, as to the information in this presentation.
Limerick DotNet-Azure User Group
https://www.meetup.com/limerick-dotnet/
Twitter: limerickdotnet
Notes de l'éditeur
Please note, this is mandatory slide and Do Not change or exclude
Note: Not a true depiction of these org. communications just included for humour and emphasizing the point of Conway’s law
This is End slide.
As a user group, we wanted to share your contribution with our community, off course, with due credits. Hence, we are sharing this presentation under creative commons Noncommercial-ShareAlike 4.0 international license.