Update DevOps roadmap resources (#7081)
* 6 topics * 6 topics * 37 topics * 25 topics * 53 topics * finalised the updated content * Apply suggestions from code review Co-authored-by: Arik Chakma <arikchangma@gmail.com> Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com> * reverted the removal of go link --------- Co-authored-by: Arik Chakma <arikchangma@gmail.com> Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>feat/public-profile
parent
e580dce322
commit
7c00daea30
125 changed files with 296 additions and 590 deletions
@ -1,10 +1,9 @@ |
||||
# Alibaba Cloud |
||||
|
||||
Alibaba Cloud is a cloud computing service, offering over 100 products and services with data centers in 24 regions and 74 availability zones around the world. |
||||
Alibaba Cloud is the cloud computing arm of Alibaba Group, offering a broad range of cloud services and solutions designed to support enterprise IT infrastructure and digital transformation. It provides scalable and flexible cloud computing resources, including virtual machines, storage, databases, and networking. Alibaba Cloud’s services also encompass big data analytics, artificial intelligence, machine learning, and security solutions. Known for its global data center network, it supports businesses with high availability, disaster recovery, and compliance needs. Alibaba Cloud is a key player in the cloud market, particularly in Asia, providing comprehensive tools for businesses to build, deploy, and manage applications and services in the cloud. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Alibaba Cloud Website](https://www.alibabacloud.com/) |
||||
- [@article@Official Documentation](https://www.alibabacloud.com/help/en/) |
||||
- [@article@Alibaba Cloud Getting Started Guide](https://www.alibabacloud.com/getting-started) |
||||
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh) |
||||
|
@ -1,11 +1,10 @@ |
||||
# Ansible |
||||
|
||||
Ansible is an open-source configuration management, application deployment and provisioning tool that uses its own declarative language in YAML. Ansible is agentless, meaning you only need remote connections via SSH or Windows Remote Management via Powershell in order to function |
||||
Ansible is an open-source automation tool used for configuration management, application deployment, and task automation. It simplifies the process of managing and orchestrating infrastructure by using a declarative language to define desired states and configurations. Ansible operates using YAML files, called playbooks, which describe the tasks to be executed on remote systems. It employs an agentless architecture, meaning it uses SSH or other remote protocols to execute tasks on target machines without requiring additional software to be installed. Ansible is widely used for automating repetitive tasks, ensuring consistency, and managing large-scale deployments across various environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Ansible Website](https://www.ansible.com/) |
||||
- [@official@Official Documentation](https://docs.ansible.com/) |
||||
- [@official@Ansible Getting Started Guide](https://www.ansible.com/resources/get-started) |
||||
- [@video@Ansible Full Course for Beginners](https://www.youtube.com/watch?v=9Ua2b06oAr4) |
||||
- [@course@Ansible Full Course for Beginners](https://www.youtube.com/watch?v=9Ua2b06oAr4) |
||||
- [@video@Ansible in 100 Seconds](https://www.youtube.com/watch?v=xRMPKQweySE) |
||||
- [@feed@Explore top posts about Ansible](https://app.daily.dev/tags/ansible?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Apache |
||||
|
||||
Apache is a free, open-source HTTP server, available on many operating systems, but mainly used on Linux distributions. It is one of the most popular options for web developers, as it accounts for over 30% of all the websites, as estimated by W3Techs. |
||||
Apache HTTP Server, commonly known as Apache, is an open-source web server software that serves web content and applications over the internet. It is one of the oldest and most widely used web servers, known for its robustness, flexibility, and extensive feature set. Apache supports various modules that enhance its functionality, such as authentication, URL rewriting, and SSL/TLS encryption. It is highly configurable through its `.conf` files, allowing administrators to tailor the server's behavior to meet specific needs. Apache is compatible with multiple operating systems and integrates with other technologies, making it a popular choice for hosting websites and web applications. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Apache Server Website](https://httpd.apache.org/) |
||||
- [@video@What is Apache Web Server?](https://www.youtube.com/watch?v=kaaenHXO4t4) |
||||
- [@video@Apache Web Server Setup on Ubuntu 22.04 (with SSL)](https://www.youtube.com/watch?v=VXSgEvZKp-8) |
||||
- [@feed@Explore top posts about Apache](https://app.daily.dev/tags/apache?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Application Monitoring |
||||
|
||||
Application monitoring refers to the practice of making the status and performance of a given _application_ visible. This may include details such as stacktraces, error logs, and the line of code implicated in a given failure. When combined with Infrastructure monitoring, this can provide a complete picture of what is happening in your system, and why. |
||||
Application monitoring involves the continuous observation and analysis of software applications to ensure they perform optimally, identify issues, and provide insights into their operation. This process includes tracking metrics such as response times, error rates, resource utilization (CPU, memory, and disk), and transaction performance. Application monitoring tools collect and analyze data to detect anomalies, provide alerts for potential problems, and offer detailed insights into application behavior and performance. By monitoring applications, organizations can proactively address issues, optimize performance, and improve user experience, ultimately ensuring reliability and efficiency in their software systems. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Applying Basic vs. Advanced Monitoring Techniques](https://thenewstack.io/applying-basic-vs-advanced-monitoring-techniques/) |
||||
- [@article@Why Legacy Apps Need Your Monitoring Love, Too](https://thenewstack.io/why-legacy-apps-need-your-monitoring-love-too/) |
||||
- [@video@Application Monitoring - 4 Golden Signals](https://www.youtube.com/watch?v=PHcnmTdVPT0) |
||||
- [@feed@Explore top posts about Monitoring](https://app.daily.dev/tags/monitoring?ref=roadmapsh) |
||||
|
@ -1,13 +1,10 @@ |
||||
# ArgoCD |
||||
|
||||
Argo CD is a continuous delivery tool for Kubernetes that is based on the GitOps methodology. It is used to automate the deployment and management of cloud-native applications by continuously synchronizing the desired application state with the actual application state in the production environment. |
||||
|
||||
In an Argo CD workflow, changes to the application are made by committing code or configuration changes to a Git repository. Argo CD monitors the repository and automatically deploys the changes to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment. |
||||
|
||||
Argo CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications. |
||||
Argo CD is a continuous delivery tool for Kubernetes that is based on the GitOps methodology. It is used to automate the deployment and management of cloud-native applications by continuously synchronizing the desired application state with the actual application state in the production environment. In an Argo CD workflow, changes to the application are made by committing code or configuration changes to a Git repository. Argo CD monitors the repository and automatically deploys the changes to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment.Argo CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Argo CD - Argo Project](https://argo-cd.readthedocs.io/en/stable/) |
||||
- [@video@ArgoCD Tutorial for Beginners](https://www.youtube.com/watch?v=MeU5_k9ssrs) |
||||
- [@video@What is ArgoCD](https://www.youtube.com/watch?v=p-kAqxuJNik) |
||||
- [@feed@Explore top posts about ArgoCD](https://app.daily.dev/tags/argocd?ref=roadmapsh) |
||||
|
@ -1,17 +1,9 @@ |
||||
# Artifacts |
||||
|
||||
Artifacts refer to the output of a build process, typically generated by a Continuous Integration (CI) tool. These outputs can be executable files, libraries, documents, or any other type of file that is produced as a result of building, compiling, or packaging code. |
||||
|
||||
## Artifacts can include |
||||
|
||||
- Compiled binaries (e.g., .exe, .dll, .jar) |
||||
- Libraries (e.g., .so, .dll) |
||||
- Packages (e.g., .zip, .tar.gz, .rpm) |
||||
- Documents (e.g., .pdf, .docx) |
||||
- Configuration files (e.g., .properties, .yaml) |
||||
- Images (e.g., Docker images) |
||||
In software development, artifacts are various outputs produced throughout the development lifecycle, including source code, binaries, documentation, configuration files, build outputs, and test results. These artifacts are essential for managing, deploying, and maintaining applications, as they provide the necessary resources and documentation for development, testing, and production environments. They help track the progress of a project, ensure consistency, and facilitate the efficient delivery and operation of software systems. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What are Artifacts - Oracle](https://docs.oracle.com/en-us/iaas/Content/devops/using/artifacts.htm) |
||||
- [@article@What is an Artifact - Atlassian](https://support.atlassian.com/bitbucket-cloud/docs/use-artifacts-in-steps/#:~:text=Artifacts%20are%20files%20that%20are,in%20a%20later%20deployment%20step.) |
||||
- [@article@What is an Artifact - Atlassian](https://support.atlassian.com/bitbucket-cloud/docs/use-artifacts-in-steps/) |
||||
- [@video@Learn about GitLab Artifacts and Cache](https://www.youtube.com/watch?v=gEfsCU-Sj1g) |
||||
|
@ -1,13 +1,9 @@ |
||||
# Artifactory |
||||
|
||||
Artifactory is a universal DevOps solution for hosting, managing, and distributing binaries and artifacts. Any type of software in binary form – such as application installers, container images, libraries, configuration files, etc. – can be curated, secured, stored, and delivered using Artifactory. |
||||
|
||||
The name “Artifactory” reflects the fact that it can host any type of “artifact” needed in your software development “factory.” In software development, an artifact is any object produced during the software development and delivery process. Artifacts include the files used to install and run applications, as well as any complementary information necessary to configure or manage software. |
||||
|
||||
Artifactory serves as the central hub for your DevOps processes. All artifacts, dependencies, packages, etc. ultimately get put into and pulled from Artifactory. |
||||
Artifactory is a universal DevOps solution for hosting, managing, and distributing binaries and artifacts. Any type of software in binary form – such as application installers, container images, libraries, configuration files, etc. – can be curated, secured, stored, and delivered using Artifactory. The name “Artifactory” reflects the fact that it can host any type of “artifact” needed in your software development “factory.” In software development, an artifact is any object produced during the software development and delivery process. Artifacts include the files used to install and run applications, as well as any complementary information necessary to configure or manage software. Artifactory serves as the central hub for your DevOps processes. All artifacts, dependencies, packages, etc. ultimately get put into and pulled from Artifactory. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Artifactory Website](https://jfrog.com/artifactory/) |
||||
- [@official@About - Artifactory](https://jfrog.com/blog/what-is-artifactory-jfrog/) |
||||
- [@video@Key Features of JFrog Artifactory in 5 Minutes](https://www.youtube.com/watch?v=ZCNOtVj7bow) |
||||
- [@feed@Explore top posts about Artifactory](https://app.daily.dev/tags/artifactory?ref=roadmapsh) |
||||
|
@ -1,10 +1,11 @@ |
||||
# ECS / Fargate |
||||
|
||||
ECS is a container orchestration service that allows you to run Docker containers on a cluster of EC2 instances. ECS is a good choice if you want to run Docker containers on EC2 instances and have full control over the underlying infrastructure. |
||||
|
||||
Fargate is a serverless container orchestration service that allows you to run Docker containers without having to manage servers, clusters, or any other infrastructure. Fargate is a good choice if you want to run Docker containers without having to manage servers or clusters. |
||||
ECS is a container orchestration service that allows you to run Docker containers on a cluster of EC2 instances. ECS is a good choice if you want to run Docker containers on EC2 instances and have full control over the underlying infrastructure. Fargate is a serverless container orchestration service that allows you to run Docker containers without having to manage servers, clusters, or any other infrastructure. Fargate is a good choice if you want to run Docker containers without having to manage servers or clusters. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@AWS - Fargate](https://aws.amazon.com/fargate/) |
||||
- [@official@AWS - Fargate Docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) |
||||
- [@offcial@AWS - ECS Docs](https://docs.aws.amazon.com/ecs/) |
||||
- [@video@Amazon ECS: AWS Fargate Overview](https://www.youtube.com/watch?v=yi22xrvPnPk) |
||||
- [@video@AWS ECS Tutorial](https://www.youtube.com/watch?v=esISkPlnxL0) |
||||
|
||||
|
@ -1,9 +1,9 @@ |
||||
# AWS Lambda |
||||
|
||||
AWS Lambda is an event-driven, serverless Function as a Service provided by Amazon as a part of Amazon Web Services. It is designed to enable developers to run code without provisioning or managing servers. It executes code in response to events and automatically manages the computing resources required by that code. |
||||
AWS Lambda is a serverless compute service that allows you to run code without provisioning or managing servers. It automatically scales, executes code in response to triggers, and charges only for the compute time consumed. Lambda supports multiple programming languages and integrates seamlessly with other AWS services, making it ideal for building microservices, automating tasks, and processing data streams with minimal operational overhead. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@AWS Lambda](https://aws.amazon.com/lambda/) |
||||
- [@official@AWS Lambda Introduction](https://docs.aws.amazon.com/lambda/latest/operatorguide/intro.html) |
||||
- [@video@AWS Lambda Tutorial: Getting Started with Serverless Computing](https://www.youtube.com/watch?v=RtiWU1DrMaM) |
||||
- [@feed@Explore top posts about AWS](https://app.daily.dev/tags/aws?ref=roadmapsh) |
||||
|
@ -1,22 +1,12 @@ |
||||
# AWS |
||||
|
||||
Amazon Web Services has been the market leading cloud computing platform since 2011, ahead of Azure and Google Cloud. AWS offers over 200 services with data centers located all over the globe. |
||||
|
||||
AWS service is an online platform that provides scalable and cost-effective cloud computing solutions. It is broadly adopted cloud platform that offers several on-demand operations like compute power, database storage, content delivery and so on. |
||||
Amazon Web Services has been the market leading cloud computing platform since 2011, ahead of Azure and Google Cloud. AWS offers over 200 services with data centers located all over the globe. AWS service is an online platform that provides scalable and cost-effective cloud computing solutions. It is broadly adopted cloud platform that offers several on-demand operations like compute power, database storage, content delivery and so on. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@AWS Website](https://aws.amazon.com/) |
||||
- [@official@AWS Documentation](https://docs.aws.amazon.com/) |
||||
- [@official@AWS Cloud Essentials](https://aws.amazon.com/getting-started/cloud-essentials/) |
||||
- [@official@Overview of Amazon Web Services](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html) |
||||
- [@official@Sign up for AWS](https://portal.aws.amazon.com/billing/signup) |
||||
- [@article@How to learn AWS](https://cs.fyi/guide/how-to-learn-aws/) |
||||
- [@article@AWS Ramp Up Guide](https://d1.awsstatic.com/training-and-certification/ramp-up_guides/Ramp-Up_Guide_CloudPractitioner.pdf) |
||||
- [@article@Cloud Practitioner Essentials](https://explore.skillbuilder.aws/learn/course/external/view/elearning/134/aws-cloud-practitioner-essentials) |
||||
- [@article@AWS Guide by SimpliLearn](https://www.simplilearn.com/tutorials/aws-tutorial/what-is-aws) |
||||
- [@video@AWS Tutorial for Beginners](https://www.youtube.com/watch?v=k1RI5locZE4\&t=129s) |
||||
- [@course@AWS Course for Beginners](https://www.coursera.org/learn/aws-cloud-technical-essentials?specialization=aws-devops) |
||||
- [@course@DevOps on AWS Course](https://www.coursera.org/specializations/aws-devops?#courses) |
||||
- [@video@AWS Practitioner](https://youtu.be/SOTamWNgDKc) |
||||
- [@article@Create an AWS account](https://grapplingdev.com/tutorials/how-to-create-aws-account) |
||||
- [@course@100 hour AWS Complete Course 2024](https://www.youtube.com/watch?v=zA8guDqfv40) |
||||
- [@feed@Explore top posts about AWS](https://app.daily.dev/tags/aws?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Azure Functions |
||||
|
||||
Azure Functions is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. Instead of worrying about deploying and maintaining servers, the cloud infrastructure provides all the up-to-date resources needed to keep your applications running. |
||||
Azure Functions is a serverless compute service in Microsoft Azure that enables developers to run event-triggered code without managing infrastructure. It supports multiple programming languages and integrates seamlessly with other Azure services, allowing for scalable, on-demand execution of small, focused pieces of code. Azure Functions automatically scales based on demand, charges only for actual compute time used, and can be triggered by various events such as HTTP requests, timers, or changes in cloud services, making it ideal for microservices, data processing, and workflow automation tasks. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Azure Functions - Serverless Computing](https://azure.microsoft.com/en-in/products/functions) |
||||
- [@official@Azure Functions Overview](https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview) |
||||
- [@video@Getting Started With Azure Functions](https://www.youtube.com/watch?v=l3beXs3o-0w) |
||||
- [@feed@Explore top posts about Azure](https://app.daily.dev/tags/azure?ref=roadmapsh) |
||||
|
@ -1,11 +1,10 @@ |
||||
# Azure |
||||
|
||||
Microsoft Azure is a cloud computing service operated by Microsoft. Azure currently provides more than 200 products and cloud services. |
||||
Microsoft Azure is a comprehensive cloud computing platform offering a wide array of services for building, deploying, and managing applications through Microsoft-managed data centers. It provides Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) solutions, supporting various programming languages, tools, and frameworks, including both Microsoft-specific and third-party systems. Azure's services span computing, analytics, storage, networking, and more, enabling businesses to scale and transform their operations, leverage AI and machine learning, and implement robust security measures, all while potentially reducing IT costs through its pay-as-you-go pricing model. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Azure Website](https://azure.microsoft.com/en-us/) |
||||
- [@official@Official Documentation](https://docs.microsoft.com/en-us/azure/) |
||||
- [@official@Azure Get Started Guide](https://azure.microsoft.com/en-ca/get-started/#explore-azure) |
||||
- [@article@Get to know Azure](https://azure.microsoft.com/en-us/explore/) |
||||
- [@video@Microsoft Azure Fundamentals Certification Course (AZ-900)](https://www.youtube.com/watch?v=5abffC-K40c) |
||||
- [@opensource@Microsoft Azure Guide](https://github.com/mikeroyal/Azure-Guide) |
||||
- [@feed@Explore top posts about Azure](https://app.daily.dev/tags/azure?ref=roadmapsh) |
||||
|
@ -1,13 +1,11 @@ |
||||
# Bash Scripts |
||||
|
||||
Bash scripts are a type of shell script that uses the Bash shell command language. Bash, which stands for "Bourne-Again SHell", is a Unix shell and command-line interpreter written by Brian Fox for the GNU Project. |
||||
|
||||
A Bash script is a text file that contains a series of commands that are executed in order when the script is run. These commands can be a combination of Bash built-in commands, external commands, and shell functions. Bash scripts are typically used to automate repetitive tasks, simplify complex commands, and perform system administration tasks. |
||||
|
||||
Bash scripts usually have a .sh extension and are executable files. To run a Bash script, you need to give it execute permissions using the chmod command, and then you can run it by typing `./script_name.sh` in the terminal. |
||||
Bash (Bourne Again Shell) is a powerful Unix shell and command language interpreter, serving as the default shell for most Linux distributions and macOS. It provides a command-line interface for interacting with the operating system, executing commands, and automating tasks through shell scripts. Bash supports variables, control structures, functions, and command substitution, making it versatile for system administration, DevOps tasks, and general-purpose scripting. Its ability to pipe commands, redirect input/output, and utilize a vast array of built-in commands and utilities makes it an essential tool for developers and system administrators in managing and automating workflows in Unix-like environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Interactive Shell Scripting Tutorial](https://www.learnshell.org/en/Welcome) |
||||
- [@article@Bash Scripting Tutorial](https://www.javatpoint.com/bash) |
||||
- [@video@Bash in 100 Seconds](https://www.youtube.com/watch?v=I4EWvMFj37g) |
||||
- [@course@Bash Scripting Tutorial for Beginners](https://www.youtube.com/watch?v=tK9Oc6AEnR4) |
||||
- [@feed@Explore top posts about Bash](https://app.daily.dev/tags/bash?ref=roadmapsh) |
||||
|
@ -1,15 +1,10 @@ |
||||
# Bitbucket |
||||
|
||||
Bitbucket is a Git based hosting and source code repository service that is Atlassian's alternative to other products like GitHub, GitLab etc |
||||
|
||||
Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment) |
||||
Bitbucket is a web-based version control repository hosting service owned by Atlassian, primarily used for source code and development projects that use Git or Mercurial revision control systems. It offers both cloud-based and self-hosted options, integrating seamlessly with other Atlassian tools like Jira and Trello. Bitbucket provides features such as pull requests, code reviews, CI/CD pipelines through Bitbucket Pipelines, and built-in wikis for documentation. It supports private repositories for free, making it popular among small teams and enterprises alike. With its focus on team collaboration, project management, and deployment automation, Bitbucket serves as a comprehensive platform for the entire software development lifecycle. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Bitbucket Website](https://bitbucket.org/product) |
||||
- [@official@A brief overview of Bitbucket](https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket) |
||||
- [@official@Getting started with Bitbucket](https://bitbucket.org/product/guides/basics/bitbucket-interface) |
||||
- [@article@Using Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud) |
||||
- [@official@Bitbucket Website](https://bitbucket.org) |
||||
- [@article@Git and Bitbucket Introduction](https://www.w3schools.com/git/git_intro.asp?remote=bitbucket) |
||||
- [@video@Bitbucket tutorial | How to use Bitbucket Cloud](https://www.youtube.com/watch?v=M44nEyd_5To) |
||||
- [@video@Bitbucket Tutorial | Bitbucket for Beginners](https://www.youtube.com/watch?v=i5T-DB8tb4A) |
||||
- [@feed@Explore top posts about Bitbucket](https://app.daily.dev/tags/bitbucket?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Caching server |
||||
|
||||
A cache server is a **dedicated network server** or service acting as a server that saves Web pages or other Internet content locally. By placing previously requested information in temporary storage, or cache, a cache server both speeds up access to data and reduces demand on an enterprise's bandwidth. |
||||
A caching server, also known as a proxy server or cache server, is a dedicated network server that saves web pages and other Internet content locally to reduce bandwidth usage, server load, and perceived lag. It works by intercepting requests from clients, saving the responses from web servers, and serving cached content to subsequent requests for the same information. Caching servers can significantly improve response times and reduce network traffic, especially for frequently accessed content. They are commonly used in content delivery networks (CDNs), enterprise networks, and Internet service providers to optimize performance, reduce costs, and enhance user experience by serving content from a location closer to the end-user. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is Caching?](https://www.cloudflare.com/en-gb/learning/cdn/what-is-caching/) |
||||
- [@article@What is Cache Server?](https://networkencyclopedia.com/cache-server/) |
||||
- [@article@Site Cache vs Browser Cache vs Server Cache](https://wp-rocket.me/blog/different-types-of-caching/) |
||||
- [@article@Site Cache vs Browser Cache vs Server Cache](https://nordvpn.com/cybersecurity/glossary/caching-server/) |
||||
- [@video@Cache Systems Every Developer Should Know](https://www.youtube.com/watch?v=dGAgxozNWFE) |
@ -1,7 +1,9 @@ |
||||
# Caddy |
||||
|
||||
Caddy is an open-source web server with automatic HTTPS written in Go. It is easy to configure and use, and it is a great choice for small to medium-sized projects. |
||||
Caddy is a modern, open-source web server written in Go, designed to be easy to use, secure, and performant out of the box. It features automatic HTTPS with Let's Encrypt certificate provisioning and renewal, HTTP/2 and HTTP/3 support, and a simple configuration syntax. Caddy can serve static files, reverse proxy to other services, and handle various web hosting tasks with minimal setup. Its modular architecture allows for easy extension through plugins, making it versatile for different deployment scenarios. Caddy's emphasis on simplicity and security makes it popular for both small projects and production environments, particularly among developers looking for a straightforward, feature-rich web server solution. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Caddy Website](https://caddyserver.com/) |
||||
- [@opensource@caddyserver/caddy](https://github.com/caddyserver/caddy) |
||||
- [@video@Exploring Caddy, An Open Source Web Server](https://www.youtube.com/watch?v=tqXL5QLvPRQ) |
@ -1,13 +1,10 @@ |
||||
# Chef |
||||
|
||||
Emerging in 2009, [Chef](https://en.wikipedia.org/wiki/Progress_Chef) (now known as Progress Chef) is one of the earliest configuration management tools to gain popularity. Chef "Recipes" are written in Ruby, in a primarily [declarative](https://en.wikipedia.org/wiki/Declarative_programming) style. |
||||
|
||||
Chef requires that a client is installed on a server being managed. This client polls a Chef-Server regularly, to determine what its configuration should be. Chef-Solo is also available, a version of Chef that allows provisioning of a single node by running chef locally. |
||||
|
||||
A key tenet of Chef recipe design is the concept of [idempotence](https://en.wikipedia.org/wiki/Idempotence). All Chef recipes should be runnable multiple times and produce the same result - this is especially necessary in cases where the client/server model listed above is in use. This pattern of configuration management is highly influential for future declarative tools like Terraform and Cloud Formation. |
||||
Emerging in 2009, Chef (now known as Progress Chef) is one of the earliest configuration management tools to gain popularity. Chef "Recipes" are written in Ruby, in a primarily declarative style. Chef requires that a client is installed on a server being managed. This client polls a Chef-Server regularly, to determine what its configuration should be. Chef-Solo is also available, a version of Chef that allows provisioning of a single node by running chef locally. A key tenet of Chef recipe design is the concept of idempotence. All Chef recipes should be runnable multiple times and produce the same result - this is especially necessary in cases where the client/server model listed above is in use. This pattern of configuration management is highly influential for future declarative tools like Terraform and Cloud Formation. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Chef Website](https://www.chef.io/products/chef-infra) |
||||
- [@article@Chef Tutorial](https://www.tutorialspoint.com/chef/index.htm) |
||||
- [@video@chef/chef](https://github.com/chef/chef) |
||||
- [@feed@Explore top posts about Chef](https://app.daily.dev/tags/chef?ref=roadmapsh) |
||||
|
@ -1,13 +1,11 @@ |
||||
# CI/CD |
||||
|
||||
CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development. The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment. CI/CD is a solution to the problems integrating new code can cause for development and operations teams. |
||||
|
||||
Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or site reliability engineering (SRE) approach. |
||||
CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development. The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment. CI/CD is a solution to the problems integrating new code can cause for development and operations teams. Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or site reliability engineering (SRE) approach. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@CI vs CD](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment) |
||||
- [@article@CI vs CD](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment) |
||||
- [@article@What is CI/CD?](https://www.redhat.com/en/topics/devops/what-is-ci-cd) |
||||
- [@article@CI/CD Pipeline: A Gentle Introduction](https://semaphoreci.com/blog/cicd-pipeline) |
||||
- [@video@DevOps CI/CD Explained in 100 Seconds](https://www.youtube.com/watch?v=scEDHsr3APg) |
||||
- [@video@CI/CD In 5 Minutes](https://www.youtube.com/watch?v=42UP1fxi2SY) |
||||
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh) |
||||
|
@ -1,10 +1,9 @@ |
||||
# CircleCI |
||||
|
||||
CircleCI is a CI/CD service that can be integrated with GitHub, BitBucket and GitLab repositories. The service that can be used as a SaaS offering or self-managed using your own resources. |
||||
CircleCI is a popular continuous integration and continuous delivery (CI/CD) platform that automates the build, test, and deployment processes of software projects. It supports a wide range of programming languages and integrates with various version control systems, primarily GitHub and Bitbucket. CircleCI uses a YAML configuration file to define pipelines, allowing developers to specify complex workflows, parallel job execution, and custom environments. It offers features like caching, artifact storage, and Docker layer caching to speed up builds. With its cloud-based and self-hosted options, CircleCI provides scalable solutions for projects of all sizes, helping teams improve code quality, accelerate release cycles, and streamline their development workflows. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@CircleCI Website](https://circleci.com/) |
||||
- [@official@CircleCI Documentation](https://circleci.com/docs) |
||||
- [@official@Configuration Tutorial](https://circleci.com/docs/config-intro) |
||||
- [@video@CircleCI Tutorial for Beginners](https://www.youtube.com/watch?v=_XaYv9zvHUk) |
||||
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh) |
||||
|
@ -1,8 +1,10 @@ |
||||
# Cloud Design Patterns |
||||
|
||||
Cloud Design Patterns are a set of reusable, proven solutions to common problems that arise when designing and building applications for the cloud. These patterns provide guidance on how to design and implement cloud-based systems that are scalable, resilient, and efficient. |
||||
Cloud design patterns are reusable solutions to common problems encountered in cloud computing architectures. These patterns address challenges related to scalability, reliability, security, and performance in distributed systems. They provide best practices for designing and implementing cloud-native applications, covering aspects such as data management, messaging, resiliency, and deployment. Examples include the Circuit Breaker pattern for handling faults, the CQRS pattern for separating read and write operations, and the Sidecar pattern for deploying components of an application into a separate process or container. By leveraging these patterns, developers can create more robust, efficient, and maintainable cloud applications that better utilize the benefits of cloud platforms. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@](https://learn.microsoft.com/en-us/azure/architecture/patterns/) |
||||
- [@article@What is CI/CD?](https://www.redhat.com/en/topics/devops/what-is-ci-cd) |
||||
- [@article@Cloud design patterns, architectures, and implementations](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/introduction.html) |
||||
- [@course@30 Cloud Design Patterns in depth](https://www.youtube.com/watch?v=cxYHugyNTP0) |
||||
|
||||
|
@ -1,10 +1,9 @@ |
||||
# Cloud Smith |
||||
|
||||
Cloudsmith is a cloud-native package management platform that enables organizations to manage and distribute software packages across their infrastructure. It provides a centralized repository for storing, managing, and deploying packages, making it easier to manage complex software dependencies and ensure consistency across environments. |
||||
|
||||
Cloudsmith supports a wide range of package formats, including Docker, Helm, npm, pip, and more. It also integrates with popular development tools like Jenkins, GitLab, and CircleCI, making it easy to automate package management and deployment workflows. |
||||
Cloudsmith is a cloud-native package management platform that enables organizations to manage and distribute software packages across their infrastructure. It provides a centralized repository for storing, managing, and deploying packages, making it easier to manage complex software dependencies and ensure consistency across environments. Cloudsmith supports a wide range of package formats, including Docker, Helm, npm, pip, and more. It also integrates with popular development tools like Jenkins, GitLab, and CircleCI, making it easy to automate package management and deployment workflows. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Cloud Smith](https://cloudsmith.com/) |
||||
- [@official@Cloud Smith Product Overview](https://cloudsmith.com/product/) |
||||
- [@video@Intro to Cloud Smith](https://www.youtube.com/watch?v=wVtRfpjKqBM) |
@ -1,11 +1,9 @@ |
||||
# Cloudflare |
||||
|
||||
Cloudflare is a company that provides a range of services to help protect and accelerate websites and applications. At its core, Cloudflare is a content delivery network (CDN) and a reverse proxy cloud provider. This means that it acts as an intermediary between a website's origin server and its visitors, caching content and filtering out malicious traffic. |
||||
|
||||
Cloudflare was founded in July 2009 by Matthew Prince, Lee Holloway, and Michelle Zatlyn. The company was venture-capital funded and submitted its S-1 filing for IPO on the New York Stock Exchange in August 2019. It opened for public trading on September 13, 2019, at $15 per share. |
||||
Cloudflare is a company that provides a range of services to help protect and accelerate websites and applications. At its core, Cloudflare is a content delivery network (CDN) and a reverse proxy cloud provider. This means that it acts as an intermediary between a website's origin server and its visitors, caching content and filtering out malicious traffic. Cloudflare was founded in July 2009 by Matthew Prince, Lee Holloway, and Michelle Zatlyn. The company was venture-capital funded and submitted its S-1 filing for IPO on the New York Stock Exchange in August 2019. It opened for public trading on September 13, 2019, at $15 per share. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Cloudflare](https://cloudflare.com/) |
||||
- [@official@Cloudflare Documentation](https://developers.cloudflare.com/) |
||||
- [@video@Introduction to Cloudflare](https://www.youtube.com/watch?v=24cml1rKGBs) |
||||
- [@feed@Explore top posts about Cloudflare](https://app.daily.dev/tags/cloudflare?ref=roadmapsh) |
||||
|
@ -1,11 +1,9 @@ |
||||
# CloudFormation |
||||
|
||||
CloudFormation is the AWS service that helps to define collections of AWS resources. CloudFormation lets you model, provision, and manage AWS and third-party resources by treating infrastructure as code. |
||||
AWS CloudFormation is a infrastructure-as-code service that allows users to define and provision AWS infrastructure resources using templates. These templates, written in JSON or YAML, describe the desired AWS resources and their properties. CloudFormation automates the creation, update, and deletion of resources, ensuring consistent and repeatable deployments across multiple environments. It supports a wide range of AWS services and can manage complex interdependencies between resources. CloudFormation also provides features like change sets for previewing changes, nested stacks for modular designs, and drift detection to identify manual changes. This service enables teams to version control their infrastructure, implement best practices, and streamline the management of AWS resources throughout their lifecycle. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@AWS CloudFormation Website](https://aws.amazon.com/cloudformation/) |
||||
- [@official@Official Documentation](https://docs.aws.amazon.com/cloudformation/index.html) |
||||
- [@official@AWS CloudFormation Getting Started Guide](https://aws.amazon.com/cloudformation/getting-started/) |
||||
- [@article@CloudFormation Sample Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html) |
||||
- [@video@Create and Delete an AWS CloudFormation Stack](https://www.youtube.com/watch?v=fmDG-W5TFp4) |
||||
- [@feed@Explore top posts about AWS CloudFormation](https://app.daily.dev/tags/aws-cloudformation?ref=roadmapsh) |
||||
|
@ -1,9 +1,9 @@ |
||||
# Configuration Management |
||||
|
||||
Configuration management is a systems engineering process for establishing consistency of a product’s attributes throughout its life. In the technology world, configuration management is an IT management process that tracks individual configuration items of an IT system. IT systems are composed of IT assets that vary in granularity. An IT asset may represent a piece of software, or a server, or a cluster of servers. The following focuses on configuration management as it directly applies to IT software assets and software asset CI/CD. |
||||
|
||||
Software configuration management is a systems engineering process that tracks and monitors changes to a software systems configuration metadata. In software development, configuration management is commonly used alongside version control and CI/CD infrastructure. This post focuses on its modern application and use in agile CI/CD software environments. |
||||
Configuration management is a systems engineering process for establishing consistency of a product’s attributes throughout its life. In the technology world, configuration management is an IT management process that tracks individual configuration items of an IT system. IT systems are composed of IT assets that vary in granularity. An IT asset may represent a piece of software, or a server, or a cluster of servers. The following focuses on configuration management as it directly applies to IT software assets and software asset CI/CD. Software configuration management is a systems engineering process that tracks and monitors changes to a software systems configuration metadata. In software development, configuration management is commonly used alongside version control and CI/CD infrastructure. This post focuses on its modern application and use in agile CI/CD software environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is Configuration Management?](https://www.atlassian.com/microservices/microservices-architecture/configuration-management) |
||||
- [@article@What is configuration management? - RedHat](https://www.redhat.com/en/topics/automation/what-is-configuration-management) |
||||
- [@video@Why You Need to Learn Configuration Management](https://www.youtube.com/watch?v=9In7ysQJGBs) |
@ -1,7 +1,7 @@ |
||||
# Contabo |
||||
|
||||
Contabo offers a wide range of hosting services, from VPS to dedicated servers. They are known for their low prices and high performance. |
||||
Contabo is a German web hosting and dedicated server provider known for offering affordable virtual private servers (VPS) and dedicated servers with high performance specifications. They provide a range of hosting solutions, including shared hosting, VPS, dedicated servers, and storage solutions, catering to both individual developers and businesses. Contabo is particularly popular among budget-conscious users for its competitive pricing on high-resource VPS plans. Their services include features like SSD storage, DDoS protection, and data centers in multiple locations. While not as well-known as some larger cloud providers, Contabo has gained a reputation in the hosting community for offering good value for money, especially for users requiring substantial computing resources at lower costs. |
||||
|
||||
Visit the following link to learn more: |
||||
|
||||
- [@official@Contabo - Official Website](https://contabo.com/) |
||||
- [@official@Contabo - Official Website](https://contabo.com/) |
@ -1,10 +1,9 @@ |
||||
# Data Management |
||||
|
||||
Data management is the key element of cloud applications, and influences most of the quality attributes. Data is typically hosted in different locations and across multiple servers for reasons such as performance, scalability or availability, and this can present a range of challenges. For example, data consistency must be maintained, and data will typically need to be synchronized across different locations. |
||||
|
||||
Additionally data should be protected at rest, in transit, and via authorized access mechanisms to maintain security assurances of confidentiality, integrity, and availability. Refer to the Azure Security Benchmark Data Protection Control for more information. |
||||
Data management is the key element of cloud applications, and influences most of the quality attributes. Data is typically hosted in different locations and across multiple servers for reasons such as performance, scalability or availability, and this can present a range of challenges. For example, data consistency must be maintained, and data will typically need to be synchronized across different locations.Additionally data should be protected at rest, in transit, and via authorized access mechanisms to maintain security assurances of confidentiality, integrity, and availability. Refer to the Azure Security Benchmark Data Protection Control for more information. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Data management patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/category/data-management) |
||||
- [@video@What is Master Data Management](https://www.youtube.com/watch?v=l83bkKJh1wM) |
||||
- [@feed@Explore top posts about Data Management](https://app.daily.dev/tags/data-management?ref=roadmapsh) |
||||
|
@ -1,10 +1,10 @@ |
||||
# DigitalOcean |
||||
|
||||
DigitalOcean is a cloud computing service offering products and services in Compute, Storage, Managed Databases, Containers & Images and Networking. |
||||
DigitalOcean is a cloud infrastructure provider that offers simple, affordable, and developer-friendly virtual private servers, known as "Droplets." It focuses on providing straightforward cloud computing services, including virtual machines, managed databases, object storage, and Kubernetes clusters. DigitalOcean is known for its user-friendly interface, transparent pricing, and extensive documentation, making it popular among developers, startups, and small to medium-sized businesses. The platform emphasizes simplicity and performance, offering features like one-click applications, team management, and a robust API for automation. While not as feature-rich as some larger cloud providers, DigitalOcean's streamlined approach and competitive pricing make it an attractive option for those seeking uncomplicated cloud infrastructure solutions. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@DigitalOcean Website](https://www.digitalocean.com/) |
||||
- [@article@Official Documentation](https://docs.digitalocean.com/products/) |
||||
- [@article@DigitalOcean Get Started Guide](https://docs.digitalocean.com/products/getting-started/) |
||||
- [@article@DigitalOcean Hacktoberfest](https://hacktoberfest.com/) |
||||
- [@video@Getting Started With Kubernetes on DigitalOcean](https://www.youtube.com/watch?v=cJKdo-glRD0) |
||||
- [@feed@Explore top posts about DigitalOcean](https://app.daily.dev/tags/digitalocean?ref=roadmapsh) |
||||
|
@ -1,8 +1,9 @@ |
||||
# DMARC |
||||
|
||||
DMARC stands for Domain-based Message Authentication, Reporting, and Conformance, is an authentication method on the email that is built to protect domain email from invalid email addresses or commonly known as email spoofing, email attacks, phishing, scams, and other threat activities. |
||||
DMARC (Domain-based Message Authentication, Reporting, and Conformance) is an email authentication protocol that builds upon SPF and DKIM to protect against email spoofing and phishing attacks. It allows domain owners to specify how email receivers should handle messages that fail authentication checks. DMARC provides a feedback mechanism for domain owners to receive reports on email authentication results, helping them monitor and improve their email security. By implementing DMARC policies, organizations can enhance their email deliverability, protect their brand reputation, and reduce the likelihood of their domain being used in fraudulent email campaigns. DMARC is widely adopted by major email providers and is considered a crucial component of modern email security strategies. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@DMARC Official Website](https://dmarc.org/) |
||||
- [@video@What is DMARC: Email Security You Need to Know About](https://www.youtube.com/watch?v=zLxJLKf-ua8) |
||||
- [@feed@Explore top posts about Security](https://app.daily.dev/tags/security?ref=roadmapsh) |
||||
|
@ -1,11 +1,10 @@ |
||||
# DNS |
||||
|
||||
DNS (Domain Name System) is the phonebook of the Internet. Humans access information online through domain names, like `nytimes.com` or `espn.com.` Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources. |
||||
DNS (Domain Name System) is a hierarchical, decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It translates human-readable domain names (like www.example.com) into IP addresses (like 192.0.2.1) that computers use to identify each other on the network. DNS serves as the internet's phone book, enabling users to access websites using easy-to-remember names instead of numerical IP addresses. The system comprises DNS servers, resolvers, and records (like A, CNAME, MX), working together to route internet traffic efficiently. DNS is crucial for internet functionality, affecting everything from web browsing and email to load balancing and service discovery in modern cloud architectures. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) |
||||
- [@article@HOw DNS works (comic)](https://howdns.works/) |
||||
- [@video@DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk) |
||||
- [@video@DNS Records](https://www.youtube.com/watch?v=7lxgpKh_fRY) |
||||
- [@feed@Explore top posts about DNS](https://app.daily.dev/tags/dns?ref=roadmapsh) |
||||
|
@ -1,7 +1,8 @@ |
||||
# Domain Keys |
||||
|
||||
DomainKeys Identified Mail (DKIM) is an email authentication method designed to detect forged sender addresses in email (email spoofing), a technique often used in phishing and email spam. |
||||
DomainKeys is an email authentication method designed to verify the domain of an email sender and ensure message integrity. Developed by Yahoo, it was a precursor to DKIM (DomainKeys Identified Mail). DomainKeys uses public key cryptography to allow email systems to verify that a message was sent by an authorized sender and hasn't been tampered with in transit. The sending server signs outgoing emails with a private key, and receiving servers can verify the signature using a public key published in the sender's DNS records. While largely superseded by DKIM, DomainKeys played a crucial role in the evolution of email authentication techniques aimed at combating email spoofing and phishing attacks. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@DomainKeys Identified Mail](https://www.brainkart.com/article/DomainKeys-Identified-Mail_8493/) |
||||
- [@video@What is DKIM? DomainKeys Identified Mail](https://www.youtube.com/watch?v=IBhO0akhMlQ) |
||||
|
@ -1,9 +1,9 @@ |
||||
# Drone |
||||
|
||||
Drone is a CI/CD service offering by [Harness](https://harness.io/). Each build runs on an isolated Docker container, and Drone integrates with many popular source code management repositories like GitHub, BitBucket and GitLab |
||||
Drone is an open-source continuous integration (CI) platform built on container technology. It automates building, testing, and deploying code using a simple, YAML-based pipeline configuration stored alongside the source code. Drone executes each step of the CI/CD process in isolated Docker containers, ensuring consistency and reproducibility. It supports multiple version control systems, offers parallel execution of pipeline steps, and provides plugins for integrating with various tools and services. Drone's lightweight, scalable architecture makes it suitable for projects of all sizes, from small teams to large enterprises. Its focus on simplicity and containerization aligns well with modern DevOps practices and microservices architectures. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Drone Website](https://www.drone.io/) |
||||
- [@official@Official Documentation](https://docs.drone.io/) |
||||
- [@article@Drone Getting Started Guide](https://docs.drone.io/server/overview/) |
||||
- [@video@Drone CI Quickstart](https://www.youtube.com/watch?v=Qf8EHRzAgHQ) |
||||
|
@ -1,15 +1,10 @@ |
||||
# Elastic Stack |
||||
|
||||
Elastic Stack is a group of open source products comprised of Elasticsearch, Kibana, Beats, and Logstash and more that help store, search, analyze, and visualize data from various source, in different format, in real-time. |
||||
|
||||
- `Elastic Search` - Search and analytics engine |
||||
- `Logstash/fluentd` - Data processing pipeline |
||||
- `Kibana` - Dashboard to visualize data |
||||
The Elastic Stack, formerly known as ELK Stack, is a set of open-source tools for searching, analyzing, and visualizing data in real-time. It consists of four main components: Elasticsearch (a distributed search and analytics engine), Logstash (a data processing pipeline), Kibana (a data visualization and management tool), and Beats (lightweight data shippers). Together, these tools enable users to collect data from various sources, process and enrich it, store it in a searchable format, and create interactive visualizations and dashboards. The Elastic Stack is widely used for log analytics, application performance monitoring, security information and event management (SIEM), and business intelligence applications, offering scalability and flexibility for handling large volumes of diverse data. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Elastic Stack Website](https://www.elastic.co/elastic-stack/) |
||||
- [@official@Official Docs](https://www.elastic.co/guide/index.html) |
||||
- [@official@Elastic Stack features](https://www.elastic.co/elastic-stack/features) |
||||
- [@article@Logstash vs Fluentd](https://logz.io/blog/fluentd-logstash/) |
||||
- [@video@Master the Elastic Stack: Elastic Stack Overview](https://www.youtube.com/watch?v=CfCTWVAwFbQ) |
||||
- [@feed@Explore top posts about ELK](https://app.daily.dev/tags/elk?ref=roadmapsh) |
||||
|
@ -1,12 +1,9 @@ |
||||
# Flux CD |
||||
|
||||
Flux CD is a continuous delivery tool for Kubernetes that is based on the GitOps methodology. It is used to automate the deployment and management of cloud-native applications by continuously synchronizing the desired application state with the actual application state in the production environment. |
||||
|
||||
In a Flux CD workflow, changes to the application are made by committing code or configuration changes to a Git repository. Flux CD monitors the repository and automatically deploys the changes to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment. |
||||
|
||||
Flux CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications. |
||||
FluxCD is a GitOps-based continuous delivery tool for Kubernetes. It automates the deployment of applications by using Git repositories as the source of truth for defining the desired state of a system. FluxCD continuously monitors these repositories and automatically applies changes to the cluster when differences are detected. It supports multi-tenancy, Helm releases, and provides features like automated image updates and notifications. FluxCD enables declarative, version-controlled infrastructure and application management, promoting consistency across environments and simplifying the deployment process. Its integration with Kubernetes makes it particularly useful for cloud-native applications, allowing teams to implement efficient, automated, and auditable deployment workflows. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Flux CD Docs](https://docs.fluxcd.io/) |
||||
- [@video@Introduction to Flux CD on Kubernetes](https://www.youtube.com/watch?v=X5W_706-jSY) |
||||
- [@feed@Explore top posts about Flux](https://app.daily.dev/tags/flux?ref=roadmapsh) |
||||
|
@ -1,14 +1,9 @@ |
||||
# Forward Proxy |
||||
|
||||
Forward Proxy, often called proxy server is a server that sits in front of a group of **client machines**. When those computers make requests to sites and services on the Internet, the proxy server intercepts those requests and then communicates with web servers on behalf of those clients, like a middleman. |
||||
|
||||
**Common Uses:** |
||||
|
||||
- To block access to certain content |
||||
- To protect client identity online |
||||
- To provide restricted internet to organizations |
||||
A forward proxy, often simply called a proxy, is a server that sits between client devices and the internet, forwarding requests from clients to web servers. It acts on behalf of clients, potentially providing benefits like anonymity, security, and access control. Forward proxies can cache frequently requested content, filter web traffic, bypass geographical restrictions, and log user activity. They're commonly used in corporate networks to enforce internet usage policies, enhance security by hiding internal network details, and improve performance through caching. Unlike reverse proxies, which serve resources on behalf of servers, forward proxies primarily serve client-side needs, acting as an intermediary for outbound requests to the wider internet. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is Forward Proxy?](https://www.fortinet.com/resources/cyberglossary/proxy-server) |
||||
- [@article@Forward vs Reverse Proxy](https://oxylabs.io/blog/reverse-proxy-vs-forward-proxy) |
||||
- [@video@Understanding Proxy, Forward Proxy, and Reverse Proxy](https://www.youtube.com/watch?v=HrG0MHkSsCA) |
||||
|
@ -1,10 +1,12 @@ |
||||
# FreeBSD |
||||
|
||||
FreeBSD is a free and open-source Unix-like operating system including many features such as preemptive multitasking, memory protection, virtual memory, and multi-user facilities. |
||||
FreeBSD is a free, open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD). Known for its stability, performance, and advanced networking capabilities, FreeBSD is popular for server environments, embedded systems, and as a basis for network appliances. It features a monolithic kernel, a comprehensive set of userland utilities, and a ports collection for easy software installation. FreeBSD supports a wide range of architectures and includes advanced features like the ZFS file system, jails for containerization, and the pf packet filter. While less common in desktop environments, it's widely used in internet infrastructure, storage systems, and by companies requiring a robust, customizable OS with a permissive license. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@FreeBSD Website](https://www.freebsd.org/) |
||||
- [@official@FreeBSD Resources for Newbies](https://www.freebsd.org/projects/newbies/) |
||||
- [@article@Official FreeBSD Documentation](https://docs.freebsd.org/en/) |
||||
- [@article@FreeBSD Handbook](https://docs.freebsd.org/en/books/handbook/) |
||||
- [@official@FreeBSD Resources for Newbies](https://www.freebsd.org/projects/newbies/) |
||||
- [@video@FreeBSD in 100 Seconds](https://www.youtube.com/watch?v=NKHzcXwTdB4) |
||||
|
||||
|
@ -1,7 +1,10 @@ |
||||
# FTP |
||||
# FTP / SFTP |
||||
|
||||
File Transfer Protocol(FTP) is `TCP/IP` based application layer communication protocol that helps transferring files between local and remote file systems over the network. To transfer a file, 2 TCP connections(control connection and data connection) are used in parallel. |
||||
FTP (File Transfer Protocol) is a standard network protocol used for transferring files between a client and a server on a computer network. It operates on a client-server model, typically using separate control and data connections between the client and server. FTP allows users to upload, download, and manage files on remote systems, supporting both authenticated and anonymous access. While widely used for its simplicity and compatibility, FTP has security limitations as it transmits data and credentials in plain text. As a result, more secure alternatives like SFTP (SSH File Transfer Protocol) and FTPS (FTP Secure) have gained popularity for sensitive data transfers. Despite its age, FTP remains in use for various file transfer needs, especially in legacy systems and where security is less critical. |
||||
|
||||
SFTP (SSH File Transfer Protocol) is a secure file transfer protocol that provides file access, transfer, and management functionalities over a secure shell (SSH) data stream. It's designed as an extension of SSH to offer secure file transfer capabilities. SFTP encrypts both commands and data in transit, protecting against eavesdropping and man-in-the-middle attacks. Unlike traditional FTP, SFTP uses a single connection and doesn't separate control and data channels. It supports features like resuming interrupted transfers, directory listings, and remote file removal. SFTP is widely used in enterprise environments for secure file transfers, automated scripts, and as a more secure alternative to FTP. Its integration with SSH makes it a preferred choice for system administrators and developers working with remote systems securely. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@FTP vs SFTP vs FTPS](https://www.fortinet.com/resources/cyberglossary/file-transfer-protocol-ftp-meaning) |
||||
- [@article@What is SFTP?](https://www.kiteworks.com/risk-compliance-glossary/sftp/) |
||||
|
@ -1,7 +1,8 @@ |
||||
# GCP Cloud Functions |
||||
|
||||
Cloud Functions are the serverless "Function-as-a-Service" offer of Google Cloud Platform. |
||||
Google Cloud Functions is a serverless execution environment for building and connecting cloud services. It allows developers to write single-purpose, standalone functions that respond to cloud events without the need to manage a server or runtime environment. These functions can be triggered by various events from Google Cloud services, HTTP requests, or Firebase features. Cloud Functions automatically scale based on the workload, and users are charged only for the compute time used. They support multiple programming languages including Node.js, Python, and Go. Cloud Functions are commonly used for real-time data processing, webhooks, lightweight APIs, and integrating systems in a microservices architecture. This service enables rapid development and deployment of code in the Google Cloud ecosystem. |
||||
|
||||
- [@official@GCP Cloud Functions Overview](https://cloud.google.com/functions/docs/concepts/overview) |
||||
- [@article@GCP Cloud Functions Tutorial](https://antonputra.com/google/google-cloud-functions-tutorial/) |
||||
- [@video@Cloud Functions in a minute](https://www.youtube.com/watch?v=BL4ZlPEamDo) |
||||
- [@feed@Explore top posts about Google Cloud Platform](https://app.daily.dev/tags/gcp?ref=roadmapsh) |
||||
|
@ -1,12 +1,11 @@ |
||||
# GitHub Actions |
||||
|
||||
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow. |
||||
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform integrated directly into GitHub repositories. It allows developers to automate software workflows, including building, testing, and deploying applications. Actions are defined in YAML files and triggered by various GitHub events such as pushes, pull requests, or scheduled tasks. The platform provides a marketplace of pre-built actions and supports custom actions. GitHub Actions offers matrix builds, parallel job execution, and supports multiple operating systems and languages. It integrates seamlessly with GitHub's ecosystem, facilitating automated code review, issue tracking, and project management. This tool enables developers to implement DevOps practices efficiently within their GitHub workflow, enhancing productivity and code quality. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Github Actions](https://github.com/features/actions) |
||||
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github) |
||||
- [@official@GitHub Actions Documentation](https://docs.github.com/en/actions) |
||||
- [@official@Learn GitHub Actions](https://docs.github.com/en/actions/learn-github-actions) |
||||
- [@video@GitHub Actions - Supercharge your GitHub Flow](https://youtu.be/cP0I9w2coGU) |
||||
- [@video@What is GitHub Actions?](https://www.youtube.com/watch?v=URmeTqglS58) |
||||
- [@video@Automate your Workflow with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ) |
||||
- [@feed@Explore top posts about GitHub](https://app.daily.dev/tags/github?ref=roadmapsh) |
||||
|
@ -1,14 +1,10 @@ |
||||
# GitHub |
||||
|
||||
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. |
||||
|
||||
GitHub is a web-based platform for version control and collaboration using Git. It provides cloud-based Git repository hosting, offering features like bug tracking, task management, and project wikis. GitHub facilitates code review through pull requests, supports issue tracking, and enables social coding with features like forking and starring repositories. It offers both public and private repositories, making it popular for open-source projects and private development. GitHub's ecosystem includes integrations with various development tools and CI/CD platforms. With features like GitHub Actions for automation, GitHub Packages for package management, and GitHub Pages for web hosting, it serves as a comprehensive platform for software development workflows, fostering collaboration among developers worldwide. |
||||
Visit the following resources to learn more: |
||||
|
||||
- [@opensource@GitHub Website](https://github.com) |
||||
- [@official@GitHub Documentation](https://docs.github.com/en/get-started/quickstart) |
||||
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github) |
||||
- [@official@GitHub Website](https://github.com) |
||||
- [@article@How to Use Git in a Professional Dev Team](https://ooloo.io/project/github-flow) |
||||
- [@video@What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) |
||||
- [@video@Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU) |
||||
- [@video@Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk) |
||||
- [@video@Git and GitHub - CS50 Beyond 2019](https://www.youtube.com/watch?v=eulnSXkhE7I) |
||||
- [@video@What is GitHub?](https://www.youtube.com/watch?v=pBy1zgt0XPc) |
||||
- [@feed@Explore top posts about GitHub](https://app.daily.dev/tags/github?ref=roadmapsh) |
||||
|
@ -1,12 +1,10 @@ |
||||
# GitLab CI |
||||
|
||||
GitLab offers a CI/CD service that can be used as a SaaS offering or self-managed using your own resources. You can use GitLab CI with any GitLab hosted repository, or any BitBucket Cloud or GitHub repository in the GitLab Premium self-managed, GitLab Premium SaaS and higher tiers. |
||||
GitLab CI is an integrated continuous integration and delivery platform within the GitLab ecosystem. It automates the process of building, testing, and deploying code changes through pipelines defined in YAML files. GitLab CI offers features like parallel execution, container registry integration, and auto-DevOps, enabling teams to implement robust CI/CD workflows directly from their GitLab repositories without additional tools or infrastructure. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@opensource@GitLab Website](https://gitlab.com/) |
||||
- [@official@GitLab Website](https://gitlab.com/) |
||||
- [@official@GitLab Documentation](https://docs.gitlab.com/) |
||||
- [@official@Get Started with GitLab CI](https://docs.gitlab.com/ee/ci/quick_start/) |
||||
- [@official@Learn GitLab Tutorials](https://docs.gitlab.com/ee/tutorials/) |
||||
- [@official@GitLab CI/CD Examples](https://docs.gitlab.com/ee/ci/examples/) |
||||
- [@video@GitLab CI/CD Pipeline Tutorial for Beginners (2024)](https://www.youtube.com/watch?v=z7nLsJvEyMY) |
||||
- [@feed@Explore top posts about GitLab](https://app.daily.dev/tags/gitlab?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# GitLab |
||||
|
||||
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. |
||||
GitLab is a web-based DevOps lifecycle tool that provides a Git repository manager with wiki, issue tracking, and CI/CD pipeline features. It offers a complete DevOps platform, delivered as a single application, covering the entire software development lifecycle from planning to monitoring. GitLab supports both cloud-hosted and self-hosted options, catering to various organizational needs. Key features include integrated CI/CD, container registry, package registry, and security scanning tools. It emphasizes innersource methodologies, allowing teams to collaborate more effectively within an organization. GitLab's built-in DevOps capabilities, coupled with its focus on a single, integrated platform, make it popular for organizations seeking to streamline their development processes and implement DevOps practices efficiently. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@opensource@GitLab Website](https://gitlab.com/) |
||||
- [@official@GitLab Documentation](https://docs.gitlab.com/) |
||||
- [@video@Gitlab Explained: What is Gitlab and Why Use It?](https://www.youtube.com/watch?v=bnF7f1zGpo4) |
||||
- [@feed@Explore top posts about GitLab](https://app.daily.dev/tags/gitlab?ref=roadmapsh) |
||||
|
@ -1,12 +1,9 @@ |
||||
# GitOps |
||||
|
||||
GitOps is a methodology for managing cloud-native applications and infrastructure using Git as the source of truth. It is based on the idea that all changes to the system, whether they are related to code, configuration, or infrastructure, should be made using Git and that Git should be used to automate the deployment and management of those changes. |
||||
|
||||
In a GitOps workflow, changes to the system are made by committing code or configuration changes to a Git repository. These changes are then automatically deployed to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment. |
||||
|
||||
GitOps is designed to be a more efficient and agile way of managing cloud-native environments, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Kubernetes and Helm to automate the deployment and management of cloud-native applications. |
||||
GitOps is a paradigm for managing infrastructure and application deployments using Git as the single source of truth. It extends DevOps practices by using Git repositories to store declarative descriptions of infrastructure and applications. Changes to the desired state are made through pull requests, which trigger automated processes to align the actual state with the desired state. GitOps relies on continuous deployment tools that automatically reconcile the live system with the desired state defined in Git. This approach provides benefits such as version control for infrastructure, improved auditability, easier rollbacks, and enhanced collaboration. GitOps is particularly well-suited for cloud-native applications and Kubernetes environments, offering a streamlined method for managing complex, distributed systems. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Guide to GitOps](https://www.weave.works/technologies/gitops/) |
||||
- [@video@What is GitOps, How GitOps works and Why it's so useful](https://www.youtube.com/watch?v=f5EpcWp0THw) |
||||
- [@feed@Explore top posts about GitOps](https://app.daily.dev/tags/gitops?ref=roadmapsh) |
||||
|
@ -1,11 +1,10 @@ |
||||
# Grafana |
||||
|
||||
Grafana is the open-source platform for monitoring and observability. It allows you to query, visualize, alert on and understand your metrics no matter where they are stored. |
||||
Grafana is an open-source analytics and interactive visualization web application. It connects to various data sources, including time-series databases, relational databases, and cloud services, to create customizable dashboards. Grafana excels at visualizing time-series data for infrastructure and application analytics, supporting a wide range of chart types and plugins. It features alerting capabilities, user authentication, and role-based access control. Grafana is commonly used for monitoring system metrics, application performance, and business analytics. Its flexibility and ability to combine data from multiple sources make it popular in DevOps environments for creating comprehensive monitoring solutions. Grafana's user-friendly interface and extensive customization options enable users to create visually appealing and informative dashboards for real-time data visualization and analysis. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Grafana Website](https://grafana.com/) |
||||
- [@official@Grafana Official Documentation](https://grafana.com/docs/) |
||||
- [@article@Grafana Community](https://community.grafana.com/) |
||||
- [@official@Grafana Webinars and Videos](https://grafana.com/videos/) |
||||
- [@video@Server Monitoring // Prometheus and Grafana Tutorial](https://www.youtube.com/watch?v=9TJx7QTrTyo) |
||||
- [@feed@Explore top posts about Grafana](https://app.daily.dev/tags/grafana?ref=roadmapsh) |
||||
|
@ -1,9 +1,9 @@ |
||||
# Graylog |
||||
|
||||
Graylog is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data. |
||||
Graylog is an open-source log management platform designed to collect, index, and analyze log data from various sources in real-time. It provides a centralized system for log aggregation, search, and analysis, making it easier to troubleshoot issues, monitor system health, and ensure security compliance. Graylog features a scalable architecture, supporting high-volume log processing, and offers a web interface for log exploration and dashboard creation. It includes features like alerting, role-based access control, and data retention policies. Graylog supports multiple input types, including syslog, GELF, and raw TCP/UDP, and can integrate with various external systems. Its flexibility and powerful search capabilities make it popular for IT operations, security monitoring, and compliance management in diverse environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Graylog Website](https://www.graylog.org/) |
||||
- [@article@Official Documentation](https://docs.graylog.org/) |
||||
- [@official@Product Videos](https://www.graylog.org/resources-videos) |
||||
- [@opensource@Graylog2/graylog2-server](https://github.com/Graylog2/graylog2-server) |
||||
|
@ -1,10 +1,9 @@ |
||||
# Heroku |
||||
|
||||
Heroku is a cloud platform as a service subsidiary of Salesforce. Heroku officially supports Node.js, Ruby, Java, PHP, Python, Go, Scala and Clojure, along with any language that runs on Linux via a third-party build pack. |
||||
Heroku is a cloud platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. It supports several programming languages and offers a simple, streamlined deployment process using Git. Heroku abstracts away much of the infrastructure management, allowing developers to focus on code rather than server maintenance. It provides features like automatic scaling, continuous integration/deployment pipelines, and add-ons for databases and other services. Heroku's dyno-based architecture allows for easy scaling of applications. While particularly popular among startups and for rapid prototyping due to its ease of use, Heroku also serves larger applications. Its ecosystem includes a marketplace of third-party add-ons, enhancing functionality for various development needs. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Heroku Website](https://www.heroku.com/) |
||||
- [@article@Official Documentation](https://devcenter.heroku.com/) |
||||
- [@article@Heroku Get Started Guide](https://devcenter.heroku.com/start) |
||||
- [@video@What is Heroku?](https://www.youtube.com/watch?v=IB0V8wWsCsc) |
||||
- [@feed@Explore top posts about Heroku](https://app.daily.dev/tags/heroku?ref=roadmapsh) |
||||
|
@ -1,7 +1,9 @@ |
||||
# Hetzner |
||||
|
||||
Hetzner is a German hosting provider that offers a wide range of services, including dedicated servers, cloud servers, and colocation. They are known for their high-quality hardware, competitive pricing, and excellent customer support. |
||||
Hetzner is a German web hosting company and data center operator known for offering high-quality, cost-effective dedicated servers, virtual private servers (VPS), and cloud solutions. They provide a range of hosting services including shared hosting, managed servers, and colocation. Hetzner is particularly popular among developers and small to medium-sized businesses for its competitive pricing on powerful hardware. Their cloud platform offers flexible, scalable resources with a straightforward pricing model. Hetzner is recognized for its robust infrastructure, reliable network connectivity, and customer-friendly approach. While not as feature-rich as some larger cloud providers, Hetzner's focus on providing high-performance hardware at affordable prices has earned it a strong reputation in the hosting community. |
||||
|
||||
Visit the following resources to learn more about Hetzner: |
||||
|
||||
- [@official@Hetzner Website](https://www.hetzner.com/) |
||||
- [@article@How To Setup Hetzner Cloud Server To Host Your Websites](https://runcloud.io/blog/hetzner) |
||||
- [@video@Coolify Crash Course | Self Host 101](https://www.youtube.com/watch?v=taJlPG82Ucw) |
||||
|
@ -1,11 +1,11 @@ |
||||
# HTTP |
||||
|
||||
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet. |
||||
HTTP (Hypertext Transfer Protocol) is the foundation of data communication on the World Wide Web. It's an application-layer protocol that enables the transfer of various types of data, primarily web pages and their components, between clients (usually web browsers) and servers. HTTP operates on a request-response model, where clients send requests for resources, and servers respond with the requested data or error messages. It's stateless by design, meaning each request is independent of previous ones. HTTP supports various methods (GET, POST, PUT, DELETE, etc.) for different types of operations. While originally designed for plain-text transmission, HTTPS, its secure version using encryption, is now widely adopted to protect data in transit. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Everything you need to know about HTTP](https://cs.fyi/guide/http-in-depth) |
||||
- [@article@What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/) |
||||
- [@article@An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview) |
||||
- [@article@HTTP/3 From A To Z: Core Concepts](https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/) |
||||
- [@video@HTTP/1 to HTTP/2 to HTTP/3](https://www.youtube.com/watch?v=a-sBfyiXysI) |
||||
- [@video@HTTP Crash Course & Exploration](https://www.youtube.com/watch?v=iYM2zFP3Zn0) |
||||
|
@ -1,10 +1,8 @@ |
||||
# IMAP |
||||
|
||||
IMAP (port 143) or IMAPS (port 993) allows you to access your email wherever you are, from any device. When you read an email message using IMAP, you aren't actually downloading or storing it on your computer; instead, you're reading it from the email service. As a result, you can check your email from different devices, anywhere in the world: your phone, a computer, a friend's computer. |
||||
|
||||
IMAP only downloads a message when you click on it, and attachments aren't automatically downloaded. This way you're able to check your messages a lot more quickly than POP. |
||||
IMAP (Internet Message Access Protocol) is a standard email protocol that allows email clients to access messages stored on a mail server. Unlike POP3, IMAP keeps emails on the server, enabling access from multiple devices while maintaining synchronization. It supports folder structures, message flagging, and partial message retrieval, making it efficient for managing large volumes of emails. IMAP allows users to search server-side, reducing bandwidth usage. It's designed for long-term mail storage on the server, ideal for users who need to access their email from various devices or locations. IMAP's synchronization capabilities and server-side management features make it the preferred protocol for most modern email systems, especially in mobile and multi-device environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Wikipedia: Internet Message Access Protocol](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) |
||||
- [@video@What is IMAP and How To Use It | Email Tutorial](https://www.youtube.com/watch?v=cfXabGOA2s8) |
||||
- [@video@What are POP3, IMAP, and SMTP?](https://www.youtube.com/watch?v=gLNOVbcyWbI) |
||||
|
@ -1,11 +1,10 @@ |
||||
# Infrastructure Monitoring |
||||
|
||||
Monitoring refers to the practice of making the performance and status of infrastructure visible. This section contains common tools used for monitoring. |
||||
|
||||
This is a very vendor-heavy space - use caution when studying materials exclusively from a given product or project, as there are many conflicting opinions and strategies in use. There is no single solution for the most substantially complex internet-facing applications, so understanding the pros and cons of these tools will be useful in helping you plan how to monitor a system for a given goal. |
||||
Monitoring refers to the practice of making the performance and status of infrastructure visible. This section contains common tools used for monitoring. This is a very vendor-heavy space - use caution when studying materials exclusively from a given product or project, as there are many conflicting opinions and strategies in use. There is no single solution for the most substantially complex internet-facing applications, so understanding the pros and cons of these tools will be useful in helping you plan how to monitor a system for a given goal. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Best Practices to Optimize Infrastructure Monitoring within DevOps Teams](https://thenewstack.io/best-practices-to-optimize-infrastructure-monitoring-within-devops-teams/) |
||||
- [@article@Seven Steps to Effective Cloud Native Infrastructure Monitoring](https://thenewstack.io/seven-steps-to-effective-cloud-native-infrastructure-monitoring/) |
||||
- [@video@Infrastructure Monitoring Basics with Telegraf, Grafana and InfluxDB](https://www.youtube.com/watch?v=ESub4SAKouI) |
||||
- [@feed@Explore top posts about Infrastructure](https://app.daily.dev/tags/infrastructure?ref=roadmapsh) |
||||
|
@ -1,8 +1,9 @@ |
||||
# Jaeger |
||||
|
||||
Jaeger is an open source, end-to-end distributed tracing system that enables us to monitor and troubleshoot transactions in complex distributed systems. |
||||
Jaeger is an open-source, end-to-end distributed tracing system developed by Uber Technologies. It's designed to monitor and troubleshoot microservices-based distributed systems. Jaeger helps to track requests as they flow through complex distributed systems, identifying performance bottlenecks and understanding system behavior. It supports OpenTracing standards, allowing for vendor-neutral instrumentation of applications. Jaeger features include distributed context propagation, dependency analysis, and root cause analysis. It offers a web UI for visualizing traces and a flexible architecture supporting various storage backends. Jaeger is particularly useful in cloud-native environments, helping developers and operators understand latency issues, optimize performance, and debug problems in microservices architectures. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Jaeger Website](https://www.jaegertracing.io/) |
||||
- [@article@Official Documentation](https://www.jaegertracing.io/docs/1.37/) |
||||
- [@opensource@jaegertracing/jaeger](https://github.com/jaegertracing/jaeger) |
||||
|
@ -1,16 +1,12 @@ |
||||
# JavaScript |
||||
|
||||
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. Apart from being used on the frontend in browsers, there is Node.js which is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. |
||||
JavaScript is a high-level, interpreted programming language primarily used for client-side web development. It enables interactive and dynamic content on web pages, allowing developers to create responsive user interfaces and complex web applications. JavaScript is a core technology of the World Wide Web, alongside HTML and CSS. It supports object-oriented, imperative, and functional programming paradigms. With the advent of Node.js, JavaScript has also become popular for server-side development. The language features dynamic typing, first-class functions, and prototype-based object-orientation. JavaScript's ubiquity in web browsers, extensive ecosystem of libraries and frameworks (like React, Angular, and Vue.js), and its versatility across front-end and back-end development have made it one of the most widely used programming languages in modern software development. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@roadmap@Visit Dedicated JavaScript Roadmap](https://roadmap.sh/javascript) |
||||
- [@article@W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/) |
||||
- [@article@The Modern JavaScript Tutorial](https://javascript.info/) |
||||
- [@video@JavaScript Crash Course for Beginners](https://youtu.be/hdI2bqOjy3c) |
||||
- [@video@Node.js Crash Course](https://www.youtube.com/watch?v=fBNz5xF-Kx4) |
||||
- [@video@Node.js Tutorial for Beginners](https://www.youtube.com/watch?v=TlB_eWDSMt4) |
||||
- [@article@W3Schools – Node.js Tutorial](https://www.w3schools.com/nodejs/) |
||||
- [@article@What is NPM?](https://www.w3schools.com/nodejs/nodejs_npm.asp) |
||||
- [@article@Official Documentation](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs) |
||||
- [@video@JavaScript Crash Course for Beginners](https://youtu.be/hdI2bqOjy3c) |
||||
- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh) |
||||
|
@ -1,10 +1,10 @@ |
||||
# Jenkins |
||||
|
||||
Jenkins is an open-source CI/CD automation server. Jenkins is primarily used for building projects, running tests, static code analysis and deployments. |
||||
Jenkins is an open-source automation server widely used for building, testing, and deploying software. It facilitates continuous integration and continuous delivery (CI/CD) by automating various stages of the development pipeline. Jenkins supports numerous plugins, allowing integration with virtually any tool in the software development lifecycle. It features a web interface for configuration and monitoring, supports distributed builds across multiple machines, and offers extensibility through a plugin architecture. Jenkins can be used to create complex workflows, automate repetitive tasks, and orchestrate job sequences. Its flexibility, broad community support, and ability to integrate with a wide range of tools make it a popular choice for implementing DevOps practices in organizations of all sizes. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Jenkins Website](https://www.jenkins.io/) |
||||
- [@official@Official Jenkins Handbook](https://www.jenkins.io/doc/book/) |
||||
- [@official@Jenkins Getting Started Guide](https://www.jenkins.io/doc/pipeline/tour/getting-started/) |
||||
- [@video@Learn Jenkins! Complete Jenkins Course - Zero to Hero](https://www.youtube.com/watch?v=6YZvp2GwT0A) |
||||
- [@feed@Explore top posts about Jenkins](https://app.daily.dev/tags/jenkins?ref=roadmapsh) |
||||
|
@ -1,14 +1,12 @@ |
||||
# Kubernetes |
||||
|
||||
Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources (similar to the Autopilot and Aquaman systems of Microsoft Azure). |
||||
|
||||
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues. |
||||
Kubernetes is an open source container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources (similar to the Autopilot and Aquaman systems of Microsoft Azure). The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Kubernetes Website](https://kubernetes.io/) |
||||
- [@official@Kubernetes Documentation](https://kubernetes.io/docs/home/) |
||||
- [@video@Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4) |
||||
- [@opensource@kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) |
||||
- [@article@Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care](https://thenewstack.io/primer-how-kubernetes-came-to-be-what-it-is-and-why-you-should-care/) |
||||
- [@article@Kubernetes: An Overview](https://thenewstack.io/kubernetes-an-overview/) |
||||
- [@video@ Complete Kubernetes Course - From BEGINNER to PRO ](https://www.youtube.com/watch?v=2T86xAtR6Fo) |
||||
- [@feed@Explore top posts about Kubernetes](https://app.daily.dev/tags/kubernetes?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Loki |
||||
|
||||
Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost-effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream. |
||||
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system designed by Grafana Labs. It's purpose-built to be cost-effective and easy to operate, making it particularly well-suited for storing and querying logs from Kubernetes clusters. Loki indexes metadata about logs rather than the full text, which allows it to be more resource-efficient than traditional log management systems. It uses the same querying language as Prometheus (LogQL), making it easier for users familiar with Prometheus to adopt. Loki integrates seamlessly with Grafana for visualization and is often used alongside Prometheus and Grafana in cloud-native observability stacks. Its design focuses on simplicity, making it an attractive option for organizations looking for efficient log management in containerized environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Loki Website](https://grafana.com/oss/loki/) |
||||
- [@article@Official Documentation](https://grafana.com/docs/loki/latest/?pg=oss-loki\&plcmt=quick-links) |
||||
- [@video@Meet Grafana LOKI, a Log Aggregation System for EVERYTHING](https://www.youtube.com/watch?v=h_GGd7HfKQ8) |
||||
- [@feed@Explore top posts about Grafana](https://app.daily.dev/tags/grafana?ref=roadmapsh) |
||||
|
@ -1,9 +1,10 @@ |
||||
# LXC |
||||
|
||||
LXC is a well-known Linux container runtime that consists of tools, templates, and library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel. |
||||
LXC (Linux Containers) is an operating system-level virtualization method for running multiple isolated Linux systems on a single host using a single Linux kernel. It provides a lightweight alternative to full machine virtualization, offering near-native performance and density. LXC uses Linux kernel features like cgroups and namespaces to create containers that have their own process and network space, while sharing the same kernel as the host system. This technology allows for efficient resource utilization and rapid deployment of applications. LXC is often used for creating development environments, testing, and running multiple isolated services on a single machine. While similar in concept to Docker, LXC provides a more system-container approach compared to Docker's application-container focus. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@LXC Website](https://linuxcontainers.org/) |
||||
- [@official@LXC Documentation](https://linuxcontainers.org/lxc/documentation/) |
||||
- [@video@Getting started with LXC containers](https://www.youtube.com/watch?v=CWmkSj_B-wo) |
||||
- [@video@LXC - Guide to building a LXC Lab](https://www.youtube.com/watch?v=cqOtksmsxfg) |
||||
|
@ -1,16 +1,25 @@ |
||||
# Networking Protocols |
||||
|
||||
As a DevOps engineer you will need to understand the basics of networking protocols, how they work, and how they are used in the real world. To get you started, you should learn about, [TCP/IP](https://en.wikipedia.org/wiki/Internet_protocol_suite), [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol), [HTTPS](https://en.wikipedia.org/wiki/HTTPS), [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol), [SSH](https://en.wikipedia.org/wiki/Secure_Shell), [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol), [DNS](https://en.wikipedia.org/wiki/Domain_Name_System), [DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol), [NTP](https://en.wikipedia.org/wiki/Network_Time_Protocol). |
||||
Networking protocols are standardized rules and procedures that govern how data is transmitted, received, and interpreted across computer networks. They define the format, timing, sequencing, and error control in data communication. Key protocols include: |
||||
|
||||
1. TCP/IP (Transmission Control Protocol/Internet Protocol): The fundamental suite for Internet communication. |
||||
2. HTTP/HTTPS: For web browsing and secure data transfer on the web. |
||||
3. FTP/SFTP: File transfer protocols. |
||||
4. SMTP/POP3/IMAP: Email communication protocols. |
||||
5. DNS: For domain name resolution. |
||||
6. DHCP: For automatic IP address assignment. |
||||
7. SSL/TLS: For secure, encrypted communication. |
||||
8. UDP: For fast, connectionless data transmission. |
||||
|
||||
Here are some of the resources to learn about SSH: |
||||
|
||||
- [@video@OpenSSH Full Guide](https://www.youtube.com/watch?v=YS5Zh7KExvE) |
||||
- [@article@Cloudflare - What is SSL?](https://www.cloudflare.com/learning/ssl/what-is-ssl/) |
||||
- [@article@Cloudflare - What is TLS?](https://www.cloudflare.com/en-gb/learning/ssl/transport-layer-security-tls/) |
||||
- [@video@SSH vs SSL vs TLS](https://www.youtube.com/watch?v=k3rFFLmQCuY) |
||||
- [@article@Everything you need to know about HTTP](https://cs.fyi/guide/http-in-depth) |
||||
- [@article@What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/) |
||||
- [@article@What is HTTPS?](https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/) |
||||
- [@article@What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) |
||||
- [@video@DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk) |
||||
- [@video@DNS Records](https://www.youtube.com/watch?v=7lxgpKh_fRY) |
||||
- [@video@SSH vs SSL vs TLS](https://www.youtube.com/watch?v=k3rFFLmQCuY) |
||||
- [@video@OpenSSH Full Guide](https://www.youtube.com/watch?v=YS5Zh7KExvE) |
||||
|
@ -1,69 +1,10 @@ |
||||
# Networking Tools |
||||
|
||||
Networking tools are used to troubleshoot network issues. They are also used to monitor network traffic and to test network connectivity. Some of the most common networking tools are: |
||||
|
||||
- `traceroute` - Traces the route taken by packets over an IP network. |
||||
- `ping` - sends echo request packets to a host to test the Internet connection. |
||||
- `mtr` - Combines the functionality of `traceroute` and `ping` into a single diagnostic tool. |
||||
- `nmap` - Scans hosts for open ports. |
||||
- `netstat` - Displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. |
||||
- `ufw` and `firewalld` - Firewall management tools. |
||||
- `iptables` and `nftables` - Firewall management tools. |
||||
- `tcpdump` - Dumps traffic on a network. |
||||
- `dig` - DNS lookup utility. |
||||
- `scp` - Secure copy. |
||||
|
||||
`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet. |
||||
|
||||
- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/) |
||||
|
||||
`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or hostname and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency. |
||||
|
||||
- [What is ping command?](https://linuxize.com/post/linux-ping-command/) |
||||
|
||||
`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool. |
||||
|
||||
- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr) |
||||
- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm) |
||||
- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/) |
||||
|
||||
NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports. |
||||
|
||||
- [NMAP Official Manual Book](https://nmap.org/book/man.html) |
||||
|
||||
Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections. |
||||
|
||||
- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm) |
||||
- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html) |
||||
- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU) |
||||
- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE) |
||||
|
||||
UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool. |
||||
|
||||
- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html) |
||||
- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/) |
||||
- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) |
||||
|
||||
IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets. |
||||
|
||||
- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial) |
||||
- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759) |
||||
|
||||
`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well. |
||||
|
||||
- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html) |
||||
- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump) |
||||
- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/) |
||||
- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs) |
||||
|
||||
`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`. |
||||
|
||||
- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/) |
||||
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) |
||||
|
||||
`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. |
||||
Networking tools are essential software utilities used for monitoring, analyzing, troubleshooting, and managing computer networks. They include a wide range of applications such as Wireshark for deep packet analysis, Nmap for network scanning and security auditing, Ping for testing basic connectivity, Traceroute for visualizing network paths, Netstat for displaying network connections, Tcpdump for command-line packet capture, Iperf for performance testing, Netcat for various network operations, Nslookup/Dig for DNS queries, and PuTTY for remote access via SSH or telnet. These tools collectively enable network administrators and security professionals to diagnose issues, optimize performance, conduct security assessments, and maintain the overall health and efficiency of network infrastructures, ranging from small local networks to large-scale enterprise environments. |
||||
|
||||
Learn more from the following resources: |
||||
|
||||
- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) |
||||
- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command) |
||||
- [@article@10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) |
||||
- [@article@SCP command explained](https://phoenixnap.com/kb/linux-scp-command) |
||||
- [@video@Top 5 Linux Networking Commands](https://www.youtube.com/watch?v=MT85eMsMN6o) |
||||
- [@video@60 Linux Commands you NEED to know](https://www.youtube.com/watch?v=gd7BXuUQ91w) |
||||
|
@ -1,10 +1,8 @@ |
||||
# New Relic |
||||
|
||||
New Relic is where dev, ops, security and business teams solve software–performance problems with data. |
||||
|
||||
New Relic is a cloud-based observability platform that provides full-stack visibility into software applications and infrastructure. It offers real-time performance monitoring, analytics, and alerting across various environments, including web, mobile, and cloud applications. New Relic's suite includes tools for application performance monitoring (APM), infrastructure monitoring, log management, and digital customer experience tracking. It uses distributed tracing and AI-powered analytics to help developers and operations teams identify and resolve issues quickly. New Relic's platform supports a wide range of programming languages and integrates with many popular development and deployment tools, making it a comprehensive solution for modern software observability and performance optimization in DevOps environments. |
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@New Relic Website](https://newrelic.com/) |
||||
- [@article@Official Documentation](https://docs.newrelic.com/) |
||||
- [@article@New Relic Developer Hub](https://developer.newrelic.com/) |
||||
- [@video@New Relic Platform Demo](https://www.youtube.com/watch?v=8kx7nRGVJRg) |
||||
- [@feed@Explore top posts about DevOps](https://app.daily.dev/tags/devops?ref=roadmapsh) |
||||
|
@ -1,10 +1,8 @@ |
||||
# OpenBSD |
||||
|
||||
OpenBSD is a free and open-source Unix-like operating system, focussed on portability, standardization, correctness, proactive security and integrated cryptography. The popular software application [OpenSSH](https://www.openssh.com/) is developed by from OpenBSD |
||||
OpenBSD is a free, open-source Unix-like operating system known for its strong focus on security, code correctness, and proactive approach to eliminating vulnerabilities. It's renowned for its stringent code review process, integrated cryptography, and default security features like stack protection and memory safeguards. OpenBSD pioneered many security innovations, including OpenSSH, and maintains a "secure by default" philosophy. The system is prized for its comprehensive documentation, clean and consistent codebase, and adherence to standards. While primarily used in server environments, especially for firewalls and network appliances, OpenBSD also supports desktop use. Its emphasis on security and stability makes it popular in high-security environments and among developers focused on system-level programming and network security. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@OpenBSD Website](https://www.openbsd.org/) |
||||
- [@article@Official OpenBSD Documentation](https://man.openbsd.org/search) |
||||
- [@article@OpenBSD Handbook](https://www.openbsdhandbook.com/) |
||||
- [@official@OpenBSD Installation Guide](https://www.openbsd.org/faq/faq4.html) |
||||
- [@video@Installing OpenBSD on the Fastest iMac G3](https://www.youtube.com/watch?v=-7gSMEsF3Q0) |
||||
|
@ -1,8 +1,10 @@ |
||||
# OpenTelemetry |
||||
|
||||
OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior. |
||||
OpenTelemetry is an open-source observability framework for cloud-native software, providing a standardized way to collect and export telemetry data such as metrics, logs, and traces. It aims to make observability a built-in feature of cloud-native applications by offering a vendor-neutral, unified set of APIs, libraries, agents, and instrumentation. OpenTelemetry simplifies the implementation of observability across different languages and platforms, enabling developers to instrument their code once and send data to multiple backends. It supports automatic instrumentation for many popular frameworks and libraries, reducing the effort required to add observability to applications. By providing a consistent approach to data collection and export, OpenTelemetry facilitates better interoperability between observability tools and platforms in modern, distributed software environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@OpenTelemetry Website](https://opentelemetry.io/) |
||||
- [@official@Official Documentation](https://opentelemetry.io/docs/) |
||||
- [@video@What is OpenTelemetry?](https://www.youtube.com/watch?v=mUA-uzk94ro) |
||||
- [@video@OpenTelemetry Course - Understand Software Performance](https://www.youtube.com/watch?v=r8UvWSX3KA8) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Papertrail |
||||
|
||||
Papertrail is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data. |
||||
Papertrail is a cloud-hosted log management service that simplifies the collection, analysis, and monitoring of log data from various sources. It offers real-time log aggregation, search, and alerting capabilities, making it easier for developers and system administrators to troubleshoot issues and gain insights into their applications and infrastructure. Papertrail supports a wide range of log types and integrates with numerous platforms and services, allowing users to centralize logs from servers, databases, applications, and network devices. Its user-friendly interface provides powerful search functionality, live tail features, and customizable dashboards. With features like saved searches, configurable alerts, and team collaboration tools, Papertrail enables efficient log analysis and helps organizations maintain system reliability, security, and compliance in diverse IT environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Papertrail Website](https://www.papertrail.com/) |
||||
- [@official@Official Guides](https://www.papertrail.com/solution/guides/) |
||||
- [@official@Official Blog](https://www.papertrail.com/blog/) |
||||
- [@video@SolarWinds Papertrail Overview](https://www.youtube.com/watch?v=gFFtrzoQEfI) |
||||
|
@ -1,11 +1,8 @@ |
||||
# Pop3s |
||||
|
||||
POP3 (port 110) or POP3s (port 995) stands for The Post Office Protocol. It's an Internet standard protocol used by local email software clients to retrieve emails from a remote mail server over a TCP/IP connection. |
||||
|
||||
Email servers hosted by Internet service providers also use POP3 to receive and hold emails intended for their subscribers. Periodically, these subscribers will use email client software to check their mailbox on the remote server and download any emails addressed to them. |
||||
|
||||
Once the email client has downloaded the emails, they are usually deleted from the server, although some email clients allow users to specify that mails be copied or saved on the server for a period of time. |
||||
POP3 (port 110) or POP3s (port 995) stands for The Post Office Protocol. It's an Internet standard protocol used by local email software clients to retrieve emails from a remote mail server over a TCP/IP connection. Email servers hosted by Internet service providers also use POP3 to receive and hold emails intended for their subscribers. Periodically, these subscribers will use email client software to check their mailbox on the remote server and download any emails addressed to them. Once the email client has downloaded the emails, they are usually deleted from the server, although some email clients allow users to specify that mails be copied or saved on the server for a period of time. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is POP3?](https://www.techtarget.com/whatis/definition/POP3-Post-Office-Protocol-3) |
||||
- [@video@What are POP3, IMAP, and SMTP?](https://www.youtube.com/watch?v=gLNOVbcyWbI) |
||||
|
@ -1,8 +1,9 @@ |
||||
# Powershell |
||||
|
||||
Windows PowerShell is a command-line shell and scripting language designed specifically for system administration. Its counterpart in Linux is called Bash Scripting. Built on the .NET Framework, Windows PowerShell enables IT professionals to control and automate the administration of the Windows operating system and applications that run in a Windows Server environment. |
||||
PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language. Built on the .NET framework, PowerShell provides full access to COM and WMI, enabling administrators to perform administrative tasks on both local and remote Windows systems. It uses cmdlets (pronounced "command-lets") for performing actions, and a pipe system for chaining these commands together. PowerShell's object-based nature, as opposed to text-based output, allows for more efficient data manipulation. With its extensive scripting capabilities, support for aliases, and integration with various Microsoft and third-party products, PowerShell has become a powerful tool for automating system administration tasks, managing cloud resources, and developing DevOps practices in Windows-centric environments. |
||||
|
||||
Learn more from the following resources: |
||||
|
||||
- [@article@PowerShell Documentation](https://learn.microsoft.com/en-us/powershell/) |
||||
- [@video@Learn PowerShell in Less Than 2 Hours](https://www.youtube.com/watch?v=ZOoCaWyifmI) |
||||
- [@feed@Explore top posts about PowerShell](https://app.daily.dev/tags/powershell?ref=roadmapsh) |
||||
|
@ -1,5 +0,0 @@ |
||||
# Learn a Language |
||||
|
||||
It doesn't matter what language you pick, but it is important to learn at least one. You will be able to use that language to write automation scripts. |
||||
|
||||
- [@article@Guide to Picking a Language for DevOps](https://cs.fyi/guide/programming-language-for-devops) |
@ -1,10 +1,9 @@ |
||||
# Prometheus |
||||
|
||||
Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database built using a HTTP pull model, with flexible queries and real-time alerting. |
||||
Prometheus is an open-source systems monitoring and alerting toolkit designed for reliability and scalability. It features a multi-dimensional data model, a flexible query language (PromQL), and an efficient time series database. Prometheus collects metrics from configured targets at given intervals, evaluates rule expressions, displays results, and can trigger alerts when specified conditions are observed. It operates on a pull model, scraping metrics from HTTP endpoints, and supports service discovery for dynamic environments. Prometheus is particularly well-suited for monitoring microservices and containerized environments, integrating seamlessly with systems like Kubernetes. Its ecosystem includes various exporters for third-party systems and a built-in alert manager. Widely adopted in cloud-native architectures, Prometheus is a core component of modern observability stacks, often used alongside tools like Grafana for visualization. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Prometheus Website](https://prometheus.io/) |
||||
- [@official@Official Documentation](https://prometheus.io/docs/introduction/overview/) |
||||
- [@official@Getting Started with Prometheus](https://prometheus.io/docs/tutorials/getting_started/) |
||||
- [@video@Introduction to the Prometheus Monitoring System | Key Concepts and Features](https://www.youtube.com/watch?v=STVMGrYIlfg) |
||||
- [@feed@Explore top posts about Prometheus](https://app.daily.dev/tags/prometheus?ref=roadmapsh) |
||||
|
@ -1,8 +1,9 @@ |
||||
# Infrastructure Provisioning |
||||
# Prometheus |
||||
|
||||
Tools in this category are used to provision infrastructure in cloud providers. This includes DNS, networking, security policies, servers, containers, and a whole host of vendor-specific constructs. In this category, the use of cloud provider-agnostic tooling is strongly encouraged. These skills can be applied across most cloud providers, and the more specific domain-specific languages tend to have less reach. |
||||
Prometheus is an open-source systems monitoring and alerting toolkit designed for reliability and scalability. It features a multi-dimensional data model, a flexible query language (PromQL), and an efficient time series database. Prometheus collects metrics from configured targets at given intervals, evaluates rule expressions, displays results, and can trigger alerts when specified conditions are observed. It operates on a pull model, scraping metrics from HTTP endpoints, and supports service discovery for dynamic environments. Prometheus is particularly well-suited for monitoring microservices and containerized environments, integrating seamlessly with systems like Kubernetes. Its ecosystem includes various exporters for third-party systems and a built-in alert manager. Widely adopted in cloud-native architectures, Prometheus is a core component of modern observability stacks, often used alongside tools like Grafana for visualization. |
||||
|
||||
Learn more from the following resources: |
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Terraform Website](https://www.terraform.io/) |
||||
- [@article@Azure Resource Manager Documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview) |
||||
- [@official@Prometheus Website](https://prometheus.io/) |
||||
- [@video@Introduction to the Prometheus Monitoring System | Key Concepts and Features](https://www.youtube.com/watch?v=STVMGrYIlfg) |
||||
- [@feed@Explore top posts about Prometheus](https://app.daily.dev/tags/prometheus?ref=roadmapsh) |
||||
|
@ -1,10 +1,9 @@ |
||||
# Pulumi |
||||
|
||||
Pulumi is an open source Infrastructure as Code tool that can be written in TypeScript, JavaScript, Python, Go, .NET, Java, and YAML to model cloud infrastructure. |
||||
Pulumi is an open-source infrastructure as code (IaC) platform that allows developers to define and manage cloud resources using familiar programming languages like JavaScript, TypeScript, Python, Go, and .NET languages. It supports multiple cloud providers including AWS, Azure, Google Cloud, and Kubernetes. Pulumi's approach enables developers to use standard programming constructs such as loops, functions, and classes to create reusable and modular infrastructure code. It provides a unified workflow for deploying and managing resources across different cloud environments, offering features like state management, drift detection, and preview of changes before deployment. Pulumi's ecosystem includes a registry of pre-built components and integrations with CI/CD systems, making it a powerful tool for teams adopting DevOps practices and managing complex, multi-cloud infrastructures. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Pulumi Website](https://www.pulumi.com/) |
||||
- [@official@Official Documentation](https://www.pulumi.com/docs/) |
||||
- [@official@Pulumi Getting Started Guide](https://www.pulumi.com/docs/get-started/) |
||||
- [@video@Pulumi in Three Minutes](https://www.youtube.com/watch?v=Q8tw6YTD3ac) |
||||
- [@feed@Explore top posts about Pulumi](https://app.daily.dev/tags/pulumi?ref=roadmapsh) |
||||
|
@ -1,10 +1,9 @@ |
||||
# Puppet |
||||
|
||||
Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification. |
||||
Puppet is an open-source configuration management tool that automates the provisioning, configuration, and management of servers and applications across infrastructure. It uses a declarative, model-based approach where administrators define the desired state of systems using Puppet's domain-specific language or Ruby. Puppet agents running on managed nodes periodically check with a central Puppet server, applying necessary changes to reach the defined state. This ensures consistency across environments and facilitates scalable infrastructure management. Puppet supports a wide range of operating systems and cloud platforms, offering modules for common services and applications. With features like reporting, role-based access control, and integration with other DevOps tools, Puppet helps organizations implement infrastructure as code, enforce compliance, and streamline IT operations across diverse and complex environments. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Puppet Website](https://puppet.com/) |
||||
- [@official@Official Documentation](https://puppet.com/docs) |
||||
- [@official@Introduction to Puppet](https://puppet.com/docs/puppet/6/puppet_overview.html) |
||||
- [@course@Puppet Full Course | Learn Puppet Training](https://www.youtube.com/watch?v=Ns_tRKD20c4) |
||||
- [@feed@Explore top posts about Puppet](https://app.daily.dev/tags/puppet?ref=roadmapsh) |
||||
|
@ -1,13 +1,12 @@ |
||||
# Python |
||||
|
||||
Python is a multi-paradigm language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways. Python is frequently recommended as the first language new coders should learn, because of its focus on readability, consistency, and ease of use. This comes with some downsides, as the language is not especially performant in most production tasks. |
||||
Python is a high-level, interpreted programming language known for its simplicity, readability, and versatility. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python's extensive standard library and vast ecosystem of third-party packages make it suitable for a wide range of applications, from web development and data analysis to artificial intelligence and scientific computing. Its clean syntax and dynamic typing allow for rapid development and prototyping. Python's "batteries included" philosophy provides rich built-in functionalities, while its cross-platform compatibility ensures code portability. With strong community support and continuous development, Python has become one of the most popular programming languages, widely used in academia, industry, and open-source projects for tasks ranging from simple scripting to complex software development. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@roadmap@Visit Dedicated Python Roadmap](https://roadmap.sh/python) |
||||
- [@official@Python Website](https://www.python.org/) |
||||
- [@official@Python Getting Started](https://www.python.org/about/gettingstarted/) |
||||
- [@article@Automate the Boring Stuff](https://automatetheboringstuff.com/) |
||||
- [@article@W3Schools - Python Tutorial](https://www.w3schools.com/python/) |
||||
- [@article@Python Crash Course](https://ehmatthes.github.io/pcc/) |
||||
- [@video@Python Full Course for free](https://www.youtube.com/watch?v=ix9cRaBkVe0) |
||||
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh) |
||||
|
@ -1,14 +1,9 @@ |
||||
# Reverse Proxy |
||||
|
||||
A Reverse Proxy server is a type of proxy server that typically sits behind the firewall in a private network and directs client requests to the appropriate backend server. It provides an additional level of security by hiding the server related details like `IP Address` to clients. It is also known as **server side proxy**. |
||||
|
||||
**Common Uses:** |
||||
|
||||
- Load balancing |
||||
- Web acceleration |
||||
- Security and anonymity |
||||
A reverse proxy is a server that sits between client devices and backend servers, intercepting requests from clients and forwarding them to appropriate backend servers. It acts on behalf of the servers, providing benefits such as load balancing, caching, SSL termination, and security. Reverse proxies can distribute incoming traffic across multiple servers to improve performance and reliability, cache frequently requested content to reduce server load, handle SSL encryption and decryption to offload this task from backend servers, and provide an additional layer of security by hiding server details. Common uses include improving web application performance, enabling microservices architectures, and enhancing security in web hosting environments. Popular reverse proxy software includes NGINX, HAProxy, and Apache with mod_proxy. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@What is Reverse Proxy?](https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy/) |
||||
- [@article@NGINX documentation](https://www.nginx.com/resources/glossary/reverse-proxy-server/) |
||||
- [@video@Proxy vs Reverse Proxy (Real-world Examples)](https://www.youtube.com/watch?v=4NB0NDtOwIQ) |
||||
|
@ -1,15 +1,10 @@ |
||||
# RHEL / Derivatives |
||||
|
||||
Red Hat Enterprise Linux (RHEL) is a popular distribution of the Linux operating system that is designed for enterprise-level use. It is developed and maintained by Red Hat, Inc., and it is available under a subscription-based model. |
||||
|
||||
There are several distributions of Linux that are based on RHEL, or that have been derived from RHEL in some way. These distributions are known as RHEL derivatives. Some examples of RHEL derivatives include: AlmaLinux, CentOS, CloudLinux, Oracle Linux, and Scientific Linux. |
||||
|
||||
RHEL derivatives are often used in enterprise environments because they offer the stability and reliability of RHEL, but with the added benefit of being free or lower-cost alternatives. |
||||
Red Hat Enterprise Linux (RHEL) is a popular distribution of the Linux operating system that is designed for enterprise-level use. It is developed and maintained by Red Hat, Inc., and it is available under a subscription-based model. There are several distributions of Linux that are based on RHEL, or that have been derived from RHEL in some way. These distributions are known as RHEL derivatives. Some examples of RHEL derivatives include: AlmaLinux, CentOS, CloudLinux, Oracle Linux, and Scientific Linux. RHEL derivatives are often used in enterprise environments because they offer the stability and reliability of RHEL, but with the added benefit of being free or lower-cost alternatives. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@article@Red Hat Enterprise Linux Website](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) |
||||
- [@article@RHEL Documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/) |
||||
- [@article@RHEL Getting Started Guides](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/get-started) |
||||
- [@article@What is Red Hat Enterprise Linux (RHEL) - Red Hat](https://www.redhat.com/en/topics/linux/what-is-rhel) |
||||
- [@video@What is Red Hat Enterprise Linux?](https://www.youtube.com/watch?v=HEBvdSI0wGQ) |
||||
- [@article@Learn Linux 101](https://developer.ibm.com/series/learn-linux-101/) |
||||
|
@ -1,9 +1,10 @@ |
||||
# Ruby |
||||
|
||||
Ruby is a high-level, interpreted programming language that blends Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby focuses on simplicity and productivity along with a syntax that reads and writes naturally. Ruby supports procedural, object-oriented and functional programming and is dynamically typed. |
||||
Ruby is a dynamic, object-oriented programming language known for its simplicity and productivity. Created by Yukihiro Matsumoto, Ruby emphasizes the principle of "least astonishment," aiming for natural, easy-to-read syntax. It features automatic memory management, dynamic typing, and support for multiple programming paradigms including functional and imperative programming. Ruby's flexibility and expressive nature make it popular for web development, particularly with the Ruby on Rails framework. It excels in text processing, scripting, and rapid prototyping. Ruby's extensive standard library and package manager (RubyGems) provide a rich ecosystem of third-party libraries. While not as performant as some compiled languages, Ruby's focus on developer happiness and productivity has made it a favorite in startups and for building web applications quickly. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@Ruby Website](https://www.ruby-lang.org/en/) |
||||
- [@official@Learn Ruby in 20 minutes](https://www.ruby-lang.org/en/documentation/quickstart/) |
||||
- [@video@Ruby Programming Crash Course](https://www.youtube.com/watch?v=w9yNsTAp-Mg) |
||||
- [@feed@Explore top posts about Ruby](https://app.daily.dev/tags/ruby?ref=roadmapsh) |
||||
|
@ -1,14 +1,12 @@ |
||||
# Rust |
||||
|
||||
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection. |
||||
Rust is a systems programming language that focuses on safety, concurrency, and performance. Developed by Mozilla Research, Rust combines low-level control over system resources with high-level abstractions, preventing common programming errors like null or dangling pointer references at compile-time. It features a borrow checker for managing memory and preventing data races, making it ideal for building reliable and efficient software. Rust's zero-cost abstractions, pattern matching, and trait-based generics offer powerful tools for expressing complex ideas clearly. While primarily used for systems programming, web assembly, and game development, Rust's growing ecosystem supports various domains. Its emphasis on memory safety without sacrificing performance makes it increasingly popular for developing secure, high-performance applications in fields ranging from operating systems to web services. |
||||
|
||||
Visit the following resources to learn more: |
||||
|
||||
- [@official@The Rust Programming Language - online book](https://doc.rust-lang.org/book/) |
||||
- [@official@Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html) |
||||
- [@video@The Rust Programming Book - Video Version](https://youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8) |
||||
- [@article@Comprehensive Rust by Google - Learn Rust in 4 Days](https://google.github.io/comprehensive-rust/) |
||||
- [@article@Microsoft Learn Course](https://learn.microsoft.com/en-us/training/paths/rust-first-steps/) |
||||
- [@article@Quick Rust Guide](https://sivanaikk.github.io/rust/) |
||||
- [@article@Rust Katas - Small, interactive Rust exercises](https://rustlings.cool/) |
||||
- [@video@The Rust Programming Book - Video Version](https://youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8) |
||||
- [@video@Full Crash Rust Tutorial for Beginners](https://www.youtube.com/watch?v=R33h77nrMqc&list=PLPoSdR46FgI412aItyJhj2bF66cudB6Qs) |
||||
- [@feed@Explore top posts about Rust](https://app.daily.dev/tags/rust?ref=roadmapsh) |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue