fbpx
  • nl
  • en

Cursus Continuous Delivery

Cursus Continuous Delivery
Regio:
  • Modules
  • Cursus
  • Inhoud
  • Algemene informatie
    Algemeen
  • Reviews
  • Module 1 : Intro Continuous DeliveryModule 2 : Docker EssentialsModule 3 : Docker Applications
    What is Continuous Delivery?
    Traditional Delivery Process
    Development, QA and Operations
    Shortcomings Traditional Delivery
    Benefits of Continuous Delivery
    Fast Delivery and Feedback Cycle
    Low Risk Releases
    Automated Deployment Pipeline
    Continuous Integration
    Automated Acceptance Testing
    Configuration Management
    DevOps Culture
    Virtualization and Containerization
    Disadvantages of Virtualization
    Benefits of Containers
    The Need for Docker
    Isolation and Portability
    Installing Docker
    Docker Architecture
    Docker Components
    Docker Client
    Docker Server
    Docker Daemon
    Docker REST API
    Building Docker Images
    Docker Commit
    Dockerfile
    Environment Variables
    Running Docker Containers
    Docker Container States
    Docker Networking
    Running Services
    Container Networks
    Exposing Container Ports
    Automatic Port Assignment
    Using Docker Volumes
    Module 4 : Jenkins EssentialsModule 5 : Continuous Integration PipelineModule 6 : Automated Acceptance Testing
    What is Jenkins?
    Extensibility by Plugins
    Distributed Operations
    Jenkins Installation
    Installing on Docker
    Initial Configuration
    Jenkins Pipeline
    Master and Slaves
    Vertical and Horizontal Scaling
    Test and Production Instances
    Configuring Agents
    Permanent Docker Agents
    Jenkins Swarm Agents
    Custom Jenkins Images
    What is a Pipeline?
    Pipeline Structure
    Multi Stage Application
    Sections, Directives and Steps
    Commit Pipeline
    Pushing to GitHub
    Compile Stage
    Unit Test Stage
    Jenkinsfile
    Code Quality Stages
    Code Coverage and CheckStyle
    Scheduled Builds
    Development Workflows
    Non Technical Requirements
    Acceptance Testing Intro?
    Docker Registry
    Artifact Repository
    Docker Hub
    Private Docker Registry
    Domain Certificates
    Access Restriction
    Building Images
    Pushing and Pulling Images
    Acceptance Test in Pipeline
    Acceptance Testing Stage
    Docket Compose
    Scaling Services
    Running Acceptance Tests
    Module 7 : Configuration ManagementModule 8 : Continuous Delivery PipelineModule 9 : Clustering with Docker Swarm
    Application Configuration
    Infrastructure Configuration
    Automation and Version Control
    Incremental Changes
    Configuration Languages
    Chef, Puppet and Ansible
    Agent Based
    Installing Ansible
    Using Ansible
    Creating Inventory
    Playbooks
    Handlers and Variables
    Deployment with Ansible
    Working with Redis
    Ansible and Docker
    Types of Environment
    Production Environment
    Staging Environment
    Test Environment
    Development Environment
    Securing Environments
    Non Functional Testing
    Performance Testing
    Load Testing
    Stress Testing
    Scalability Testing
    Security Testing
    Non Functional Challenges
    Application Versioning
    Complete Jenkins File
    Server Clustering
    Docker Swarm Intro
    Setting up a Swarm
    Adding Worker Nodes
    Deploying a Service
    Scaling a Service
    Publishing Ports
    Rolling Updates
    Draining Nodes
    Multiple Manager Nodes
    Scheduling Strategy
    Docker Stack
    Specifying docker-compose.yml
    Kubernetes
    Scaling Jenkins
    Module 10 : Advanced Continuous Delivery
    Managing Database Changes
    Understanding Schema Updates
    Database Migrations
    Using Flyway
    Configuring Flyway
    SQL Migration Script
    Backwards Compatibility Changes
    Non-Backwards Compatibility Changes
    Adding Columns
    Changing Code
    Merging Data
    Dropping Columns
    Avoiding Shared Database
    Preparing Test Data
    Parallelizing Pipelines
    Shared Libraries
  • DoelgroepCursus Continuous Delivery

    De cursus Continuous Delivery is bestemd voor developers, testers en administrators die betrokken zijn bij software ontwikkeling en die continuous delivery willen implementeren.

    Voorkennis

    Algemene kennis en vertrouwdheid met software ontwikkeling, programmeren, testen en installeren is vereist om aan deze cursus te kunnen deelnemen.

    Uitvoering Cursus Continuous Delivery

    De theorie wordt behandeld aan de hand van presentaties. De concepten worden toegelicht met demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

    Certificaat Cursus Continuous Delivery

    De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Continuous Delivery.

  • Cursus Continuous Delivery

    In de cursus Continuous Delivery leren de deelnemers hoe een continuous delivery proces voor het automatisch testen en deployen van software applicaties kan worden ingericht met Docker en Jenkins. Door middel van Continuous Delivery kan de kwaliteit van software worden verbeterd en de doorlooptijd worden verkort. In een continuous delivery proces wordt software frequent in korte cycles gereleased en getest en wordt de software via een geautomatiseerde deployment pipeline in gebruik gesteld. In de cursus worden in de eerste plaats de principes van continuous delivery uitgelegd. Vervolgens wordt ingegaan op het gebruik van Docker Containers voor het snel in de lucht brengen van een ingerichte omgeving. De werking, architectuur en configuratie van Docker Containers komt uitgebreid aan de orde. Ook is er aandacht voor de tool Jenkins voor het automatiseren van het bouwen van software. Hierbij komt het opzetten van een Jenkins Continuous Integration Pipeline aan de orde en wordt ingegaan op de inhoud en structuur van het Jenkinsfile. Ook het automatiseren van Acceptance Tests met Docker en Cucumber is onderdeel van het cursus programma. Vervolgens komen Applicatie en Infrastructuur Configuratie en het gebruik van de configuratie taal Ansible met Playbooks, Handlers en Variables aan bod. Ook is er aandacht voor de verschillende omgevingen in een Continuous Delivery proces en de tests die daarin worden gedaan. Tenslotte wordt nog ingegaan op een aantal geavanceerde Continuous Delivery aspecten zoals het omgaan met veranderingen in de Database, het paralalizeren van pipelines en het gebruik van shared libraries.

  • Cursusvorm

    Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.

    Maatwerk

    We doen ook maatwerk  en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.

    Cursustijden

    De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.

    Hardware

    Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.

    Software

    Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.

    Lunch

    De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.

    Locaties

    De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving.  Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.