Curso CI/CD using GitHub and Microservices Development in Python

  • DevOps | CI | CD | Kubernetes | Web3

Curso CI/CD using GitHub and Microservices Development in Python

32 horas
Visão Geral

Este Curso CI/CD using GitHub and Microservices Development in Python, ensina os participantes como usar Python e Git para construir e implantar aplicativos. Os alunos aprendem como usar scripts para construir aplicativos, gerenciar código-fonte, implementar práticas DevOps com Git, construir microsserviços com Python e Flask, implementar testes automatizados com estruturas de teste unitário Python e implantar aplicativos usando estratégias diferentes.

Objetivo

Apos realizar este Curso CI/CD using GitHub and Microservices Development in Python você será capaz de:

  • Entenda os conceitos básicos de Python e Git
  • Use Python para construir aplicativos
  • Use Git para gerenciar o código-fonte
  • Implemente práticas de DevOps com CI/CD usando Python e GitHub Actions
  • Entenda os fundamentos da construção de microsserviços com Python e Flask
  • Implemente testes automatizados com Python
  • Aprenda como usar a verificação e verificação de vulnerabilidades do Python. ferramentas de cobertura de código
  • Implante aplicativos usando estratégias diferentes
Pre-Requisitos

Os participantes devem ter um conhecimento básico de desenvolvimento de software e alguma experiência com programação.

Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Introduction

DevOps Fundamentals

  1. What is DevOps?
  2. What is culture?
  3. DevOps, People, and the Agile Manifesto
  4. Agile Design Principles
  5. DevOps Tools
  6. Tools that Drive DevOps Success
  7. Cloud Computing and AWS
  8. Cloud, IaaS, and DevOps
  9. DevOps Processes and Methods
  10. Highly Effective DevOps Processes
  11. The Phoenix Project: The 3 Ways
  12. The Unicorn Project – The 5 Ideals
  13. Other DevOps Definitions
  14. What Isn’t DevOps?
  15. DevOps Anti-patterns to Avoid

Introduction to Git and Git Flow

  1. What is Git?
  2. Benefits of Git
  3. Key Git Commands for Local Development
  4. Git Configuration
  5. Hard Git Resets
  6. Distributed Development
  7. Branch Based Development
  8. Branch Creation and Merges
  9. What is Git Flow?
  10. Benefits of Git Flow
  11. Git Flow Branches
  12. Git Flow Workflow Diagram
  13. How does Git Flow work?
  14. Git Flow Hotfixes
  15. Reflection on GitFlow
  16. Git Flow Alternatives
  17. Git vs. GitHub
  18. GithHub Flow
  19. GitHub Flow Workflow
  20. GitHub – Benefits
  21. GitLab Flow
  22. GitLab – Benefits
  23. Trunk-based Development – When it Works?

Introduction to Python and Build Tools

  1. What is Python?
  2. Benefits of Python?
  3. Features of Python
  4. Python Syntax Overview?
  5. Example Python Syntax
  6. Cross Platform Python
  7. Python Artifacts
  8. Python Build Processes
  9. Dependency Management with Pip
  10. Virtual Environments
  11. Pyenv for Python Version Management
  12. Using Pyenv
  13. Combining Pyenv with Virtual Environments
  14. Python IDEs
  15. Conda as an alternate to Pip
  16. Automation with Python
  17. Python and Cloud Services
  18. Python and Containerization
  19. Python in CI/CD Pipelines
  20. Python's Role in DevOps

Introduction to Continuous Integration, Continuous Delivery and Continuous Deployment

  1. Distributed Version Control Systems and Merged Code
  2. The Need for Continuous Integration Tools
  3. Commit, Integrate, Compile, Test and Repeat
  4. When is Integration Successful?
  5. Benefits of Continuous Integration
  6. What should a CI tool do?
  7. How far should a CI tool go?
  8. Continuous Delivery
  9. A Definition of Continuous Delivery
  10. Martin Fowler on Continuous Delivery
  11. The Continuous Deployment Awakening
  12. What constitutes Deployment?
  13. DevOps and Continuous Deployment
  14. Continuous Deployment Challenges
  15. CI vs CD(elivery) vs CD(eployment)

Understanding the GitHub Interface

  1. Creating a GitHub Account
  2. Key GitHub Interface Components
  3. The GitHub Interface
  4. Configuring your GitHub Profile
  5. Creating Repositories in GitHub
  6. GitHub Forking and Cloning
  7. Setting up Git locally
  8. Managing Access via SSH and HTTP/s
  9. Setting up SSH Keys (example)
  10. GitHub Notifications
  11. GitHub Markdown
  12. GitHub Community

