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>
pull/7026/head^2
dsh 4 weeks ago committed by GitHub
parent 89bea259f9
commit f344571ce4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      src/data/roadmaps/devops/content/alibaba-cloud@YUJf-6ccHvYjL_RzufQ-G.md
  2. 7
      src/data/roadmaps/devops/content/ansible@h9vVPOmdUSeEGVQQaSTH5.md
  3. 3
      src/data/roadmaps/devops/content/apache@0_GMTcMeZv3A8dYkHRoW7.md
  4. 3
      src/data/roadmaps/devops/content/application-monitoring@wNguM6-YEznduz3MgBCYo.md
  5. 7
      src/data/roadmaps/devops/content/argocd@i-DLwNXdCUUug6lfjkPSy.md
  6. 14
      src/data/roadmaps/devops/content/artifact-management@zuBAjrqQPjj-0DHGjCaqT.md
  7. 8
      src/data/roadmaps/devops/content/artifactory@C_sFyIsIIpriZlovvcbSE.md
  8. 5
      src/data/roadmaps/devops/content/availability@JCe3fcOf-sokTJURyX1oI.md
  9. 3
      src/data/roadmaps/devops/content/aws-cdk@XA__697KgofsH28coQ-ma.md
  10. 9
      src/data/roadmaps/devops/content/aws-ecs--fargate@FE2h-uQy6qli3rKERci1j.md
  11. 4
      src/data/roadmaps/devops/content/aws-lambda@UfQrIJ-uMNJt9H_VM_Q5q.md
  12. 16
      src/data/roadmaps/devops/content/aws@1ieK6B_oqW8qOC6bdmiJe.md
  13. 3
      src/data/roadmaps/devops/content/azure-functions@mlrlf2McMI7IBhyEdq0Nf.md
  14. 7
      src/data/roadmaps/devops/content/azure@ctor79Vd7EXDMdrLyUcu_.md
  15. 8
      src/data/roadmaps/devops/content/bash@syBIAL1mHbJLnTBoSxXI7.md
  16. 11
      src/data/roadmaps/devops/content/bitbucket@Z7SsBWgluZWr9iWb2e9XO.md
  17. 5
      src/data/roadmaps/devops/content/caching-server@R4XSY4TSjU1M7cW66zUqJ.md
  18. 4
      src/data/roadmaps/devops/content/caddy@54UZNO2q8M5FiA_XbcU_D.md
  19. 7
      src/data/roadmaps/devops/content/chef@kv508kxzUj_CjZRb-TeRv.md
  20. 8
      src/data/roadmaps/devops/content/ci--cd-tools@aQJaouIaxIJChM-40M3HQ.md
  21. 5
      src/data/roadmaps/devops/content/circle-ci@1-JneOQeGhox-CKrdiquq.md
  22. 6
      src/data/roadmaps/devops/content/cloud-design-patterns@Qc0MGR5bMG9eeM5Zb9PMk.md
  23. 5
      src/data/roadmaps/devops/content/cloud-smith@vsmE6EpCc2DFGk1YTbkHS.md
  24. 5
      src/data/roadmaps/devops/content/cloud-specific-tools@yQ4d2uiROZYr950cjYnQE.md
  25. 6
      src/data/roadmaps/devops/content/cloudflare@l8VAewSEXzoyqYFhoplJj.md
  26. 6
      src/data/roadmaps/devops/content/cloudformation@TgBb4aL_9UkyU36CN4qvS.md
  27. 6
      src/data/roadmaps/devops/content/configuration-management@V9sOxlNOyRp0Mghl7zudv.md
  28. 2
      src/data/roadmaps/devops/content/consul@OXOTm3nz6o44p50qd0brN.md
  29. 4
      src/data/roadmaps/devops/content/contabo@eJZdjheptmiwKsVokt7Io.md
  30. 4
      src/data/roadmaps/devops/content/container-orchestration@Yq8kVoRf20aL_o4VZU5--.md
  31. 4
      src/data/roadmaps/devops/content/containers@CQhUflAcv1lhBnmDY0gaz.md
  32. 5
      src/data/roadmaps/devops/content/data-management@5FN7iva4DW_lv-r1tijd8.md
  33. 0
      src/data/roadmaps/devops/content/datadog@BHny2Emf96suhAlltiEro.md
  34. 6
      src/data/roadmaps/devops/content/digital-ocean@-h-kNVDNzZYnQAR_4lfXc.md
  35. 3
      src/data/roadmaps/devops/content/dmarc@5vUKHuItQfkarp7LtACvX.md
  36. 3
      src/data/roadmaps/devops/content/dns@Vu955vdsYerCG8G6suqml.md
  37. 3
      src/data/roadmaps/devops/content/docker-swarm@VD24HC9qJOC42lbpJ-swC.md
  38. 15
      src/data/roadmaps/devops/content/docker@P0acFNZ413MSKElHqCxr3.md
  39. 3
      src/data/roadmaps/devops/content/domain-keys@RYCD78msIR2BPJoIP71aj.md
  40. 4
      src/data/roadmaps/devops/content/drone@TsXFx1wWikVBVoFUUDAMx.md
  41. 9
      src/data/roadmaps/devops/content/elastic-stack@K_qLhK2kKN_uCq7iVjqph.md
  42. 2
      src/data/roadmaps/devops/content/envoy@epLLYArR16HlhAS4c33b4.md
  43. 7
      src/data/roadmaps/devops/content/fluxcd@6gVV_JUgKgwJb4C8tHZn7.md
  44. 9
      src/data/roadmaps/devops/content/forward-proxy@F93XnRj0BLswJkzyRggLS.md
  45. 6
      src/data/roadmaps/devops/content/freebsd@PiPHFimToormOPl1EtEe8.md
  46. 7
      src/data/roadmaps/devops/content/ftp--sftp@RDLmML_HS2c8J4D_U_KYe.md
  47. 3
      src/data/roadmaps/devops/content/gcp-functions@JXsctlXUUS1ie8nNEgIk9.md
  48. 3
      src/data/roadmaps/devops/content/git@uyDm1SpOQdpHjq9zBAdck.md
  49. 7
      src/data/roadmaps/devops/content/github-actions@JnWVCS1HbAyfCJzGt-WOH.md
  50. 12
      src/data/roadmaps/devops/content/github@ot9I_IHdnq2yAMffrSrbN.md
  51. 8
      src/data/roadmaps/devops/content/gitlab-ci@2KjSLLVTvl2G2KValw7S7.md
  52. 3
      src/data/roadmaps/devops/content/gitlab@oQIB0KE0BibjIYmxrpPZS.md
  53. 7
      src/data/roadmaps/devops/content/gitops@-INN1qTMLimrZgaSPCcHj.md
  54. 9
      src/data/roadmaps/devops/content/gke--eks--aks@XbrWlTyH4z8crSHkki2lp.md
  55. 4
      src/data/roadmaps/devops/content/go@npnMwSDEK2aLGgnuZZ4dO.md
  56. 5
      src/data/roadmaps/devops/content/google-cloud@zYrOxFQkl3KSe67fh3smD.md
  57. 5
      src/data/roadmaps/devops/content/grafana@niA_96yR7uQ0sc6S_OStf.md
  58. 4
      src/data/roadmaps/devops/content/graylog@s_kss4FJ2KyZRdcKNHK2v.md
  59. 5
      src/data/roadmaps/devops/content/heroku@FaPf567JGRAg1MBlFj9Tk.md
  60. 4
      src/data/roadmaps/devops/content/hetzner@I327qPYGMcdayRR5WT0Ek.md
  61. 4
      src/data/roadmaps/devops/content/http@ke-8MeuLx7AS2XjSsPhxe.md
  62. 5
      src/data/roadmaps/devops/content/https@AJO3jtHvIICj8YKaSXl0U.md
  63. 2
      src/data/roadmaps/devops/content/iis@5iJOE1QxMvf8BQ_8ssiI8.md
  64. 6
      src/data/roadmaps/devops/content/imaps@WMuXqa4b5wyRuYAQKQJRj.md
  65. 5
      src/data/roadmaps/devops/content/infrastructure-monitoring@qqRLeTpuoW64H9LvY0U_w.md
  66. 1
      src/data/roadmaps/devops/content/istio@XsSnqW6k2IzvmrMmJeU6a.md
  67. 3
      src/data/roadmaps/devops/content/jaeger@8rd7T5ahK2I_zh5co-IF-.md
  68. 8
      src/data/roadmaps/devops/content/javascript--nodejs@QCdemtWa2mE78poNXeqzr.md
  69. 4
      src/data/roadmaps/devops/content/jenkins@dUapFp3f0Rum-rf_Vk_b-.md
  70. 8
      src/data/roadmaps/devops/content/kubernetes@hIBeTUiAI3zwUY6NgAO-A.md
  71. 2
      src/data/roadmaps/devops/content/linkerd@hhoSe4q1u850PgK62Ubau.md
  72. 1
      src/data/roadmaps/devops/content/load-balancer@i8Sd9maB_BeFurULrHXNq.md
  73. 3
      src/data/roadmaps/devops/content/loki@w2eCgBC-ydMHSxh7LMti8.md
  74. 3
      src/data/roadmaps/devops/content/lxc@qYRJYIZsmf-inMqKECRkI.md
  75. 2
      src/data/roadmaps/devops/content/netbsd@haiYSwNt3rjiiwCDszPk1.md
  76. 2
      src/data/roadmaps/devops/content/netlify@hCKODV2b_l2uPit0YeP1M.md
  77. 15
      src/data/roadmaps/devops/content/networking--protocols@w5d24Sf8GDkLDLGUPxzS9.md
  78. 69
      src/data/roadmaps/devops/content/networking-tools@OaqKLZe-XnngcDhDzCtRt.md
  79. 6
      src/data/roadmaps/devops/content/new-relic@pk76Us6z8LoX3f0mhnCyR.md
  80. 2
      src/data/roadmaps/devops/content/nexus@ootuLJfRXarVvm3J1Ir11.md
  81. 2
      src/data/roadmaps/devops/content/nginx@ukOrSeyK1ElOt9tTjCkfO.md
  82. 6
      src/data/roadmaps/devops/content/openbsd@97cJYKqv7CPPUXkKNwM4x.md
  83. 4
      src/data/roadmaps/devops/content/opentelemetry@K81bmtgnB1gfhYdi3TB5a.md
  84. 4
      src/data/roadmaps/devops/content/operating-system@qe84v529VbCyydl0BKFk2.md
  85. 2
      src/data/roadmaps/devops/content/osi-model@QZ7bkY-MaEgxYoPDP3nma.md
  86. 3
      src/data/roadmaps/devops/content/papertrail@cjjMZdyLgakyVkImVQTza.md
  87. 23
      src/data/roadmaps/devops/content/performance-monitoring@gIEQDgKOsoEnSv8mpEzGH.md
  88. 7
      src/data/roadmaps/devops/content/pop3s@fzO6xVTBxliu24f3W5zaU.md
  89. 3
      src/data/roadmaps/devops/content/power-shell@z6IBekR8Xl-6f8WEb05Nw.md
  90. 26
      src/data/roadmaps/devops/content/process-monitoring@x-JWvG1iw86ULL9KrQmRu.md
  91. 5
      src/data/roadmaps/devops/content/programming-language@v5FGKQc-_7NYEsWjmTEuq.md
  92. 5
      src/data/roadmaps/devops/content/prometheus@NiVvRbCOCDpVvif48poCo.md
  93. 11
      src/data/roadmaps/devops/content/provisioning@1oYvpFG8LKT1JD6a_9J0m.md
  94. 5
      src/data/roadmaps/devops/content/pulumi@O0xZ3dy2zIDbOetVrgna6.md
  95. 5
      src/data/roadmaps/devops/content/puppet@yP1y8U3eblpzbaLiCGliU.md
  96. 5
      src/data/roadmaps/devops/content/python@TwVfCYMS9jSaJ6UyYmC-K.md
  97. 9
      src/data/roadmaps/devops/content/reverse-proxy@eGF7iyigl57myx2ejpmNC.md
  98. 9
      src/data/roadmaps/devops/content/rhel--derivatives@7mS6Y_BOAHNgM3OjyFtZ9.md
  99. 3
      src/data/roadmaps/devops/content/ruby@PuXAPYA0bsMgwcnlwJxQn.md
  100. 8
      src/data/roadmaps/devops/content/rust@eL62bKAoJCMsu7zPlgyhy.md
  101. Some files were not shown because too many files have changed in this diff Show More

