Tools

Git & GitHub

Git & GitHub Full Concept
Git is a distributed version control system that allows developers to track changes in their codebase, collaborate with others, and manage different versions of their projects. GitHub is a web-based platform that hosts Git repositories, providing additional features like issue tracking, pull requests, and collaboration tools. Together, they form a powerful ecosystem for software development.
GitHub Desktop is a graphical user interface (GUI) application that simplifies the process of using Git and GitHub. It allows users to perform common Git operations such as committing changes, creating branches, and managing pull requests without needing to use the command line. This makes it accessible for users who prefer a visual approach to version control.
GitLab is a web-based DevOps platform that provides a complete CI/CD pipeline, version control, and collaboration tools. It allows teams to manage their code repositories, track issues, and automate the software development lifecycle. GitLab can be self-hosted or used as a cloud service, making it flexible for different development environments.

IAM

Keycloak is an open-source identity and access management solution that provides features such as single sign-on (SSO), user federation, and social login. It allows developers to secure their applications by providing authentication and authorization services. Keycloak supports various protocols like OAuth 2.0, OpenID Connect, and SAML, making it a versatile choice for managing user identities.

Caching & Messaging Broker

Apache Kafka is a distributed streaming platform that is used for building real-time data pipelines and streaming applications. It allows for the processing of large volumes of data in real-time, making it ideal for use cases such as log aggregation, event sourcing, and stream processing. Kafka provides a publish-subscribe model, where producers publish messages to topics and consumers subscribe to those topics to receive the messages.
Redis is an in-memory data structure store that can be used as a database, cache, and message broker. It supports various data structures such as strings, hashes, lists, sets, and sorted sets. Redis is known for its high performance and low latency, making it a popular choice for caching frequently accessed data and implementing real-time messaging systems.