DevOps: Foundations and tools

بواسطة: edX

Overview

Software development teams frequently struggle with multiple issues between software development and systems operations teams. While the former are interested in offering frequent updates to add value and upgrades to the user experience, the latter are invested in safeguarding the value of the delivered product through platforms or softwares and its way to achieve it is by keeping a stable environment for the users.

Today’s market demands from organizations and businesses of the new digital era to be agile on their software delivery and improve on their applications and web platforms. On top of that, new technologies, like the cloud and virtualization, have enabled the development of new tools to accelerate processes and achieve a tighter relationship between both teams.

The needs for speed and security in web platforms and applications originated the DevOps culture, which empowers software development teams with tools to assure the stability of platforms while quickly delivering new version updates.

In this MOOC you will learn the fundamentals of the DevOps culture. You will work with scripts and log checking in Linux. Also, we will go over the pillars of DevOps like Continuous Integration/Continuous Deployment, the paradigm shift in systems management with Infrastructure as Code and the creation of containers to assure the CI/CD pipeline.

The topics featured in this MOOC are specially relevant to software developers since it enables them to manage software development efficiently on an individual or team scale.

Git and github are the most used software versioning tools amongst development teams. While, they are not unique in their kind, they are the most widely accepted in the industry.

By the end of this course you will acquire the competencies needed to manage software from a Linux system; we will focus on the Ubuntu distribution but the concepts can be generalized to other distros. Likewise, you will learn to use different commands that will help you during the operations of a DevOps project. In addition, you will be able to manage different software versions as an individual or as part of a development team.

Syllabus

Module 0: Linux Fundamentals, Code management with Git, GitHub and the GitFlow pattern

Module 1: Introduction to DevOps

Module 2: Continuous Integration / Continuous Deployment

Module 3: Infrastructure as Code y Estructura de DevOps

Module 4: Creating applications in containers with Docker

Taught by

Miguel A. Guirao Aguilera

DevOps: Foundations and tools
الذهاب الي الدورة

DevOps: Foundations and tools

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • intermediate
  • English
8.1.2PHP Version332msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (205ms)
    • Application (126ms)
    • 1 x Booting (61.69%)
      204.63ms
      1 x Application (38.07%)
      126.28ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed14.52ms
      • select * from `courses` where `slug_ar` = 'devops:-foundations-and-tools' limit 1
        3.52ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. devops:-foundations-and-tools
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-14 02:54:54' where `id` = 857
        9.21ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-14 02:54:54
        • 1. 857
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (10)
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        130μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (95) and `institutions`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 851 limit 1
        1.19ms/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 851
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        HTlj3Zr22mapyfY5S8MpYCJqzk8BzY1NqAxcDhEs
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/devops...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/devops:-foundations-and-tools
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "18.191.32.71" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.191.32.71" ] "cf-ray" => array:1 [ 0 => "92ffebd27864fa27-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "18.191.32.71" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.191.32.71" "HTTP_CF_RAY" => "92ffebd27864fa27-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "11064" "REMOTE_ADDR" => "172.70.131.145" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/devops:-foundations-and-tools" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744599294.0939 "REQUEST_TIME" => 1744599294 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Mon, 14 Apr 2025 02:54:54 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImJkT29mQVd0R012ZDZoV0tpMmpONkE9PSIsInZhbHVlIjoidlNOSXlYVDhZK0xDRURUR3RCN2Y3RmUxbWlZNnl2S0pUQWRkQjdpQkFOVG9LMWFqamsxSTY1Und6Zlp1ZjY1SHI2UkEwSEpxeWlDcUFZVVMxdGt6V1EzelVBMnRCNUNOdjJseEw0dWZUYnpranpaTDRpb05UazRJWG4xejVscG8iLCJtYWMiOiI1NmJhODQwMzUxMmYyZDk0NGU0NjgwMDYxNDI3MDM4MzcwOTNkODgwZDI0OWIwZGQ1MzQ3ZTQ2NmZjNDQ3NDM1IiwidGFnIjoiIn0%3D; expires=Mon, 14 Apr 2025 04:54:54 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImJkT29mQVd0R012ZDZoV0tpMmpONkE9PSIsInZhbHVlIjoidlNOSXlYVDhZK0xDRURUR3RCN2Y3RmUxbWlZNnl2S0pUQWRkQjdpQkFOVG9LMWFqamsxSTY1Und6Zlp1ZjY1SHI2UkEwS" 1 => "laravel_session=eyJpdiI6ImxrK215b3loSUFwTXdmeDlGWkRReXc9PSIsInZhbHVlIjoiT24yWjYwaEsvcitTU2ZKMmxmeVdIU3VFSzdSdzBQd1I5YjdjbG1QU1ltREF2eXJaWWV2Y2VGUEgyOG1KVTlyUFRwc0dBQ3ZHK05yWFpVRzg5dXF1VGNja05ZTzFPQWRGUTNlTXNxdEFGOWRUZmJzZ2pVRUh0SC9OVHdLV0JrVFQiLCJtYWMiOiI0NWRlYTg5YjM0MTQ1YTcxYjkwNzc2NjI4Yjk5Y2EzMmZjMTAzZWYxYmY5Y2ViNzczMzY3NzBjYTRmN2NiOTJkIiwidGFnIjoiIn0%3D; expires=Mon, 14 Apr 2025 04:54:54 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImxrK215b3loSUFwTXdmeDlGWkRReXc9PSIsInZhbHVlIjoiT24yWjYwaEsvcitTU2ZKMmxmeVdIU3VFSzdSdzBQd1I5YjdjbG1QU1ltREF2eXJaWWV2Y2VGUEgyOG1KVTlyUFRw" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImJkT29mQVd0R012ZDZoV0tpMmpONkE9PSIsInZhbHVlIjoidlNOSXlYVDhZK0xDRURUR3RCN2Y3RmUxbWlZNnl2S0pUQWRkQjdpQkFOVG9LMWFqamsxSTY1Und6Zlp1ZjY1SHI2UkEwSEpxeWlDcUFZVVMxdGt6V1EzelVBMnRCNUNOdjJseEw0dWZUYnpranpaTDRpb05UazRJWG4xejVscG8iLCJtYWMiOiI1NmJhODQwMzUxMmYyZDk0NGU0NjgwMDYxNDI3MDM4MzcwOTNkODgwZDI0OWIwZGQ1MzQ3ZTQ2NmZjNDQ3NDM1IiwidGFnIjoiIn0%3D; expires=Mon, 14-Apr-2025 04:54:54 GMT; path=/XSRF-TOKEN=eyJpdiI6ImJkT29mQVd0R012ZDZoV0tpMmpONkE9PSIsInZhbHVlIjoidlNOSXlYVDhZK0xDRURUR3RCN2Y3RmUxbWlZNnl2S0pUQWRkQjdpQkFOVG9LMWFqamsxSTY1Und6Zlp1ZjY1SHI2UkEwS" 1 => "laravel_session=eyJpdiI6ImxrK215b3loSUFwTXdmeDlGWkRReXc9PSIsInZhbHVlIjoiT24yWjYwaEsvcitTU2ZKMmxmeVdIU3VFSzdSdzBQd1I5YjdjbG1QU1ltREF2eXJaWWV2Y2VGUEgyOG1KVTlyUFRwc0dBQ3ZHK05yWFpVRzg5dXF1VGNja05ZTzFPQWRGUTNlTXNxdEFGOWRUZmJzZ2pVRUh0SC9OVHdLV0JrVFQiLCJtYWMiOiI0NWRlYTg5YjM0MTQ1YTcxYjkwNzc2NjI4Yjk5Y2EzMmZjMTAzZWYxYmY5Y2ViNzczMzY3NzBjYTRmN2NiOTJkIiwidGFnIjoiIn0%3D; expires=Mon, 14-Apr-2025 04:54:54 GMT; path=/; httponlylaravel_session=eyJpdiI6ImxrK215b3loSUFwTXdmeDlGWkRReXc9PSIsInZhbHVlIjoiT24yWjYwaEsvcitTU2ZKMmxmeVdIU3VFSzdSdzBQd1I5YjdjbG1QU1ltREF2eXJaWWV2Y2VGUEgyOG1KVTlyUFRw" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "HTlj3Zr22mapyfY5S8MpYCJqzk8BzY1NqAxcDhEs" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/devops:-foundations-and-tools" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]