{"id":23148675,"url":"https://github.com/hamdiz0/learning-devops","last_synced_at":"2026-02-16T10:14:26.488Z","repository":{"id":258040182,"uuid":"839900101","full_name":"hamdiz0/Learning-DevOps","owner":"hamdiz0","description":"A learning-devops repository with resources and examples on tools like Docker, Kubernetes, and Jenkins, covering DevOps concepts like CI/CD pipelines and automation","archived":false,"fork":false,"pushed_at":"2025-01-18T13:44:51.000Z","size":22299,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T00:04:59.989Z","etag":null,"topics":["automation","aws","build-tools","cicd","devops","docker","git","jenkins","kubernetes","linux","nexus"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hamdiz0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-08T14:49:45.000Z","updated_at":"2025-02-27T10:19:01.000Z","dependencies_parsed_at":"2024-12-10T01:28:02.018Z","dependency_job_id":null,"html_url":"https://github.com/hamdiz0/Learning-DevOps","commit_stats":null,"previous_names":["hamdiz0/learningdevops","hamdiz0/learning-devops"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamdiz0%2FLearning-DevOps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamdiz0%2FLearning-DevOps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamdiz0%2FLearning-DevOps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamdiz0%2FLearning-DevOps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hamdiz0","download_url":"https://codeload.github.com/hamdiz0/Learning-DevOps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252973682,"owners_count":21834107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","aws","build-tools","cicd","devops","docker","git","jenkins","kubernetes","linux","nexus"],"created_at":"2024-12-17T17:12:43.138Z","updated_at":"2026-02-16T10:14:21.441Z","avatar_url":"https://github.com/hamdiz0.png","language":null,"readme":"#                           What is DevOps ?\r\n\r\n\u003cimg src=\"z-imgs/loop.jpg\" style=\"width:100%\"\u003e\r\n\r\n## `devops is not` :\r\n\r\n    - devops is not a tool \r\n    - not a separate team \r\n    - not just automation\r\n    - not simply combining Dev and ops teams\r\n\r\n    =\u003e devops is not just Dev and Ops working together while remaning in thier seperate silos\r\n\r\n## `devops is` :\r\n\r\n    - devops is based on agile priciples\r\n    - devops is based on CI/CD\r\n    - delevering software in a rapid continuous manner\r\n    - Dev and Ops teams working togther not in seperate silos\r\n\r\n    =\u003e devops is a \"CULTURE CHANGE\" in wich Dev and Ops engineers work together during the entire development cycle\r\n    \r\n    =\u003e devops is a methodology that integrates software development (Dev) and IT operations (Ops) to improve collaboration, accelerate software delivery, and ensure more reliable system \r\n\r\n#                           [`When to use DevOps ?`]\r\n\r\n## `when` :\r\n\r\n    - rapid and Frequent Releases (frequent and rapid updates)\r\n    - collaboration and Communication Issues (devops breaks silos and improve collaboration)\r\n    - scalability and Growth (devops work well with cloud-based environment ,automated infrastructure and CI/CD ...)\r\n    - continuous Feedback and Improvement (user feedback helps)\r\n    - complex Systems with High Availability (mission-critical systems where uptime and reliability are essential)\r\n    - microservices Architecture\r\n\r\n## `when not` :\r\n\r\n    - small, static projects\r\n    - heavily regulated industries with slow change (goverment or medical fields)\r\n    - Legacy Systems with Monolithic Architecture\r\n\r\n#                           [`Software Development Roles`]\r\n\r\n    - there are different roles in software development \u0026 delevery process\r\n\r\n## `software development` :\r\n\r\n    - software programmed by devs using different programming languages\r\n    - add new features and bug fixes\r\n\r\n## `software testing` :\r\n\r\n    - test new features and old functionality\r\n    - manual and automated testing\r\n    - done by testers\r\n\r\n## `operations (software release)` :\r\n\r\n    - build application\r\n    - deploy on servers\r\n    - upgrade existing software\r\n    - done by opertions team\r\n\r\n#                            [`traditional : development vs operatons`]\r\n\r\n    - different responsabilities\r\n    - different technical knowledge\r\n    - different toolsets\r\n\r\n## `development` :\r\n\r\n    - focus on implementing  new features fast\r\n        - programming languages\r\n        - test framworks\r\n        - databases\r\n        - version control\r\n\r\n## `operations` :\r\n\r\n    - focus on maintaining stability\r\n        - os\r\n        - command line\r\n        - scripting\r\n        - monitoring tools\r\n\r\n## `this seperation between the development and operation team causes multiple issues` :\r\n\r\n    - \"well it works on my machine !!!\"\r\n    - different responsibilities , different technical knowledge and different tools  \r\n    - this will slow down the release process (weeks to months)\r\n\r\n### `misscommunication and lack of collaboration ` :\r\n\r\n    - deployment requires configuration and environment needs to be prepared\r\n    - dev team give instructions to the ops team ,these instructions may not be clear enough or some parts are missing\r\n\r\n### `conflict of intrest` :\r\n\r\n    - DEV focus on realising new features\r\n    - OPS focus on maintaining stability \r\n\r\n### `manual work and checklist` :\r\n\r\n    - manual checks : are the system stability and security affected by the new changes \r\n    - manual deployment\r\n    - manual configuration\r\n\r\n#                            [`solution DevOps`]\r\n\r\n## `defenition` :\r\n\r\n    - devops is the intersection of DEV and OPS\r\n    - a common language to ensure the communication between devs and ops team\r\n    - devops is all about making the process of continious delivery fast and with minimal errors\r\n    - it tries to remove all these roadblocks and things that slow down the release process\r\n    - it helps create fully streamlined automated process for release cycles\r\n\r\n## `devops as a seperate role` :\r\n\r\n    - devops become an acual role : \"devops engineer\"\r\n    - devops tools : set of technologies used to implement devops\r\n    - a devops engineer is responsible for creating a streamlined fully automated release process\r\n    - basic knowledge of the development and operation and additional devops specific skills\r\n\r\n## `famous devops tools` :\r\n\r\n\u003cimg src=\"z-imgs/loop \u0026 tools.jpg\" style=\"width:100%\"\u003e\r\n\r\n    - source code manegment : git\r\n    - package management : docker\r\n    - infratructure as code : terraform ,ansible\r\n    - CI/CD : jenkins ,git web service\r\n    - container orchestration : kubernetes\r\n    - cloud : aws ,azure ,google cloud\r\n    - monitoring : prometheus\r\n\r\n#                            [`waterfall vs agile methedologie`]\r\n\r\n## `waterfall` :\r\n\r\n    - requirements : planning\r\n    - development : code complete app\r\n    - testing : testing the hole app\r\n    - operations : huge preparation\r\n    =\u003e this an ineffective process :\r\n        - over time new requirements may arise\r\n        - miscommunication and places of faliure\r\n        - lack of fast feedback\r\n\r\n## `agile` :\r\n\r\n    - agile is the heart of CI/CD process\r\n    - devops implements some best practices of the agile method\r\n    - backlog =\u003e analyse =\u003e define =\u003e design =\u003e test =\u003e deploy\r\n    =\u003e this method is effective and its increasingly growing :\r\n        - speed of development , testing and deployment cycles\r\n        - each feature gets tested , deployed and gets immediate feedback\r\n        - fast development and deployment process\r\n        - scrum and kanban (examples of specific implementations)\r\n    \r\n\r\n#                            [`at the core of devops`]\r\n\r\n    - CI/CD pipline for an automated release process\r\n    - commit code =\u003e test =\u003e build =\u003e push =\u003e deploy\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamdiz0%2Flearning-devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamdiz0%2Flearning-devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamdiz0%2Flearning-devops/lists"}