Information Technology Broadcasting - اطلاع‌رسانی فناوری اطلاعات
405 subscribers
14K photos
42 videos
510 files
489 links
Information Technology, Cloud computing, Digital transformation, IoT, Edge computing, IT governance, Fog computing, IT security, IT regulation, IT trends, Programming، Big data, Monitoring, Databases, Api, Service, business process, business capability
Download Telegram
The Free #Software Foundation defines it as “the users
have the freedom to run, copy, distribute, study, change and improve the software. Thus, free
software is a matter of liberty, not price.” Historically, the free software community has
used the analogy of “free” as in “free speech,” not “free” as in “free beer."
👍2
ZERO TRUST-AI.pdf
687 KB
ZERO TRUST-AI.pdf
#security #ai

A security framework for deploying autonomous Al agents in the enterprise.
👍2
10 #microservices #design patterns for better #architecture

1. #Database per #service pattern

The database is one of the most important components of microservices architecture, but it isn’t uncommon for developers to overlook the database per service pattern when building their services. Database organization will affect the efficiency and complexity of the application. The most common options that a developer can use when determining the organizational architecture of an application are:
Dedicated database for each service:

A database dedicated to one service can’t be accessed by other services. This is one of the reasons that makes it much easier to scale and understand from a whole end-to-end #business aspect.
👍1
2. Saga #pattern
A saga is a series of local transactions. In #microservices #applications, a saga pattern can help maintain #data consistency during distributed transactions.
👍2
#NetOps for networks, #DataSecOps for data engineering, #MLOps for machine learning, #NoOps for operations, and #EdgeOps for edge computing
👍2
3. API gateway pattern
For large applications with multiple clients, implementing an #API gateway #pattern is a compelling option One of the largest benefits is that it insulates the client from needing to know how services have been partitioned.
👍2
4. Aggregator design pattern

An aggregator design #pattern is used to collect pieces of #data from various microservices and returns an aggregate for processing. Although similar to the backend-for-frontend (BFF) design pattern, an aggregator is more generic and not explicitly used for UI.
👍2
5. Circuit breaker design pattern

This #pattern is usually applied between services that are communicating synchronously. A developer might decide to utilize the circuit breaker when a #service is exhibiting high latency or is completely unresponsive. The utility here is that failure across multiple systems is prevented when a single #microservice is unresponsive. Therefore, calls won’t be piling up and using the system resources, which could cause significant delays within the app or even a string of service failures.
👍2
6. Command query responsibility segregation (CQRS)

A developer might use a command query responsibility segregation (CQRS) design #pattern if they want a solution to traditional #database issues like #data contention risk. CQRS can also be used for situations when app #performance and #security are complex and objects are exposed to both reading and writing transactions.
👍2
7. Asynchronous messaging

If a #service doesn’t need to wait for a response and can continue running its code post-failure, asynchronous messaging can be used. Using this design #pattern, microservices can communicate in a way that’s fast and responsive. Sometimes this pattern is referred to as event-driven communication.
👍2
8. Event sourcing

The #event sourcing design #pattern is used in microservices when a developer wants to capture all changes in an entity’s state. Using event stores like Kafka or alternatives will help keep track of event changes and can even function as a message broker. A message broker helps with the communication between different microservices, #monitoring messages and ensuring communication is reliable and stable.
👍2
9. Strangler

Developers mostly use the strangler design #pattern to incrementally transform a #monolith #application to microservices. This is accomplished by replacing old functionality with a new #service — and, consequently, this is how the pattern receives its name. Once the new service is ready to be executed, the old service is “strangled” so the new one can take over.
👍1
10. Decomposition patterns

Decomposition design patterns are used to break a #monolithic #application into smaller, more manageable #microservices.
👍1