Skip to main content

Microservices

Microservices

what are microservices?

History

Late 90's: message oriented middleware >>> Mid 00's: Service Oriented Architecture (SOAP and WSDL) >>> Early 10's: API Platforms & Management (REST and JSON became standard, OAuth) >>> 2015+: Microservice Architecture

monolithic codebases end up having duplicate code, because of the large size, you missed out on reuse

img

img

Microservices Architecture

img

img

  • Large Monoliths >>> small service processes
  • services are for a single function

https://microservices.io/index.html

  • should be based on one or more resources
  • decentralized, usually manage their own databases
  • resilient, if one fails another can replace it
  • continuous integration, work well with systems that evolve over time

Microservice's purpose within an organization is to be redundant and highly available microservices

microservices and the trade-offs involved in using them. Microservices are smaller, independently deployable services that can be used to build large-scale applications. While they can offer benefits such as improved scalability and flexibility, they can also introduce complexity and overhead. The speaker argues that microservices should be considered technical debt, and that companies should carefully evaluate the costs and benefits before adopting them. He also suggests that there may be better ways to build large-scale applications than using microservices.

Entities: primary concepts of your business

Use Cases:

Adapters - Controllers, Gateways, Presenters

img

Frameworks and Drivers that we use to build the application - External Interfaces, DB, Devices, Web, UI POCO - Plain Old CLR Objects

URI - Uniform Resource API resource - serverless - endpoint - content expirations - resources stored in browser cache

Event Driven Programming - While traditional programming is linear and based on the flow of execution, with operations running for a fixed span or until reaching pre-written decision points, event-driven programming progresses as triggered by certain events (e.g., clicking on the mouse, pressing some keys on the keyboard, selecting an option from a drop-down menu). This type of programming is most common for programs with graphical user interfaces (GUIs).

Asynchronous programming and callbacks -

Timers -

Promises -

Async and Await -

Closures -

tunnelling proxy -

First Request

Return Visits

Tactical Forking

forking could potentially refer to a strategy where a team or an organization creates a separate version of a microservice to address specific requirements or to experiment with new functionality without affecting the existing production version. This can be done by duplicating the codebase of an existing microservice and making modifications to the duplicated version.

By tactically forking a microservice, teams can explore different approaches, experiment with new technologies, or implement specific changes without impacting the production environment. It allows for parallel development and testing of new features or improvements while maintaining the stability of the existing microservice.

Build & Deploy Web Services

https://render.com/pricing

FREE APIs

github

free-apis.github.io