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
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
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
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
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
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.