Hosting heeft zes productlijnen voor het leveren van ICT-diensten en levert servers, platformen en software conform een IaaS-, PaaS- en SaaS-model. Ook innoveert, ontwikkelt (life-cycle) en beheert het team de soft- en hardware gericht op infrastructuur, datacenter en cloud-technologieën.De omgeving kenmerkt zich door een hoge mate van complexiteit veroorzaakt door de hoge eisen op het gebied van op kwaliteit, beschikbaarheid, betrouwbaarheid, voorspelbaarheid en beveiliging. Het hosting team van het Politiedienstencentrum zoekt een Linux beheerder die gewend is te werken in een omgeving waar beschikbaarheid en data-integriteit cruciaal is.Werktijden en -dagenJe staat nauw in contact met je Agile/Scrum team, ook als je thuis werkt. Er wordt dus hybride gewerkt maar minimaal 2x per week verwachten we je op kantoor waarvan 1 vaste teamdag (op dit moment dinsdag).Tevens wordt er van je meerdere keren per jaar buiten kantoortijd te werken en mee te draaien in de piket dienst. Aangezien er volgens de Agile/Scrum methode wordt gewerkt verwachten we dat je aansluit bij de bijbehorende overleggen.Wat ga je doen?Als Linux Infrastructure & DevOps Engineer ben je verantwoordelijk voor het ontwerpen, automatiseren en beheren van een toekomstbestendige Linux-infrastructuur.Je ontwikkelt en onderhoudt Infrastructure as Code met Ansible ten behoeve van het Ansible Automation Platform (AAP). Je werkt binnen multidisciplinaire DevOps teams aan een stabiel en schaalbaar platform gebaseerd op GitLab CI/CD en OpenShift, waarbij samenwerking, eigenaarschap en continue verbetering centraal staan.
Eisen voor de opdrachtJe hebt minimaal 2 jaar ervaring als Linux infrastructuurspecialist of DevOps engineer.Je hebt ervaring met Red Hat Enterprise Linux (incl. Satellite / Foreman).Je hebt minimaal 2 jaar ervaring met Red Hat Ansible Automation Platform, zowel installatie, beheer als ontwikkeling (denk aan o.a. Automation Controller, Automation Hub, Execution Environments).Je hebt minimaal 2 jaar ervaring met Infrastructure as Code (IaC), specifiek met Ansible - inclusief het ontwikkelen en beheren van Playbooks, Rollen en Collections.Je hebt ervaring met scripting en automatisering, waaronder Bash / shell scripting, Python en Git.Je hebt ervaring met CI/CD tooling, bij voorkeur GitLab (o.a. runners, pipelines, repositories, branching strategies en code reviews).Wensen voor de opdrachtJe hebt ervaring met OpenShift (AAP draait op OpenShift).Je hebt kennis van en ervaring met REST API integraties.Je hebt Developing Automation with Ansible Automation Platform (EX374) en/of Managing Automation with Ansible Automation Platform (EX467).Je hebt ervaring met tooling en platformen: Atlassian Jira & Confluence.Je hebt ervaring met Scrum/Agile werken en samenwerking in multidisciplinaire teams; je bent bekend met de SAFe-principes.Je hebt ervaring in enterprise-omgevingen (1000+ systemen en/of politiek gevoelige context).Je hebt ervaring met tooling en platformen: Atlassian Jira & Confluence, Red Hat Satellite.Je hebt relevante Red Hat certificeringen, zoals RHCSA / RHCE, Red Hat Certified Specialist in Developing Automation with Ansible Automation Platform (EX374) / Red Hat Certified Specialist in Managing Automation with Ansible Automation Platform (EX467).Je hebt ervaring met Scrum/Agile werken en samenwerking in multidisciplinaire teams; je bent bekend met de SAFe-principes.Je hebt ervaring in enterprise-omgevingen (1000+ systemen en/of politiek gevoelige context).
Referentienummer2026-05866
LocatieDriebergen
Startdatum1 oktober 2026
Einddatum1 oktober 2028
Optie op verlengingNog niet bekend
Uren per week36u p/w
Sluitingsdatum8 juli 2026
09:00
Begint jouw trail hier?Stuur ons je CV met een korte opdrachtgerichte motivatie.
Discover your BlueTrailOnze weg naar jouw nieuwe carrière
Nadat jij op een opdracht hebt gereageerd, nemen wij binnen 24 uur contact met jou op en behandelen we jouw reactie.
We gaan met jou in gesprek. Wij kijken niet alleen naar je kennis en werkervaring, maar vooral naar jou als persoon. Dit is voor zowel de professional als de opdrachtgever belangrijk, wij willen de juiste match maken! Als we eenmaal de juiste match hebben gevonden, dan begint jouw BlueTrail en stellen we je voor aan de opdrachtgever!
Bij een succesvolle match worden de contracten opgesteld. Door middel van innovaties en digitalisering proberen wij dit proces zo kort mogelijk te maken. Zo kun jij doen waar je goed in bent, terwijl wij zorgen voor alle administratie!
Ook tijdens jouw opdracht staan wij altijd voor je klaar. Onze fieldmanagers zorgen er persoonlijk voor dan alles succesvol verloopt!
Follow our trail
E-mailadres
gform.initializeOnLoaded( function() {gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery('#gform_ajax_frame_2').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_2');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_2').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_2').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_2').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_2').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_2').val();gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [2, current_page]);window['gf_submitting_2'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_2').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [2]);window['gf_submitting_2'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_2').text());}else{jQuery('#gform_2').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "2", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_2" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_2"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_2" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 2, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );