codeisgo.com retweeted
Rancher Live: What is Developer Advocacy?
We will do our best to explain what we do, what benefits our roles brings to the company and everything in between.
Join @OrlinVasilev @kaslinfields Jorge Castro
YouTube: okt.to/lUOFJW
LinkedIn: okt.to/u16idF
and on X!
codeisgo.com retweeted
๐ Level up your #Kubernetes skills with SUSE Rancher Rodeos. Join our free online workshops tailored for #DevOps and IT teams. ๐ Get hands-on with SUSE Rancher Prime, App Collection and SUSE Observability guided by SUSE experts. ๐ Register now: okt.to/Zt06xH
codeisgo.com retweeted
๐ฃ Release announcement ๐ฃ
โจ v1.19 of @kubewarden is generally available! โจ
With a host of improvements, such as
โ
bug fixes,
โ
dependency updates and
โ
tech debt improvements,
we can't wait for you to give it a spin today!๐
๐ Secure your #kubernetes clusters with the flexibility of #WebAssembly!
Learn more ๐ kubewarden.io/blog/2024/11/kโฆ
codeisgo.com retweeted
For a summary of each and why they made his list see: oodaloop.com/analysis/decisiโฆ (He added many others as honorable mentions, must have been hard to pick the final top 10).
codeisgo.com retweeted
Top 9 Architectural Patterns for Data and Communication Flow
๐น Peer-to-Peer
The Peer-to-Peer pattern involves direct communication between two components without the need for a central coordinator.
๐น API Gateway
An API Gateway acts as a single entry point for all client requests to the backend services of an application.
๐น Pub-Sub
The Pub-Sub pattern decouples the producers of messages (publishers) from the consumers of messages (subscribers) through a message broker.
๐น Request-Response
This is one of the most fundamental integration patterns, where a client sends a request to a server and waits for a response.
๐น Event Sourcing
Event Sourcing involves storing the state changes of an application as a sequence of events.
๐น ETL
ETL is a data integration pattern used to gather data from multiple sources, transform it into a structured format, and load it into a destination database.
๐น Batching
Batching involves accumulating data over a period or until a certain threshold is met before processing it as a single group.
๐น Streaming Processing
Streaming Processing allows for the continuous ingestion, processing, and analysis of data streams in real-time.
๐น Orchestration
Orchestration involves a central coordinator (an orchestrator) managing the interactions between distributed components or services to achieve a workflow or business process.
โ
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/3KCnWXq
codeisgo.com retweeted
With Copilot in OneDrive, you will be able to ask questions about the contents of files and get smart answers. See our Microsoft Cloud Monday Bulletin for this and more ๐ bit.ly/3JPaize
#Microsoft365 #ManagedCloudServices #SmallBusiness #MicrosoftCloudMonday
codeisgo.com retweeted
The great potential of India-Australia quantum collaboration | Sameer Patil | aspistrategist.org.au/the-grโฆ via @aspi_org โ at London, England
codeisgo.com retweeted
Happy 124th Birthday to Wolfgang Pauli, a Nobel Prize-winning physicist known for his work on quantum mechanics and the Pauli exclusion principle.
He was known for his sharp wit and was referred to as the "conscience of physics" for his honesty in criticizing flawed theories.
Image: Wolfgang Pauli on his 45th birthday. (CERN Archive)
codeisgo.com retweeted
Discover new possibilities โ with the new stylish Samsung Galaxy S23 Ultra. It is equipped with the latest Snapdragonยฎ 8 Gen 2 Mobile Platform for Galaxy, delivering lightning-fast speed, superior performance and stunning efficiency โ the ultimate mobile processor.
codeisgo.com retweeted
Understanding the API Gateway
An API Gateway is a server that acts as the single entry point for all clients. It provides a unified interface to a set of microservices, simplifies the client-side code, and hides the internal structure of the application. Here is a detailed breakdown of its functions:
1. Client Request Handling: The API Gateway receives HTTP requests from various client devices and applications.
2. Request Validation: It checks that the incoming requests are well-formed and have correct format and necessary parameters.
3. Access Control Lists: It implements allow-lists and deny-lists to control access to various services, preventing unauthorized requests from proceeding.
4. Authentication and Authorization: It interacts with authentication services to verify the identity of the requester and checks permissions to ensure they are authorized to access the requested resources.
5. Rate Limiting: It applies predefined rules to limit the number of requests a client can make within a certain time frame to prevent abuse and manage load.
6. Service Discovery: It identifies the appropriate services required to fulfill the request based on the request path, parameters, or headers.
7. Dynamic Routing: It directs the validated and authorized requests to the correct backend services.
8. Protocol Translation: It converts the request from the web-friendly protocols like HTTP/HTTPS to the specific protocols used by the backend services, if necessary.
9. Error Handling: It catches and handles any errors that may arise during the processing of requests, ensuring graceful degradation of service.
10. Circuit Breaking: It implements patterns to detect failures and prevent overloading the system, avoiding cascading failures in interconnected services.
11. Monitoring and Logging: It utilizes tools like the ELK stack for logging requests and responses, which is crucial for monitoring, tracing, and debugging.
12. Caching: It optionally stores responses to common requests, reducing the number of calls to the backend services.
The API Gateway is an orchestration layer that manages request routing, composition, and protocol translation to provide seamless integration and efficient management of backend services. This is particularly important in microservices architectures where it simplifies client interactions with many services and enables the system to operate cohesively.
โ
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7

