Microservice Architecture for Graduate students

omyadava84 38 views 15 slides Aug 13, 2024
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

Details ppt for Microservice architecture for students


Slide Content

Microservice Architecture

What are microservices

Microservice Architecture Benefits Why are organizations adopting microservices?  What are the motivations and challenges? How can the leaders of these organizations tell that taking on the challenges of managing a collection of small, loosely coupled, independently deployable services is actually paying off for the company?  What is the measure of success?  Surveying the early adopters of microservices, we find that the answers to these questions vary quite a bit.  However, some common themes emerge and tie back to the mantra of “balancing speed and safety at scale.”

Establishing a Foundation Goals and Principles Regardless of the software architecture style you employ, it is important to have some overall goals and principles to help inform your design choices and guide the implementation efforts.  This is especially true in companies where a higher degree of autonomy is provided to developer teams.  The more autonomy you allow, the more guidance and context you need to provide to those teams.

Goals for the Microservices Way It is a good idea to have a set of high-level goals to use as a guide when making decisions about what to do and how to go about doing it.  We’ve already introduced our ultimate goal in building applications in the microservices way: finding the right harmony of speed and safety at scale.

Agility allows organizations to deliver new products, functions, and features more quickly and pivot more easily if needed. Composability reduces development time and provides a compound benefit through reusability over time. Comprehensibility of the software system simplifies development planning, increases accuracy, and allows new resources to come up to speed more quickly. Independent deployability of components gets new features into production more quickly and provides more flexible options for piloting and prototyping. Organizational alignment of services to teams reduces ramp-up time and encourages teams to build more complex products and features iteratively. Polyglotism permits the use of the right tools for the right task, thus accelerating technology introduction and increasing solution options.

Likewise, digital native consumers expect always-on services and are not shy about changing corporate allegiances.  Outages or lost information can cause them to take their business elsewhere.  A safe software system is indispensable. The safety-aligned benefits discussed earlier also provide particular business value: Greater efficiency in the software system reduces infrastructure costs and reduces the risk of capacity-related service outages. Independent manageability contributes to improved efficiency, and also reduces the need for scheduled downtime. Replaceability of components reduces the technical debt that can lead to aging, unreliable environments.

Service design In our experience working with various organizations and interviewing others, some of the more challenging questions that teams adopting microservice architecture face are how to properly size microservices (“how micro is micro ?”) and how to properly deal with data persistence in order to avoid sharing of data across services.  These two concerns are actually closely related. A mistake in optimal sizing often begets the extraneous data-sharing problem, but the latter is especially problematic, operationally, since it can create tight cross-service coupling and impede independent deployability , a core value of the architectural style.

In reality, there is no simple answer for this question.  The things that first come to mind, such as lines of code in a microservice or the size of a team working on one are compelling, since they offer the chance to focus on a quantifiable value (e.g., “The answer is 42!”).

THANK YOU