@ -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)

@ -2,9 +2,8 @@
Availability is the percentage of time that a system is functional and working as intended, generally referred to as uptime. Availability can be affected by hardware or software errors, infrastructure problems, malicious attacks, and system load. Many cloud providers typically offer their users a service level agreement (SLA) that specifies the exact percentages of promised uptime/downtime. Availability is related to reliability in this sense. For example, a company might promise 99.99% uptime for their services.
To achieve high levels of uptime, it is important to eliminate single points of failure so that a single device failure does not disrupt the entire service. High availability in the cloud is often achieved by creating clusters. Clusters are groups of devices (such as servers) that all have access to the same shared storage and function as one single server to provide uninterrupted availability. This way, if one server goes down, the others are able to pick up the load until it comes back online. Clusters can range from two servers to even multiple buildings of servers.
Visit the following resources to learn more:
- [@article@How High Availability Works in the Cloud](https://codster.io/en/blog/high-availability-in-the-cloud/)
- [@article@Defining Availability, Maintainability and Reliability in SRE](https://devops.com/defining-availability-maintainability-and-reliability-in-sre/)
- [@article@Techniques for Achieving High Availability](https://www.sqlservercentral.com/articles/cloud-computing-basics-achieving-high-availability-2)
- [@video@SLIs, SLOs, SLAs, oh my! (class SRE implements DevOps)](https://www.youtube.com/watch?v=tEylFyxbDLE)

@ -6,7 +6,6 @@ Visit the following resources to learn more:
- [@official@AWS CDK Website](https://aws.amazon.com/cdk/)
- [@official@Official Documentation](https://docs.aws.amazon.com/cdk/index.html)
- [@official@What is the AWS CDK?](https://docs.aws.amazon.com/cdk/v2/guide/home.html)
- [@official@AWS SDK Getting Started Guide](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
- [@course@AWS CDK Crash Course for Beginners](https://www.youtube.com/watch?v=D4Asp5g4fp8)
- [@opensource@AWS CDK Examples](https://github.com/aws-samples/aws-cdk-examples)
- [@feed@Explore top posts about AWS](https://app.daily.dev/tags/aws?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)

@ -6,11 +6,12 @@ There are several cloud-specific tools for securely storing and managing secrets
- Google Cloud Secret Manager: Google Cloud Secret Manager is a service provided by Google Cloud for securely storing and managing secrets. It provides features such as automatic secret rotation and integration with other Google Cloud services.
- Azure Key Vault: Azure Key Vault is a service provided by Microsoft Azure for securely storing and managing secrets. It provides features such as automatic secret rotation and integration with other Azure services.
These cloud-specific tools are designed to be used in conjunction with cloud-based applications and infrastructure and are typically integrated with other cloud services, such as container orchestration platforms and continuous delivery pipelines.
Visit the following resources to learn more:
- [@article@AWS Secrets Manager - Amazon Web Services](https://aws.amazon.com/secrets-manager/)
- [@article@Google Cloud Secret Manager - Google Cloud](https://cloud.google.com/secret-manager)
- [@article@Azure Key Vault - Microsoft Azure](https://azure.microsoft.com/en-us/services/key-vault/)
- [@video@AWS Secrets Manager Service Overview with Demo](https://www.youtube.com/watch?v=GwVWWn2ZKj0)
- [@video@Google Cloud Secret Manager](https://www.youtube.com/watch?v=nsrADMrp4BI)
- [@video@What is Azure Key Vault Used For?](https://www.youtube.com/watch?v=pnOFP_oijxw)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)

@ -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)

@ -5,4 +5,6 @@ Consul is a service mesh solution providing a full featured control plane with s
Visit the following resources to learn more:
- [@official@What is Consul?](https://www.consul.io/docs/intro)
- [@video@Consul Service Mesh Tutorial for Beginners](https://www.youtube.com/watch?v=s3I1kKKfjtQ)
- [@opensource@Consul Guides](https://github.com/hashicorp/consul-guides)
- [@feed@Explore top posts about HashiCorp](https://app.daily.dev/tags/hashicorp?ref=roadmapsh)

@ -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,8 +1,6 @@
# Containers
Containers are a construct in which [cgroups](https://en.wikipedia.org/wiki/Cgroups), [namespaces](https://en.wikipedia.org/wiki/Linux_namespaces), and [chroot](https://en.wikipedia.org/wiki/Chroot) are used to fully encapsulate and isolate a process. This encapsulated process, called a container image, shares the kernel of the host with other containers, allowing containers to be significantly smaller and faster than virtual machines.
These images are designed for portability, allowing for full local testing of a static image, and easy deployment to a container management platform.
Containers are a construct in which cgroups, namespaces, and chroot are used to fully encapsulate and isolate a process. This encapsulated process, called a container image, shares the kernel of the host with other containers, allowing containers to be significantly smaller and faster than virtual machines, These images are designed for portability, allowing for full local testing of a static image, and easy deployment to a container management platform.
Visit the following resources to learn more:

@ -1,8 +1,6 @@
# Containers
Containers are a construct in which [cgroups](https://en.wikipedia.org/wiki/Cgroups), [namespaces](https://en.wikipedia.org/wiki/Linux_namespaces), and [chroot](https://en.wikipedia.org/wiki/Chroot) are used to fully encapsulate and isolate a process. This encapsulated process, called a container image, shares the kernel of the host with other containers, allowing containers to be significantly smaller and faster than virtual machines.
These images are designed for portability, allowing for full local testing of a static image, and easy deployment to a container management platform.
Containers are lightweight, portable, and isolated environments that package applications and their dependencies, enabling consistent deployment across different computing environments. They encapsulate software code, runtime, system tools, libraries, and settings, ensuring that the application runs the same regardless of where it's deployed. Containers share the host operating system's kernel, making them more efficient than traditional virtual machines. Popular containerization platforms like Docker provide tools for creating, distributing, and running containers. This technology supports microservices architectures, simplifies application deployment, improves scalability, and enhances DevOps practices by streamlining the development-to-production pipeline and enabling more efficient resource utilization.
Visit the following resources to learn more:

@ -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)

@ -4,9 +4,8 @@ A Docker Swarm is a group of either physical or virtual machines that are runnin
Visit the following resources to learn more:
- [@official@Official Website](https://www.docker.com/)
- [@official@Docker Swarm Documentation](https://docs.docker.com/engine/swarm/)
- [@video@Docker Swarm Tutorial for Beginners](https://www.youtube.com/watch?v=Tm0Q5zr3FL4)
- [@video@Docker Swarm | Introduction | Step By Step Examples](https://www.youtube.com/watch?v=Xaea-XnJTJU)
- [@article@Tutorial: Manage Docker Swarm with Portainer](https://thenewstack.io/tutorial-manage-docker-swarm-with-portainer/)
- [@article@Tutorial: Create a Docker Swarm with Persistent Storage Using GlusterFS](https://thenewstack.io/tutorial-create-a-docker-swarm-with-persistent-storage-using-glusterfs/)
- [@feed@Explore top posts about Docker](https://app.daily.dev/tags/docker?ref=roadmapsh)

@ -1,19 +1,6 @@
# Docker
Docker is a platform for working with containerized applications. Among its features are a daemon and client for managing and interacting with containers, registries for storing images, and a desktop application to package all these features together. Containers are lightweight and portable, providing a consistent and reliable way to deploy applications across different environments.
## History
Docker was founded in 2010 by *Solomon Hykes*, and the first version of Docker was released in 2013. Docker became an open-source project in 2014, and since then, it has gained massive popularity in the software development industry.
## Key Features
Docker provides several key features that make it an attractive choice for developers:
- **Lightweight**: Containers are much lighter than virtual machines, making them faster to spin up and down.
- **Portable**: Containers are portable across different environments, including Windows, Linux, and macOS.
- **Isolated**: Containers provide a high level of isolation between applications, ensuring that each application runs independently without interfering with others.
- **Efficient**: Containers use fewer resources than virtual machines, making them more efficient.
Docker is an open-source platform that automates the deployment, scaling, and management of applications using containerization technology. It enables developers to package applications with all their dependencies into standardized units called containers, ensuring consistent behavior across different environments. Docker provides a lightweight alternative to full machine virtualization, using OS-level virtualization to run multiple isolated systems on a single host. Its ecosystem includes tools for building, sharing, and running containers, such as Docker Engine, Docker Hub, and Docker Compose. Docker has become integral to modern DevOps practices, facilitating microservices architectures, continuous integration/deployment pipelines, and efficient resource utilization in both development and production environments.
Visit the following resources to learn more:

@ -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)

@ -5,6 +5,6 @@ Originally created at Lyft, Envoy is a high-performance data plane designed for
Visit the following resources to learn more:
- [@official@Envoy Website](https://www.envoyproxy.io/)
- [@official@Envoy Documentation](https://www.envoyproxy.io/docs/envoy/latest/start/start)
- [@opensourece@envoyproxy/envoy](https://github.com/envoyproxy/envoy)
- [@article@What is Envoy?](https://www.envoyproxy.io/docs/envoy/latest/intro/what_is_envoy)
- [@feed@Explore top posts about Envoy](https://app.daily.dev/tags/envoy?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,9 +1,10 @@
# Git
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is a distributed version control system designed to track changes in source code during software development. It allows multiple developers to work on the same project simultaneously, maintaining a complete history of modifications. Git features local repositories on each developer's machine, enabling offline work and fast operations. It supports non-linear development through branching and merging, facilitating parallel work streams. Git's distributed nature enhances collaboration, backup, and experimentation. Key concepts include commits, branches, merges, and remote repositories. With its speed, flexibility, and robust branching and merging capabilities, Git has become the standard for version control in modern software development, powering platforms like GitHub and GitLab.
Visit the following resources to learn more:
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
- [@article@Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git)
- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet)

@ -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)

@ -2,18 +2,21 @@
## GKE - Google Kubernetes Engine
GKE is a managed Kubernetes service that lets you deploy, manage, and scale containerized applications on Google Cloud.
Google Kubernetes Engine (GKE) is a managed Kubernetes service provided by Google Cloud Platform. It allows organizations to deploy, manage, and scale containerized applications using Kubernetes orchestration. GKE automates cluster management tasks, including upgrades, scaling, and security patches, while providing integration with Google Cloud services. It offers features like auto-scaling, load balancing, and private clusters, enabling developers to focus on application development rather than infrastructure management.
## EKS - Amazon Elastic Kubernetes Service
Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed Kubernetes service from AWS.
Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes platform provided by AWS. It simplifies the deployment, management, and scaling of containerized applications using Kubernetes. EKS automatically handles the Kubernetes control plane, ensuring high availability and security patches. It integrates seamlessly with other AWS services, supports both EC2 and Fargate launch types, and offers features like managed node groups and cluster autoscaling, enabling organizations to run Kubernetes workloads efficiently without the operational overhead of managing the Kubernetes infrastructure.
## AKS - Azure Kubernetes Service
Azure Kubernetes Service (AKS) manages your hosted Kubernetes environment, making it quick and easy to deploy and manage containerized applications without container orchestration expertise.
Azure Kubernetes Service (AKS) is Microsoft's managed Kubernetes offering in the Azure cloud platform. It simplifies the deployment, management, and scaling of containerized applications using Kubernetes. AKS handles critical tasks such as health monitoring and maintenance of the Kubernetes control plane, while providing seamless integration with Azure services like Azure Active Directory, Azure Monitor, and Azure Container Registry. It offers features such as automatic scaling, Azure DevOps integration, and support for Windows containers, enabling organizations to focus on application development and innovation rather than cluster management.
Visit the following resources to learn more:
- [@official@GKE](https://cloud.google.com/kubernetes-engine)
- [@official@EKS](https://aws.amazon.com/eks/)
- [@official@AKS](https://azure.microsoft.com/en-us/products/kubernetes-service/)
- [@video@AWS EKS Tutorial](https://www.youtube.com/watch?v=CukYk43agA4)
- [@video@What is Google Kubernetes Engine (GKE)?](https://www.youtube.com/watch?v=Rl5M1CzgEH4)
- [@video@AWS EKS Tutorial](https://www.youtube.com/watch?v=CukYk43agA4)

@ -1,6 +1,6 @@
# Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
Go, also known as Golang, is a statically typed, compiled programming language developed by Google. It emphasizes simplicity, efficiency, and built-in concurrency support. Go features fast compilation, garbage collection, and a robust standard library. Its syntax is clean and concise, promoting easy readability and maintainability. Go's goroutines and channels provide powerful tools for concurrent programming. The language is particularly well-suited for system programming, network services, and cloud-native applications. Go's efficient memory usage and quick execution make it popular for building scalable server-side applications and microservices. With its focus on simplicity and performance, Go has gained significant adoption in DevOps tooling, containerization technologies, and cloud infrastructure projects.
Visit the following resources to learn more:
@ -8,6 +8,6 @@ Visit the following resources to learn more:
- [@official@A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [@official@Go Reference Documentation](https://go.dev/doc/)
- [@article@Go by Example - annotated example programs](https://gobyexample.com/)
- [@article@W3Schools Go Tutorial](https://www.w3schools.com/go/)
- [@article@Making a RESTful JSON API in Go](https://thenewstack.io/make-a-restful-json-api-go/)
- [@video@Go in 100 Seconds](https://www.youtube.com/watch?v=446E-r0rXHI)
- [@feed@Explore top posts about Golang](https://app.daily.dev/tags/golang?ref=roadmapsh)

@ -5,9 +5,6 @@ Google Cloud is Google's cloud computing service offering, providing over 150 pr
Visit the following resources to learn more:
- [@official@Google Cloud Website](https://cloud.google.com/)
- [@official@Official Documentation](https://cloud.google.com/docs)
- [@official@Google Cloud Get Started Guide](https://cloud.google.com/docs/get-started/)
- [@course@Coursera Complete Course for Google Cloud](https://www.coursera.org/professional-certificates/cloud-engineering-gcp#courses)
- [@video@Google Cloud by Edureka on You-Tube](https://www.youtube.com/watch?v=IUU6OR8yHCc)
- [@video@Google Cloud Platform Full Course 2023](https://www.youtube.com/watch?v=fZOz13joN0o)
- [@article@5 Tips to Become a Google Cloud Certified Professional Architect](https://thenewstack.io/5-tips-to-become-a-google-cloud-certified-professional-architect/)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?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,8 +1,6 @@
# HTTPS
HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website.
`HTTPS = HTTP + SSL/TLS`
HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP, encrypting data exchanged between a client and a server. It uses SSL/TLS protocols to provide authentication, data integrity, and confidentiality. HTTPS prevents eavesdropping, tampering, and man-in-the-middle attacks by encrypting all communications. It uses digital certificates to verify the identity of websites, enhancing trust and security. HTTPS is crucial for protecting sensitive information like login credentials and financial data. It has become the standard for secure web communication, with major browsers marking non-HTTPS sites as "not secure." HTTPS also provides SEO benefits and is essential for many modern web features and progressive web applications.
Visit the following resources to learn more:
@ -10,3 +8,4 @@ Visit the following resources to learn more:
- [@article@Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [@article@Enabling HTTPS on Your Servers](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https)
- [@article@How HTTPS works (comic)](https://howhttps.works/)
- [@video@Does HTTPS REALLY Keep You Safe?](https://www.youtube.com/watch?v=25mXesOV9-8)

@ -1,6 +1,6 @@
# MS IIS
Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web.
Microsoft Internet Information Services (IIS) is a flexible, secure and manageable Web server for hosting anything on the Web. It's an extensible web server created by Microsoft for use with Windows NT family. IIS supports HTTP, HTTPS, FTP, FTPS, SMTP and NNTP. It's been an integral part of the Windows NT family since Windows NT 4.0, and is included with Windows Server versions. IIS features a modular architecture, allowing administrators to customize server functionality. It supports various programming languages and frameworks, particularly ASP.NET. IIS provides tools for web application deployment, security management, and performance optimization, making it a popular choice for hosting Windows-based web applications in enterprise environments.
Visit the following resources to learn more:

@ -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)

@ -5,4 +5,5 @@ Istio is an open source service mesh platform that provides a way to control how
Visit the following resources to learn more:
- [@article@What is Istio?](https://www.redhat.com/en/topics/microservices/what-is-istio)
- [@video@Istio Service Mesh Explained](https://www.youtube.com/watch?v=6zDrLvpfCK4)
- [@feed@Explore top posts about Istio](https://app.daily.dev/tags/istio?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)

@ -5,6 +5,6 @@ Linkerd is an open source service mesh designed to be deployed into a variety of
Visit the following resources to learn more:
- [@official@Linkerd Website](https://linkerd.io/)
- [@official@Linkerd Documentation](https://linkerd.io/2.11/overview/)
- [@article@What is Linkerd?](https://www.techtarget.com/searchitoperations/definition/Linkerd)
- [@video@What is the Linkerd service mesh?](https://www.youtube.com/watch?v=up3fKwXdEgc)
- [@feed@Explore top posts about Infrastructure](https://app.daily.dev/tags/infrastructure?ref=roadmapsh)

@ -6,3 +6,4 @@ Visit the following resources to learn more:
- [@article@What is Load Balancing?](https://www.nginx.com/resources/glossary/load-balancing/)
- [@article@Load Balancing concepts and algorithms](https://www.cloudflare.com/en-gb/learning/performance/what-is-load-balancing/)
- [@video@What is a Load Balancer?](https://www.youtube.com/watch?v=sCR3SAVdyCc)

@ -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,6 +1,6 @@
# NetBSD
NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.
NetBSD is a free, open-source Unix-like operating system descended from Berkeley Software Distribution (BSD). It's known for its high portability, supporting a wide range of hardware platforms from large-scale servers to embedded devices. NetBSD emphasizes clean design, well-written code, and adherence to standards. It features a modular kernel architecture, making it adaptable to various environments. NetBSD includes advanced features like kernel ASLR (Address Space Layout Randomization) for enhanced security. It's particularly popular in research environments, embedded systems, and among users who value system consistency across different hardware. While less common in desktop environments, NetBSD's focus on portability and clean code makes it a favorite for cross-platform development and specialized computing applications.
Visit the following resources to learn more:

@ -6,3 +6,5 @@ Visit the following resources to learn more:
- [@official@Official Documentation](https://docs.netlify.com/platform/primitives/#functions)
- [@article@Introducing Netlify Functions 2.0](https://www.netlify.com/blog/introducing-netlify-functions-2-0/)
- [@video@How to Deploy a Website on Netlify](https://www.youtube.com/watch?v=0P53S34zm44)
- [@feed@Daily.dev Netlify Feed](https://app.daily.dev/tags/netlify)

@ -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)

@ -3,6 +3,4 @@
The Nexus Repository Manager is a widely used repository manager software developed by Sonatype. It's designed to manage binary components such as Java libraries, Docker images, npm packages, NuGet packages, and more. Nexus Repository Manager allows organizations to store, manage, and distribute software components securely and efficiently.
- [@article@Repository Management Basics](https://learn.sonatype.com/courses/nxrm-admin-100/)
- [@article@Nexus Installation and Configuration](https://learn.sonatype.com/courses/nxrm-config-100/)
- [@article@Nexus Repository Security Essentials](https://learn.sonatype.com/courses/nxrm-sec-100/)
- [@article@Nexus Best Practices](https://help.sonatype.com/repomanager3/nexus-repository-best-practices)

@ -1,6 +1,6 @@
# Nginx
NGINX is a powerful web server and uses a non-threaded, event-driven architecture that enables it to outperform Apache if configured correctly. It can also do other important things, such as load balancing, HTTP caching, or be used as a reverse proxy.
NGINX is a high-performance, open-source web server, reverse proxy, and load balancer. Known for its efficiency in handling concurrent connections, NGINX uses an event-driven, asynchronous architecture that consumes minimal resources. It excels at serving static content, proxying requests to application servers, and load balancing across multiple backends. NGINX is widely used for its ability to improve website performance, scalability, and security. It supports various protocols including HTTP, HTTPS, SMTP, and WebSocket, and offers features like SSL/TLS termination, caching, and content compression. Popular in both small-scale and enterprise environments, NGINX is a key component in many modern web architectures, particularly in microservices and containerized deployments.
Visit the following resources to learn more:

@ -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,8 +1,6 @@
# Operating system
**An Operating system serves as a bridge between a computer's user and its hardware. An operating system's function is to offer a setting in which a user can conveniently and effectively run programmes.**
In simple terms we can say that and Operating System (OS) is an interface between a computer user and computer hardware.
An OS permits software programmes to communicate with a computer's hardware, The **kernel** is the name of Piece of software that houses the fundamental elements of **Operating System.**
Operating systems (OS) are fundamental software that manage computer hardware and software resources, providing common services for computer programs. They act as an intermediary between applications and hardware, handling tasks like memory management, process scheduling, file system management, and device control. Common desktop operating systems include Microsoft Windows, macOS, and various Linux distributions. Mobile devices typically run iOS or Android. Server environments often use Linux distributions like Ubuntu Server, Red Hat Enterprise Linux, or Windows Server. Each OS type offers distinct features, user interfaces, and compatibility with different software and hardware. Operating systems play a crucial role in system security, performance optimization, and providing a consistent user experience across diverse computing devices and environments.
Visit the following resources to learn more:

@ -1,6 +1,6 @@
# OSI Model
Open Systems Interconnection (OSI) model is a **conceptual** model consists of 7 layers, that was proposed to standardize the communication between devices over the network. It was the first standard model for network communications, adopted by all major computer and telecommunication companies in the early 1980s.
The OSI (Open Systems Interconnection) model is a conceptual framework that standardizes the functions of a telecommunication or computing system into seven abstraction layers. These layers, from bottom to top, are: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer serves a specific purpose in the process of data communication, with lower layers handling more hardware-oriented tasks and upper layers dealing with software and user-interface aspects. The model helps in understanding how data moves through a network, troubleshooting network issues, and designing network protocols and hardware. While not strictly adhered to in real-world implementations, the OSI model remains a valuable educational tool and reference point for network engineers and developers, providing a common language for discussing network operations and architecture.
Visit the following resources to learn more:

@ -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,27 +1,6 @@
# Performance Monitoring
There are many tools available to monitor the performance of your application. Some of the most popular are:
- `nmon` - A system monitor tool for Linux and AIX systems.
- `iostat` - A tool that reports CPU statistics and input/output statistics for devices, partitions and network filesystems.
- `sar` - A system monitor command used to report on various system loads, including CPU activity, memory/paging, device load, network.
- `vmstat` - A tool that reports virtual memory statistics.
Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition.
- [@article@nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command)
The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks.
- [@article@iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html)
Short for **S**ystem **A**ctivity **R**eport, `sar` is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system.
- [@article@SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html)
- [@article@SAR Man Page 2](https://linux.die.net/man/1/sar)
- [@article@Sar tutorial for beginners](https://linuxhint.com/sar_linux_tutorial/)
Short for **V**irtual **m**emory **stat**istic reporter, `vmstat` is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage.
Performance monitoring is the systematic observation and measurement of an IT system's operational efficiency and effectiveness. It involves collecting, analyzing, and reporting on key performance indicators (KPIs) across various components including applications, networks, servers, and databases. This process uses specialized tools to track metrics such as response time, throughput, resource utilization, and error rates. Performance monitoring helps identify bottlenecks, predict potential issues, and optimize system resources. It's crucial for maintaining service level agreements (SLAs), ensuring user satisfaction, and supporting capacity planning. In modern IT environments, performance monitoring often incorporates real-time analytics, AI-driven insights, and automated alerting systems, enabling proactive management of complex, distributed systems and supporting continuous improvement in IT operations and service delivery.
Learn more from the following resources:

@ -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,30 +1,6 @@
# Process Monitoring
A process is an instance of a computer program that is being executed. Each process is identified by a unique number called a process ID (PID). A process is a running program. The operating system tracks processes through the use of process identifiers. A process identifier (PID) is a unique number that identifies a specific process. A PID is automatically assigned to each process when it is created on the system.
There are several linux commands that can be used to monitor processes. The most common ones are:
- `ps` - report a snapshot of the current processes.
- `top` - display Linux processes.
- `htop` - interactive process viewer.
- `atop` - advanced interactive monitor to view the load on a Linux system.
- `lsof` - list open files.
The `ps` utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals.
- [@article@ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html)
- [@article@ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html)
- [@video@Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I)
The `top` program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available.
- [@article@top Documentation](https://man7.org/linux/man-pages/man1/top.1.html)
- [@article@top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37)
htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once.
- [@article@htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html)
- [@article@htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/)
Process monitoring is the continuous observation and analysis of processes within an IT system or organization to ensure optimal performance, efficiency, and compliance. It involves tracking key metrics, resource utilization, and behaviors of individual processes or applications running on a system. This practice helps identify anomalies, bottlenecks, or potential issues before they impact overall system performance or user experience. Process monitoring tools typically provide real-time data on CPU usage, memory consumption, I/O operations, and thread activity. They often include features for alerting, logging, and visualization of process data. In modern IT environments, process monitoring is crucial for maintaining system stability, optimizing resource allocation, troubleshooting performance issues, and supporting capacity planning in complex, distributed systems.
Lsof lists on its standard output file information about files opened by processes.

@ -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…
Cancel
Save