You are on page 1of 14

Establishing Foundation

Presented By :
3334 Nilesh Yadav
3337 Prakash Sanas
3317 Nitin T John
❖ Introduction
What is Microservices :- Microservices are like tiny, independent programs that work
together to create a larger application. Instead of building one huge, monolithic
application, you break it down into smaller, manageable parts. Each part, or
microservice, focuses on doing one thing really well.

Establishing a foundation in microservices architecture marks a significant shift in the


way modern software systems are designed, developed, and deployed. Microservices, as
an architectural approach, offer numerous advantages including scalability, flexibility,
securtiy , and faster time-to-market for software applications.
❖ Goals
● Scalability : Design the architecture to scale horizontally by adding more instances of
individual services to handle increased loads. This ensures that the application can
accommodate growth in user traffic and data volume without sacrificing performance.
● Flexibility : Enable flexibility in the architecture by allowing services to be developed,
deployed, and updated independently of each other. This facilitates agility in development
and enables faster time-to-market for new features and updates.

microservices are more flexible than traditional monolithic applications, as developers can
add new services without having to change the entire system.

● Security: Prioritize security throughout the architecture by implementing measures


to protect against threats such as unauthorized access, data breaches, and cyber
attacks. Implement authentication, authorization, encryption, and other security
mechanisms to safeguard sensitive data and resources.
❖ Operating Principles ?

● Unlike goals, which are general, principles offer more concrete guidance on
how to act in order to achieve those goals.
● Principles are not rules—they don’t set out required elements.
● Instead, they offer examples on how to act in identifiable situations.
● Principles can also be used to inform best practices.
❖ Netflix

1. Antifragility :

Netflix works to strengthen their internal systems so that they can withstand
unexpected problems.

“The point of antifragility is that you always want a bit of stress in your system
to make it stronger.”
❖ Netflix

2. Immutability :

Allows system to “scale horizontally.”

“Red/Black pushes”.

After waiting to be sure all is well, the old instances are terminated.
❖ Netflix

3. Separation of Concerns :

(SoC) in the engineering team organization.

Each team owns a group of services.

They own building, operating, and evolving those services, and present a stable agreed.

Interface and service level agreement to the consumers of those services.


❖ Unix

1. Make each program do one thing well.

2. Expect the output of every program to become the input to another.

3. Design and build software, even operating systems, to be tried early.

4. Use tools in preference to unskilled help to lighten a programming task.


❖ Platform
● From a microservice architecture perspective, good platforms increase the harmonic
balance between speed and safety of change at scale.
● The challenge is that it seems every company is doing this their own way, which presents
some choices to anyone who wants to build their own microservice environment.
● Two groups:
○ Shared capabilities.
○ Local capabilities.
❖ 1. Shared Capabilities:
● Used By All Teams.
● Standardized things like container technology, policy enforcement, service
orchestration/interop, and data storage services.
● Below Are some of the services that come under Shared Services Platform
○ Hardware services :- Server Machine(s) with Monitoring s/w OR Virtual OS with
the s/w Packages)
○ Code management, testing, and deployment :- Version Control, Reviewing of the
Code and Ease of Deployment of the Code in production Envionment.
○ Data stores :- Selected Data Storage Platforms to All the Developers.
○ Service orchestration :- Defining the Flow of the Services and Automating the
Management of the services.
○ Security and identity :- securing the Data transfer from one location to another.
○ Architectural policy :- Company-specific patterns or models—often based on which
inspection or even invasive testing is done.
❖ 2. Local Capabilities:
● Used and maintained at the team or group level.
● Help teams become more self-sufficient
● It is common to allow teams to make their own determination on which developer tools,
frameworks, support libraries, config utilities, etc., are best for their assigned job.
● Below Are some of the services that come under Local Services Platform :-
○ General Tooling :- Automate the process of rolling out, monitoring, and managing
VMs and deployment packages.
○ Runtime Configuration :- ability roll out new features in a series of controlled
stages.
○ Service Discovery :- ability to abstract the exact location of services allows various
teams to make changes to the location of their own service deployments without
fear of breaking some other team’s existing running code.
❖ 2. Local Capabilities:
○ Request Routing :- All systems use some kind of request-routing technology to
convert external calls (usually over HTTP, Web‐ Sockets, etc.) into internal code
execution (e.g., a function somewhere in the codebase).
○ System Observability :- A big challenge in rapidly changing, distributed
environments is getting a view of the running instances—seeing their
failure/success rates, spotting bottlenecks in the system, etc.
Thank you

You might also like