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.