ALT Infographic explaining the functions of an API Gateway. At the top, a title reads 'What does API Gateway do?' followed by the source URL. Clients such as web, mobile, and PC are shown sending an HTTP Request to the API Gateway. The Gateway processes this through steps: 1. Parameter Validation, 2. Allow-list/Deny-list, 3. Authentication Authorization, 4. Rate Limit. It then routes the request, performing Service Discovery and Dynamic Routing, followed by Protocol Conversion to communicate with Microservices. Additional processes include Error Handling, Circuit Break, Logging Monitoring with an Elastic stack, and data Caching with Redis. Color-coded blocks illustrate the flow and interaction between client, gateway, and services.
codeisgo.com retweeted
Fedora 39 waves goodbye to modularity, but has enough spins to make your head spin dlvr.it/SymW0w โ at Hockessin, DE
codeisgo.com retweeted
Explore @RedHat Device Edge, an edge computing solution targeting far-edge, small form factor edge deployments. red.ht/3u7mdE0
codeisgo.com retweeted
Without doubt, automation is one of the strongest trends we see today, with huge potential for future development. Thatโs why the applications weโll showcase this week at #SPS2023 run the gamut from powerful edge computing to energy monitoring systems: blog.arduino.cc/2023/10/30/rโฆ
codeisgo.com retweeted
HTTP/1 to HTTP/2 to HTTP/3
HTTP/1.0 was finalized in 1996. Every request to the same server requires a separate TCP connection which is expensive to establish.
HTTP/1.1 (1997) introduced persistent connections, which allow a TCP connection to be reused for multiple requests and responses. This reduces the latency in setting up new connections for each request. But HTTP/1.1 doesnโt solve the head-of-line (HOL) blocking problem.
Although HTTP/1.1 enabled pipelining, where multiple requests could be sent out without waiting for each response, the responses still had to be processed and sent back in the order the requests were received. This ordering requirement caused HOL blocking - if the first request took a long time, all later requests had to wait.
HTTP/2 (2015) introduced HTTP streams - an abstraction that allows multiplexing different HTTP exchanges onto the same TCP connection. Streams donโt need to be sent in order. This eliminates HOL blocking at the application layer. But HOL still exists at the TCP transport layer.
HTTP/3 draft was published in 2020. It uses QUIC instead of TCP as the transport protocol, removing HOL blocking in the transport layer.
QUIC uses UDP. It introduces streams at the transport layer. QUIC streams share one connection, so no new handshakes or slow starts are necessary to create new streams. QUIC streams are delivered independently so packet loss usually doesnโt affect other streams.
โ
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
codeisgo.com retweeted
Why is PostgreSQL voted the ๐ฆ๐จ๐ฌ๐ญ ๐ฅ๐จ๐ฏ๐๐ ๐๐๐ญ๐๐๐๐ฌ๐ by Stackoverflow 2022 Developer Survey?
The diagram shows the many use cases by PostgreSQL - one database that includes almost ๐๐ฅ๐ฅ ๐ญ๐ก๐ ๐ฎ๐ฌ๐ ๐๐๐ฌ๐๐ฌ developers need.
๐นOLTP (Online Transaction Processing)
We can use PostgreSQL for CRUD (Create-Read-Update-Delete) operations.
๐นOLAP (Online Analytical Processing)
We can use PostgreSQL for analytical processing. PostgreSQL is based on ๐๐๐๐ (Hybrid transactional/analytical processing) architecture, so it can handle both OLTP and OLAP well.
๐นFDW (Foreign Data Wrapper)
A FDW is an extension available in PostgreSQL that allows us to access a table or schema in one database from another.
๐นStreaming
PipelineDB is a PostgreSQL extension for high-performance time-series aggregation, designed to power real-time reporting and analytics applications.
๐นGeospatial
PostGIS is a spatial database extender for PostgreSQL object-relational database. It adds support for geographic objects, allowing location queries to be run in SQL.
๐นTime Series
Timescale extends PostgreSQL for time series and analytics. For example, developers can combine relentless streams of financial and tick data with other business data to build new apps and uncover unique insights.
๐นDistributed Tables
CitusData scales Postgres by distributing data & queries.
Over to you: Which database do you like the most?
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/3KCnWXq
codeisgo.com retweeted
SSO (Single Sign-On) Explained.
SSO can be thought of as a master key to open all different locks.ย It allows a user to log in to different systems using a single set of credentials.
In a time where we are accessing more applications than ever before, this is a big help to mitigate password fatigue and streamlines user experience.
To fully understand the SSO process, ๐น๐ฒ๐โ๐ ๐๐ฎ๐ธ๐ฒ ๐ฎ ๐น๐ผ๐ผ๐ธ ๐ฎ๐ ๐ต๐ผ๐ ๐ฎ ๐๐๐ฒ๐ฟ ๐๐ผ๐๐น๐ฑ ๐น๐ผ๐ด ๐ถ๐ป๐๐ผ ๐๐ถ๐ป๐ธ๐ฒ๐ฑ๐๐ป ๐๐๐ถ๐ป๐ด ๐๐ผ๐ผ๐ด๐น๐ฒ ๐ฎ๐ ๐๐ต๐ฒ ๐ถ๐ฑ๐ฒ๐ป๐๐ถ๐๐ ๐ฝ๐ฟ๐ผ๐๐ถ๐ฑ๐ฒ๐ฟ:
๐ญ) ๐จ๐๐ฒ๐ฟ ๐ฟ๐ฒ๐พ๐๐ฒ๐๐๐ ๐ฎ๐ฐ๐ฐ๐ฒ๐๐
First, the user would attempt to access the Service Provider (LinkedIn). At this point, a user would be presented with login options, and in this example, they would select "Sign in with Google".
๐ฎ) ๐๐๐๐ต๐ฒ๐ป๐๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป ๐ฟ๐ฒ๐พ๐๐ฒ๐๐
From here, the Service Provider (LinkedIn) will redirect the user to the Identity Provider (Google) with an authentication request.
๐ฏ) ๐๐ฑ๐ฃ ๐ฐ๐ต๐ฒ๐ฐ๐ธ๐ ๐ณ๐ผ๐ฟ ๐ฎ๐ฐ๐๐ถ๐๐ฒ ๐๐ฒ๐๐๐ถ๐ผ๐ป
Once the Identity Provider (Google) has received the request, it will check for an active session. If it doesn't find one, authentication will be requested.
๐ฐ) ๐จ๐๐ฒ๐ฟ ๐๐๐ฏ๐บ๐ถ๐๐ ๐ฐ๐ฟ๐ฒ๐ฑ๐ฒ๐ป๐๐ถ๐ฎ๐น๐
At this stage, the user will submit their login credentials (username and password) to the Identity Provider (IdP).
๐ฑ) ๐๐ฑ๐ฃ ๐๐ฒ๐ฟ๐ถ๐ณ๐ถ๐ฒ๐ ๐ฐ๐ฟ๐ฒ๐ฑ๐ฒ๐ป๐๐ถ๐ฎ๐น๐
The Identity Provider will then verify the submitted credentials against its User Directory (database). If the credentials are correct, the IdP will create an authentication token or assertion.
๐ฒ) ๐๐ฑ๐ฃ ๐๐ฒ๐ป๐ฑ๐ ๐๐ผ๐ธ๐ฒ๐ป ๐๐ผ ๐ฆ๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ ๐ฃ๐ฟ๐ผ๐๐ถ๐ฑ๐ฒ๐ฟ
Once the token or assertion has been created, the IdP sends it back to the Service Provider confirming the user's identity. The user is now authenticated and can access the Service Provier (LinkedIn).
๐ณ) ๐๐ฐ๐ฐ๐ฒ๐๐ ๐ด๐ฟ๐ฎ๐ป๐๐ฒ๐ฑ ๐๐๐ถ๐ป๐ด ๐ฒ๐
๐ถ๐๐๐ถ๐ป๐ด ๐๐ฒ๐๐๐ถ๐ผ๐ป
Since the Identity Provider has established a session, when the user goes to access a different Service Provider (eg; GitHub), they won't need to re-enter their credentials. Future service providers will request authentication from the Identity Provider, recognize the existing session, and grant access to the user based on the previously authenticated session.
SSO workflows like the above operate on SSO protocols, which are a set of rules that govern how the IdP and SP communicate and trust each other. Common protocols include Security Assertion Markup Language (SAML), OpenID Connect, and OAuth.
codeisgo.com retweeted
๐ Exciting updates from OpenAI's DevDay! ๐คโจ Unveiling GPTs, a customizable ChatGPT, Turbo GPT-4 with a 128k context window, a GPT store, and more. Explore the future of AI with OpenAI! ๐๐ฒ #OpenAI #DevDay #AIRevolution datanami.com/2023/11/07/openโฆ



