Understanding GitHub Actions and Workflows

  1. What are GitHub Actions?
  2. Key Benefits of GitHub Actions
  3. Defining Workflows
  4. Workflow File Syntax and Structure
  5. Workflow Event Types
  6. Workflow Events in Practice
  7. Utilizing GitHub Actions Marketplace
  8. Continuous Integration and Delivery (CI/CD)

Understanding Pipelines in GitHub Actions

  1. GitHub Actions Workflows vs Pipelines
  2. Simple Workflow with Jobs
  3. Pipelines with Stages
  4. Leveraging GitHub Actions for Pipelines
  5. Benefits of Pipeline-based Workflows
  6. Developing Pipelines in Github Actions
  7. Managing and Modifying Pipelines
  8. Leveraging GitHub Actions Marketplace in Pipelines
  9. Pipeline Versioning
  10. Monitoring and Reporting in Pipelines
  11. Utilizing Workflow Templates in GitHub Actions

Understanding the GitHub Interface

  1. Importance of Best Practices and Security
  2. Version Control Best Practices
  3. Code Protection and Branch Policies
  4. Secrets Management and Actions
  5. Security Testing and Continuous Monitoring
  6. Two-Factor Authentication (2FA) and Security Alerts
  7. User Access control
  8. GitHub Issue Tracker and Code Review Practices
  9. Code Scanning and Vulnerability Management
  10. Consistent Coding Standards and Security
  11. Ongoing Security Assessments
  12. Compliance and Regulatory Considerations
  13. Incident Response and Disaster Recovery
  14. Third-Party Dependency Management
  15. Documentation and Community Engagement

The GitHub Marketplace

  1. What is the GitHub Marketplace?
  2. Benefits of GitHub Marketplace
  3. Exploring the Marketplace
  4. Installing and Using Marketplace Apps
  5. Building Your Own Marketplace App

GitHub Actions – Advanced Scripting

  1. Personalizing Workflow Behavior
  2. Workflow Customization
  3. Managing Conditional Execution
  4. Managing Environment Variables
  5. Managing Secrets in GitHub Actions
  6. Utilizing Expressions and Functions
  7. Implementing Error Handling and Failure Conditions
  8. Understanding Artifacts and Outputs
  9. Boosting Optimization and Efficiency
  10. Effective Debugging Strategies in GitHub Actions
  11. Problem Matchers
  12. Integrating with External Services

Microservice Development

  1. Foundational Enterprise Development Principles
  2. What is a Microservice?
  3. Understanding Monoliths
  4. What isn't a microservice?
  5. Monoliths Aren't Microservices
  6. Traditional Monolith (Java Example)
  7. SOA Architectures vs. Microservices
  8. Microservice (General Example)
  9. Microservices vs. Monoliths
  10. Microservice Development and Design
  11. Domain-Driven Design: Benefits
  12. Benefits of Microservices
  13. Microservices Drawbacks
  14. Docker and Microservices
  15. DevOps, Docker, Microservices and CI/CD
  16. Kubernetes
  17. Beyond Kubernetes with OpenShift
  18. OpenShift Architecture
  19. Client-Side Impact of Microservices
  20. Single Page Applications (SPA) and Interfaces (SPI)
  21. Data Tier Impact of Microservices
  22. AWS Lambdas

Introduction to Flask and REST

  1. Why Python?
  2. Why Flask?
  3. The Flask Framework
  4. Why Flask for Microservices?
  5. Features of Flask
  6. Flask Microservice and Docker Support
  7. Microservices Development and Flask
  8. Flask Application Structure
  9. Flask Based Development
  10. Flask Leverages Python's Power
  11. REST and Microservices
  12. The Six RESTful Constraints
  13. Key RESTful Constraints Takeaways
  14. RESTful HTTP Methods
  15. HTTP Request Method Mapping
  16. RESTful Resources
  17. Path Variables in Flask
  18. Query Parameters in Flask
  19. Automatic JSON to Python Conversions

Twelve-factor Applications [OPTIONAL]

  1. Twelve-factor Applications
  2. Twelve Factors, Microservices, and App Modernization

Introduction to Automated Testing [OPTIONAL]

  1. Why Automated Testing?
  2. Automated Testing in the DevOps Lifecycle
  3. Types of Automated Tests
  4. Benefits of Unit Testing
  5. Benefits of Integration Testing
  6. Benefits of System Testing
  7. Benefits of Acceptance Testing
  8. Test Automation Tools
  9. Best Practices for Automated Testing

Deployment Strategies (with a focus on Blue-Green) [OPTIONAL]

  1. Deployment Strategies Overview?
  2. Incremental Deployment Strategy
  3. Rolling Deployment Strategy
  4. Canary Deployment Strategy
  5. A/B Testing Strategy
  6. Blue-Green
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h

Curso Red Hat DevOps Pipelines and Processes: CI/CD with Jenkins

24h

Curso Cloud Security and DevSecOps Automation

32 horas