DevBrainOps
110 subscribers
99 photos
5 videos
23 files
226 links
The group whose goal is to find the best approaches and solve problems of #DevOps practice.
Download Telegram
What Is Microservices Architecture?

A microservice-based architecture is a modern approach to software development that breaks down complex applications β€” sometimes called monolithic applications β€” into smaller components that are independent of each other and more manageable. The approach has gained popularity because of the advantages it brings to agile software development and application security.

Microservices don’t reduce complexity, but they make any complexity visible and more manageable by separating tasks into smaller processes that function independently of each other and contribute to the overall whole.

Adopting microservices often goes hand in hand with DevOps, since they are the basis for continuous delivery practices that allow teams to adapt quickly to user requirements.

#App #Architecture #DevOps
πŸ”₯3
Essential Components of a Production Microservice Application
1 - API Gateway
It handles routing, filtering, and load balancing.
2 - Service Registry
The service registry contains the details of all the services.
3 - Service Layer
can run on multiple instances.
4 - Authorization Server
Used to secure the microservices
5 - Data Storage
can store application data generated by the services.
6 - Distributed Caching
Caching is a great approach for boosting the application performance.
7 - Async Microservices Communication
to support async communication between microservices.
8 - Metrics Visualization
Microservices can be configured to publish metrics to Prometheus or use Grafana Alloy for publish metrics to Grafana Mimir and Grafana for visualization.
9 - Log Aggregation and Visualization
Logs generated by the services are aggregated using Logstash or Grafana Alloy , stored in Elasticsearch or Grafana Loki, and visualized with Kibana or Grafana.
#Architecture #DevOps #PlatformEngeeniring #infra
πŸ‘2
❀2
πŸ‘3
Essential Components of a Production Web Application.
1 - It all starts with CI/CD pipelines that deploy code to the server instances.
2 - The user requests originate from the web browser. After DNS resolution, the requests reach the app servers.
3 - Load balancers and reverse proxies (such as Nginx & HAProxy) distribute user requests evenly across the web application servers.
4 - The requests can also be served by a Content Delivery Network (CDN).
5 - The web app communicates with backend services via APIs.
6 - The backend services interact with database servers or distributed caches to provide the data.
7 - Resource-intensive and long-running tasks are sent to job workers using a job queue.
8 - The full-text search service supports the search functionality.
9 - Monitoring tools (such as Sentry, Grafana, and Prometheus) store logs and help analyze data to ensure everything works fine.
10 - In case of issues, alerting services notify developers through platforms like Slack for quick resolution.
πŸ”₯3
Karpenter is the best assistant with questions on capacity and allocation of power for workloads! If you use amazon web services and eks (kubernetes) there, then it is better to take a closer look at karpenter, since in the future he will greatly minimize operating costs from your project.

#aws #eks #infrastructure

https://opsguru.io/post/karpenter
πŸ‘2
How Container Networking Works

When you need to understand a complex piece of tech, creating a toy version of it can be an efficient learning trick πŸ“
That's exactly how I mastered container networking - by creating a Docker bridge network from scratch.
And with this interactive tutorial, you can get such experience πŸ‘‰ https://labs.iximiuz.com/tutorials/container-networking-from-scratch

#Container #Networking
#infrastructure
πŸ‘3
A picture is worth a thousand words: 9 best practices for developing microservices.

When we develop microservices, we need to follow the following best practices:

1. Use separate data storage for each microservice
2. Keep code at a similar level of maturity
3. Separate build for each microservice
4. Assign each microservice with a single responsibility
5. Deploy into containers
6. Design stateless services
7. Adopt domain-driven design
8. Design micro frontend
9. Orchestrating microservices

#microservices #architecture
#application
πŸ‘2
Think like an architect: a mental model for designing your softwares

🍏What You'll Learn:
- How to transition your architectural knowledge to serverless
- The importance of modularity in serverless design and how to implement it
- A step-by-step example of moving from business requirements to a high-level architecture, and finally to a detailed serverless architecture

#microservices #architecture
#application #CloudComputing
#DevOps #CloudArchitect #ArchitecturePatterns
#AWSServices #CloudSolutions

🧩part1
https://www.youtube.com/watch?v=9gEtY4Pb_8g

🧩part2
https://www.youtube.com/watch?v=Gp_Cmv1Tams
πŸ‘2
🌱These tips will give you an understanding of what characteristics a reliable application should meet.

#Architecture #application #SystemsDesign

https://12factor.net/
πŸ‘1πŸ”₯1
🦢🏼How do message queue architectures evolve?
πŸ”Ή IBM MQ - was launched in 1993. It was originally called MQSeries and was renamed WebSphere MQ in 2002. It was renamed to IBM MQ in 2014. IBM MQ is a very successful product widely used in the financial sector. Its revenue still reached 1 billion dollars in 2020.

πŸ”Ή RabbitMQ - architecture differs from IBM MQ and is more similar to Kafka concepts. The producer publishes a message to an exchange with a specified exchange type. It can be direct, topic, or fanout. The exchange then routes the message into the queues based on different message attributes and the exchange type. The consumers pick up the message accordingly.

#infrastructure #DevOps #Architecture
#application #microservices
❀1
πŸ”Ή Kafka
In early 2011, LinkedIn open sourced Kafka, which is a distributed event streaming platform. It was named after Franz Kafka. As the name suggested, Kafka is optimized for writing. It offers a high-throughput, low-latency platform for handling real-time data feeds. It provides a unified event log to enable event streaming and is widely used in internet companies.

Kafka defines producer, broker, topic, partition, and consumer. Its simplicity and fault tolerance allow it to replace previous products like AMQP-based message queues.

πŸ”Ή Pulsar
Pulsar, developed originally by Yahoo, is an all-in-one messaging and streaming platform. Compared with Kafka, Pulsar incorporates many useful features from other products and supports a wide range of capabilities. Also, Pulsar architecture is more cloud-native, providing better support for cluster scaling and partition migration, etc.

There are two layers in Pulsar architecture: the serving layer and the persistent layer. Pulsar natively supports tiered storage, where we can leverage cheaper object storage like AWS S3 to persist messages for a longer term.

#infrastructure #DevOps #Architecture
#application #microservices
πŸ‘1πŸ”₯1
πŸ”₯2πŸ‘1
Why gRPC is Popular πŸš€

Here's why:
πŸ” Speed - gRPC is built on HTTP/2 and Protobufs for maximum throughput and minimal latency. Much faster than JSON over HTTP.
πŸ” Efficiency The compact Protobuf binary format means smaller payloads than JSON. Less data sent = better performance.
πŸ” Type Safety Protobufs are strongly typed, eliminating many bugs.
πŸ” Polyglot Write services in many popular languages, the IDL works across them all.
πŸ” Streaming gRPC supports bidirectional streaming for real-time data transmission.
πŸ” Great Ecosystem Tons of tools exist for code gen, load balancing, monitoring, and more.

Of course, gRPC has some drawbacks:
πŸ– More Complex Defining Protobuf schemas and setting up gRPC can have a learning curve.
πŸ– Not Human Readable Protobufs are binary, so not as easy to troubleshoot as JSON. Tools like grpcurl help a little bit.
πŸ– Limited Browser Support gRPC works best for backend microservices, not front-end apps.

#DevOps #Architecture #application #microservices #Architecture
πŸ‘1πŸ”₯1
AWS_Marketplace_Cloud_Native_eBook_2_Development_Techniques_FINAL.pdf
4 MB
Book: πŸ“š Development Techniques for Serverless and Kubernetes Applications

#infrastructure #aws #devops
πŸ‘1πŸ”₯1