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.
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
#aws #eks #infrastructure
https://opsguru.io/post/karpenter
opsguru.io
Karpenter - A New Way to Manage Kubernetes Node Groups
Learn about AWS' recently released Karpenter and how it will bring a more native approach to managing your cluster nodes.
π2
Introduction to Systems Design
#SystemsDesign #DevOps
#infrastructure #Architecture
https://www.youtube.com/watch?v=F2FmTdLtb_4
#SystemsDesign #DevOps
#infrastructure #Architecture
https://www.youtube.com/watch?v=F2FmTdLtb_4
YouTube
System Design Concepts Course and Interview Prep
This complete system design tutorial covers scalability, reliability, data handling, and high-level architecture with clear explanations, real-world examples, and practical strategies. You will learn the core concepts you need to know for a system designsβ¦
π3
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
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
An article about the most important alerts for Karpenter
https://www.perfectscale.io/blog/karpenter-monitoring-with-prometheus
#monitoring #infrastructure
#aws #DevOps
https://www.perfectscale.io/blog/karpenter-monitoring-with-prometheus
#monitoring #infrastructure
#aws #DevOps
www.perfectscale.io
Karpenter Monitoring with Prometheus
Optimize Kubernetes autoscaling processes and strengthen your infrastructure with a powerful guide for monitoring Karpenter with Prometheus.
π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
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
π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
YouTube
Think like an architect: a mental model for designing your softwares - Part ONE
In this two-part video series, Raj and Luca break down the essential mental models for transforming business requirements into cutting-edge cloud architectures.
In Part 1, we dive into Kubernetes and containers, showing you how to think like an architectβ¦
In Part 1, we dive into Kubernetes and containers, showing you how to think like an architectβ¦
π2
Advanced Kubernetes: From GitOps to Resource Optimization and Quantum Computing
#infrastructure #kubernetes #gitops
https://youtube.com/live/aCWq-CYLHuI
#infrastructure #kubernetes #gitops
https://youtube.com/live/aCWq-CYLHuI
YouTube
Advanced Kubernetes: From GitOps to Resource Optimization and Quantum Computing
https://www.meetup.com/kubernetes-finland/events/302138388/
Welcome to our August meetup hosted by Metacore!
Our planned schedule is the following:
16:30 - 17:15: Arrive to the venue
17:15 - 17:45: Organizers - Welcome and practicalities
17:45 - 18:15:β¦
Welcome to our August meetup hosted by Metacore!
Our planned schedule is the following:
16:30 - 17:15: Arrive to the venue
17:15 - 17:45: Organizers - Welcome and practicalities
17:45 - 18:15:β¦
π2
π±These tips will give you an understanding of what characteristics a reliable application should meet.
#Architecture #application #SystemsDesign
https://12factor.net/
#Architecture #application #SystemsDesign
https://12factor.net/
12factor.net
The Twelve-Factor App
A methodology for building modern, scalable, maintainable software-as-a-service apps.
π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
πΉ 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
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
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
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
#infrastructure #aws #devops
π1π₯1
π§πΌβπ»Leveraging Cilium in its Kubernetes platform has lowered Kakaoβs network and performance costs
ππ»ββοΈand enabled faster debugging of network issues.
#cloudnative #network
#kubernetes #cilium
https://www.cncf.io/case-studies/kakao/?utm_content=303207023&utm_medium=social&utm_source=linkedin&hss_channel=lcp-12893459
ππ»ββοΈand enabled faster debugging of network issues.
#cloudnative #network
#kubernetes #cilium
https://www.cncf.io/case-studies/kakao/?utm_content=303207023&utm_medium=social&utm_source=linkedin&hss_channel=lcp-12893459
CNCF
Kakao
Kakao Corp is a South Korean company known for its popular messaging application, KakaoTalk. They not only help people stay connected but also offer additional services such as maps, comicsβ¦
π2
How can Redis be used?
There is more to Redis than just caching.
Redis can be used in a variety of scenarios as shown in the diagram.
πΉSession
We can use Redis to share user session data among different services.
πΉCache
We can use Redis to cache objects or pages, especially for hotspot data.
πΉDistributed lock
We can use a Redis string to acquire locks among distributed services.
πΉCounter
We can count how many likes or how many reads for articles.
πΉRate limiter
We can apply a rate limiter for certain user IPs.
πΉGlobal ID generator
We can use Redis Int for global ID.
πΉShopping cart
We can use Redis Hash to represent key-value pairs in a shopping cart.
πΉCalculate user retention
We can use Bitmap to represent the user login daily and calculate user retention.
πΉMessage queue
We can use List for a message queue.
πΉRanking
We can use ZSet to sort the articles.
#redis #application #devops
There is more to Redis than just caching.
Redis can be used in a variety of scenarios as shown in the diagram.
πΉSession
We can use Redis to share user session data among different services.
πΉCache
We can use Redis to cache objects or pages, especially for hotspot data.
πΉDistributed lock
We can use a Redis string to acquire locks among distributed services.
πΉCounter
We can count how many likes or how many reads for articles.
πΉRate limiter
We can apply a rate limiter for certain user IPs.
πΉGlobal ID generator
We can use Redis Int for global ID.
πΉShopping cart
We can use Redis Hash to represent key-value pairs in a shopping cart.
πΉCalculate user retention
We can use Bitmap to represent the user login daily and calculate user retention.
πΉMessage queue
We can use List for a message queue.
πΉRanking
We can use ZSet to sort the articles.
#redis #application #devops
π3
10 Key Data Structures We Use Every Day
πΈlist: keep your Twitter feeds
πΈstack: support undo/redo of the word editor
πΈqueue: keep printer jobs, or send user actions in-game
πΈhash table: cashing systems
πΈArray: math operations
πΈheap: task scheduling
πΈtree: keep the HTML document, or for AI decision
πΈsuffix tree: for searching string in a document
πΈgraph: for tracking friendship, or path finding
πΈr-tree: for finding the nearest neighbor
πΈ vertex buffer: for sending data to GPU for rendering
#devops #algorithms
πΈlist: keep your Twitter feeds
πΈstack: support undo/redo of the word editor
πΈqueue: keep printer jobs, or send user actions in-game
πΈhash table: cashing systems
πΈArray: math operations
πΈheap: task scheduling
πΈtree: keep the HTML document, or for AI decision
πΈsuffix tree: for searching string in a document
πΈgraph: for tracking friendship, or path finding
πΈr-tree: for finding the nearest neighbor
πΈ vertex buffer: for sending data to GPU for rendering
#devops #algorithms
π4
Grafana LOKI one of the best tools for log collection, with good and reliable distributed architecture π§ββ
#grafana #devops #loki
https://youtu.be/0B-yQdSXFJE?si=pNp00yotpJCcmT-n
#grafana #devops #loki
https://youtu.be/0B-yQdSXFJE?si=pNp00yotpJCcmT-n
YouTube
Mastering Grafana Loki: Complete Guide to Installation, Configuration, and Integration | Part 1
πAWS Cloud Practitioner Course: https://kode.wiki/AWSCloudPractitioner_YT
Welcome to Part 1 of our comprehensive guide to Grafana Loki! In this video, we'll take you through everything you need to know about Grafana, the Loki architecture, step-by-stepβ¦
Welcome to Part 1 of our comprehensive guide to Grafana Loki! In this video, we'll take you through everything you need to know about Grafana, the Loki architecture, step-by-stepβ¦
π₯3