Translations: "Dutch" |
About me

Hello! I'm Bas Berkhout - a Senior Cloud Engineer and Co-founder of IPMHub.io, focusing on cloud architecture and infrastructure automation.
Besides spending too much time behind a screen, I'm a father of three kids and love (off)road cycling, especially with my kids.
I still remember my first real love for IT when configuring my first networks and routers based on Slackware - yeah, I'm old!
These days, I'm more focused on developing solutions that allow DevOps and Platform teams to scale their services.
Technical background
1specializations:
2 cloud_architecture:
3 - Azure Infrastructure Design
4 - Kubernetes Orchestration
5 - Managed Services Implementation
6 methodologies:
7 - Infrastructure as Code
8 - Agile Development
9 - DevOps Practices
10 automation:
11 - Deployment Pipelines
12 - Configuration Management
13 - Process Optimization
14 languages:
15 - PowerShell and Bash
16 - Terraform and Bicep
17 - Python
Professional focus
As a Senior Engineer, I specialize in:
- Cloud Architecture Design: Building scalable and resilient cloud infrastructures using Azure and Kubernetes
- Process Automation: Implementing CI/CD pipelines and infrastructure as code solutions
- Platform Engineering: Developing managed services and cloud-native applications
IPMHub.io
I'm the founder of IPMHub.io - a platform package manager designed for Infrastructure as Code workflows. In this role my main focus is the work on the frontend and Backend.
%%{init: {'theme': 'dark', 'themeVariables': { 'lineColor': '#ffffff' }}}%% graph LR A[Organization] -->|Develops| B[Platform Solution] B -->|Shares via| C[IPMHub.io] C -->|Enables| D[Centralized Distribution] D -->|Benefits| E[Other Teams]
IPMHub.io enables organizations to:
- Centralize platform solution development
- Share complete infrastructure templates
- Standardize deployment practices
- Reduce implementation overhead
Certifications
As you can see, I did a deep dive into Azure and the Microsoft ecosystem over the last two decades.
%%{init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#0078D4', 'primaryTextColor': '#ffffff', 'lineColor': '#ffffff', 'fontSize': '16px', 'fontFamily': 'arial', 'labelBackground': '#2A2A2A', 'subGraphBackground': '#2A2A2A' } }}%% flowchart TB subgraph Foundations[<strong style='color: white'>Foundation Skills</strong>] PSM["PSM I Agile/Scrum Foundation"] CKA["CKA Kubernetes Operations"] end subgraph Azure[<strong style='color: white'>Azure Certified Professional</strong>] subgraph Core[<strong style='color: white'>Core Certifications</strong>] AZ104["AZ-104 Administrator Associate"] AZ700["AZ-700 Network Engineer"] AZ500["AZ-500 Security Engineer"] AZ204["AZ-204 Developer Associate"] end subgraph Advanced[<strong style='color: white'>Advanced Certifications</strong>] AZ305["AZ-305 Solutions Architect Expert"] AZ400["AZ-400 DevOps Engineer Expert"] end end %% Relationships and Dependencies PSM --> AZ400 CKA --> AZ400 AZ104 --> AZ305 AZ104 --> AZ400 AZ500 --> AZ305 AZ700 --> AZ305 AZ204 --> AZ400 AZ204 --> AZ305 %% Styling classDef scrumOrg fill:#1E73BE,stroke:#333,stroke-width:2px,color:#fff classDef linuxFoundation fill:#009E60,stroke:#333,stroke-width:2px,color:#fff classDef azureCore fill:#0078D4,stroke:#333,stroke-width:2px,color:#fff classDef azureAdvanced fill:#00188F,stroke:#333,stroke-width:2px,color:#fff class PSM scrumOrg class CKA linuxFoundation class AZ104,AZ700,AZ500 azureCore class AZ204,AZ305,AZ400 azureAdvanced
Purpose of This Blog
This technical blog serves as a knowledge repository:
1from dataclasses import dataclass
2from typing import List, Optional
3
4@dataclass
5class BlogContent:
6 """Represents the technical content structure of the blog."""
7
8 topics: List[str] = [
9 "Cloud Architecture",
10 "Kubernetes Deployments",
11 "Infrastructure as Code",
12 "Azure Solutions",
13 "DevOps Practices"
14 ]
15
16 def get_technical_guides(self) -> List[str]:
17 """Returns available technical guides by topic."""
18 return [
19 f"{topic}: Implementation Guide"
20 for topic in self.topics
21 ]
22
23 def suggest_content(self, user_expertise: str) -> List[str]:
24 """Suggests content based on user expertise level."""
25 content_map = {
26 "beginner": ["Basic Concepts", "Getting Started"],
27 "intermediate": ["Best Practices", "Architecture Patterns"],
28 "advanced": ["Performance Optimization", "Advanced Deployment"]
29 }
30 return content_map.get(user_expertise.lower(), ["General Overview"])
31
32# Initialize blog content
33blog = BlogContent()
I welcome technical discussions and questions. Let's collaborate on solving complex infrastructure challenges together.