Detailed Course Outline
Introduction to DevOps
- What is DevOps?
- About DevOps goals and terminology
- Explaining DevOps life cycle
- Describing DevOps Framework
- Listing commonly used DevOps tools
- About DevOps Toolchain and Culture
Automation and Orchestration
- What and Why of Automation?
- What is Orchestration?
- Why Orchestration?
- Automation Vs. Orchestration
Agile Development and Project Management
- Overview of Agile manifesto and Agile goals
- About Scrum and Scrum Roles
- Agile support in Oracle Developer Cloud Service
- Creating and managing issues
- Creating and viewing agile board
- Creating a sprint
- Adding and updating issues in an active sprint
Test-Driven Development (TDD)
- Unit testing versus other types of testing
- About Test-Driven Development process
- How to use TDD for daily development?
- Introduction to Python
- Test-Driven Development in Python
Developing Apps Using IDE
- What is an IDE?
- Features and advantages of IDEs
- About Oracle Developer Cloud Service
- Creating a task in Mylyn
- Using Oracle Enterprise Pack for Eclipse
- Connecting to Oracle Developer Cloud from Eclipse
Managing the Build Process Using Maven
- Describing Maven and its key concepts
- Creating a simple Maven project
- Compiling, testing, packaging, and executing Maven project
Continuous Integration and Continuous Delivery
- Describing Continuous Integration (CI)
- Explaining the need for CI
- What are the advantages of using CI?
- Creating and maintaining a CI solution in Oracle Developer Cloud Service
- Describing Continuous Delivery (CD) and how it differs from CI
Role of QA in DevOps
- Defining Quality Assurance (QA)
- Explaining why QA is important
- Describing the role of QA in DevOps
- About QA best practices in a DevOps scenario
- Describing API testing and explain how it is done
- Identifying the tools that can be used to automate testing
Testing Low-Level APIs
- Defining REST APIs
- What is API testing?
- Explaining HTTP and REST concepts
- Describing cURL
- Testing REST APIs
Software Delivery and Release
- Explaining the role of Release Manager in software delivery
- Describing the software delivery process
- Explaining maturity testing levels
- What it takes to deliver software from a development environment to various production environments?
Configuration Management to Extend Continuous Delivery
- Defining Configuration Management and Infrastructure Automation
- Overview of leading Configuration Management platforms and tools
- Learning Terraform features and configurations
Infrastructure to Set Up Configuration Management
- Describing how to use Oracle Compute Cloud Service to set up the infrastructure
- Explaining the structure of an orchestration
- Creating an orchestration file by using JSON
- Creating compute, networking, and storage objects by using orchestrations
- Using a master orchestration to manage multiple orchestrations
Continuous Monitoring
- Why is monitoring important?
- About Application Performance Monitoring
- Explaining need for Continuous Monitoring in production
Managing the Modern Cloud and Empowering DevOps
- Defining the modern cloud
- Explaining how to empower DevOps with powerful monitoring, management, and analytics tools
- Defining Application Performance Monitoring
- Describing how to search and analyze logs
- Explaining how to analyze the performance of your business
- Explaining how to plan and use resources across your IT estate