Movatterモバイル変換


[0]ホーム

URL:


My skills and technologies which I know and love.

I’ve worked with entire bunch of technologies over the years. Below you will find comprehensive technical expertize I have gained working on various projects.

Cloud & Infrastructure
  • Cloud providers

    Amazon Web Services
    I amAWS Certified Solutions Architect - Professional and have experience with a wide range of AWS services. I have been working extensively with AWS for a long time, including designing architecture from scratch, "Terraforming" existing infrastructure and then improving it, migrating from on-premise to cloud or from other cloud providers, and setting up hybrid cloud environments (including on-premise and multiple clouds). It is one of the 2 clouds which I use for my daily work and know quite well.
    Google Cloud Platform
    I amGoogle Cloud Certified Professional Cloud Architect and Google was the first cloud which I used and learned. Mostly because it was the first to provide a managed Kubernetes service (GKE) and is still the best in class in this area. Similar to AWS, I have been working extensively with GCP, using different services, managing organizations, executing migrations from and to GCP, and handling many other complex tasks.
    Microsoft Azure
    Microsoft Azure is the third big player in the cloud space and this is the cloud I have used mainly for testing their services and learning how to use them, but without typical customer commercial use cases. I'm open to learning more if there is a need for it.
    On-Premise & VMs
    I have also worked with on-premise and VMs for a long time. I always recommend Hetzner if you are looking for cheap and reliable servers, but there are an entire bunch of other options. With just bare-metal servers you can achieve the same as in the cloud but with much more flexibility and usually at much lower cost. Of course, everything depends on your use case.
  • Infrastructure as Code (IaC)

    Terraform / OpenTofu
    Terraform/OpenTofu is my main IaC tool. I have used it for a long time and I am quite familiar with it including development of custom quite complex modules for internal usage. Of course Terraform has some drawbacks and constraints but with correct planning and design the management of multiple environments distributed across multiple regions is not a problem. I also value the plan/apply approach which is critical when managing infrastructure.
    Crossplane / GKE Config Connector
    New wave of IaC tools which are running inside the cluster. Crossplane and GKE Config Connector are the ones which I have used extensively. With correct design, they provide flexibility and unification for applications deployed on Kubernetes. I have also developed some providers from scratch for Crossplane.
    Ansible
    I used Ansible extensively to manage multiple on-premise servers, handling complex deployments like clustered Splunk environments. It's an excellent tool for configuration management, patch management, and ensuring environment consistency across multiple servers. The agentless architecture and YAML-based playbooks make it particularly effective for infrastructure automation and maintaining standardized configurations at scale.
  • Kubernetes & Docker

    Kubernetes management
    I have extensive experience managing Kubernetes clusters across different cloud providers and on-premise environments. This includes cluster setup, troubleshooting, security hardening, and managing complex multi-tenant deployments. I amCertified Kubernetes Application Developer.
    Docker / Podman / OCI
    I have extensive experience with Docker image optimization, multi-stage builds, security best practices, and managing containerized applications in production environments. From simple applications to complex microservices architectures. Also worked with other OCI-compliant runtimes like Podman and containerd and used tools like Kaniko and BuildKit.
    Helm
    Helm is my preferred tool for Kubernetes package management. It is not ideal and quite often error prone but does the job. I have created numerous custom charts, managed complex deployments with dependencies, and used Helm for GitOps workflows. Essential for maintaining consistency across multiple environments and managing application lifecycles. With ArgoCD it creates a powerful combination.
    Istio Service Mesh
    I have worked with Istio for managing microservices communication, implementing traffic policies, security policies, and observability. While powerful, it adds complexity that needs careful consideration for the specific use case.
    Kyverno
    Kyverno is an excellent Kubernetes-native policy engine. I have used it for implementing security policies, resource validation, and automated configuration management.
DevOps, CI/CD and SRE
  • CI/CD

    GitLab CI/CD
    GitLab is CI/CD platform which I worked most of the time. I have extensive experience with complex multi-stage pipelines, dependency management, security scanning integration, and managing deployments across multiple environments. The integrated approach makes it very powerful.
    GitHub Actions
    GitHub Actions provides excellent integration with GitHub repositories. I have used it for various automation tasks, from simple CI builds to complex deployment workflows. Also it is preferred solution for my private projects. The marketplace ecosystem and YAML-based configuration make it very flexible for different use cases.
    Jenkins
    Jenkins is quite old but still in some situations best tool to do the job - especially when we need separated CI solution from Git. With Kubernetes deployment and kubernetes plugin to execute runners as pods scalability is very good. Also with some plugin allows to manage Jenkins instance and pipelines fully as a code which simplifies management and provides similar feeling like Gitlab CI/CD or GitHub Actions.
    ArgoCD
    ArgoCD is my go-to tool for GitOps deployments on Kubernetes. I have implemented complex multi-cluster deployments, application-of-applications patterns, and integrated it with various CI systems. The declarative approach and visual UI make it excellent for managing Kubernetes deployments.
    Bitbucket pipelines
    I have used Bitbucket pipelines for projects hosted on Bitbucket. While functional, it lacks some advanced features compared to GitLab CI/CD or GitHub Actions.
  • Monitoring & Observability

    Prometheus
    Prometheus is my primary monitoring solution. I have extensive experience with metric collection, custom exporters, complex PromQL queries, and designing monitoring strategies for large-scale Kubernetes environments. Essential tool for any serious monitoring setup.
    Grafana
    Grafana is my preferred visualization platform. I have created numerous custom dashboards and integrated it with various data sources beyond just Prometheus. The flexibility and plugin ecosystem make it excellent for different monitoring needs.
    Alertmanager
    Alertmanager is crucial for managing Prometheus alerts. I have extensive experience with routing rules, notification channels, and managing alert fatigue through proper grouping and throttling. Critical component for production monitoring systems.
    Thanos / Mimir
    I have used both Thanos and Mimir for long-term Prometheus storage. These tools are essential when you require long-term metric retention as default Prometheus storage is quite limited.
    Loki
    Loki provides excellent log aggregation capabilities with Prometheus-like query language. I have used it for centralized logging in Kubernetes environments, integrated with Grafana for unified observability dashboards. Much more resource-efficient than traditional ELK stack, quite easy to setup and maintain.
    Tempo
    Tempo is Grafana's distributed tracing solution. I have experience with it for tracing microservices interactions, though it's still evolving compared to more mature solutions like Jaeger. Good integration with the Grafana ecosystem.
    OpenTelemetry
    OpenTelemetry is the future of observability instrumentation. I have some experience with implementing traces and metrics collection, though it's still a rapidly evolving ecosystem.
Programming & Scripting
  • Go

    Go
    I use Go primarily for infrastructure-related development as it's the go-to language in this area. Not an expert yet but still improving with each project.
  • Bash/Shell scripting

    Bash/Shell scripting
    Bread and butter in DevOps life. Won't say that I love it, but in a lot of situations it is the best tool for the job.
  • Python

    Python
    In a lot of situations, it's my first choice for scripting. Its popularity means that there is always a library for what you need, and if not, you can always write your own super fast.
    Django
    I had a chance to spend some time with Django and have to say this is an awesome framework for some use cases like CRUD generation and similar tasks. With Python's expressiveness and simplicity, it is a great tool.
  • Javascript / Typescript

    Javascript / Typescript
    Similar to Python, it is a great tool for scripting and a bunch of different use cases. I work quite a lot with TypeScript / Node in my free time.
  • JVM

    Java

    Worked almost a decade as Java Dev :)

    • Oracle Certified Professional, Java SE 8 Programmer
    • Oracle Certified Expert Java EE 6 Java Persistence API Developer
    • Oracle Certified Expert Java EE 6 Web Component Developer
    • Oracle Certified Professional Java SE 6 Programmer
    • Oracle Identity Governance Suite 11g PS3 Certified Implementation Specialist
    • Oracle SOA Suite 12c Certified Implementation Specialist
    • Oracle WebLogic Server 12c Certified Implementation Specialist
    Kotlin
    Worked also with Kotlin during my Java Dev time :)
    Groovy
    Knowledge is quite useful for Jenkins
    SpringBoot
    Still from time to time I have to deal with it as I support quite a lot of JVM-related projects and remember the time when there was no framework for everything and only Spring existed ;)
Databases and servers
  • Databases

    MongoDB / Atlas
    MongoDB is popular NoSQL database. I have experience with both self-hosted and Atlas cloud deployments. Excellent for document-based applications and rapid prototyping.
    PostgreSQL
    PostgreSQL is my preferred relational database for its reliability, advanced features, and excellent performance. I have good experience with complex queries, indexing strategies, and database optimization.
    MariaDB / MySQL
    I have worked with MariaDB in several projects, particularly as a MySQL alternative. Good experience with basic administration, replication setup, and performance tuning. Solid choice for traditional web applications.
    Elasticsearch / Opensearch
    I have used both Elasticsearch and OpenSearch for log analysis, full-text search, and analytics. Experience includes cluster management, index optimization, and complex search queries. Powerful for search and analytics use cases. Remember the times where Elasticsearch does not exist and Apache Solr or Lucene was first choice for indexing.
    MS SQL Server
    I have some experience with MS SQL Server from enterprise projects, including database design, stored procedures, and basic administration.
  • Servers

    Nginx
    Nginx is my go-to web server and reverse proxy. I have extensive experience with load balancing, SSL termination, complex routing rules, and performance optimization. Essential component in most of my infrastructure setups for its reliability and performance.
    Tomcat
    Tomcat was my primary application server during my Java development years. I have good experience with deployment, configuration, and troubleshooting. Use it less frequently now but still maintaining JVM based apps on top of SpringBoot which using it as default embedded web server.
  • Identity & access management

    Keycloak
    Keycloak is my preferred open-source identity and access management solution. I have extensive experience with complex setups including federation, custom themes, user management, integration with various applications and management with Terraform and Crossplane. Essential for implementing proper authentication and authorization in modern applications. Excellent for enterprise environments.
Frontend
  • Libraries / Frameworks

    React
    React was the last framework I learned from the "big 3" but I'm currently using it most of the time (especially for private projects like this page). Probably because of its huge popularity, and as I am not a typical frontend guy, it's much easier to build something with existing building blocks.
    Vue
    I know Vue and like it. I worked more with the options-style API, but as I know React right now, the composition API is also not a big issue for me.
    Angular
    I started with Angular.js, which was a big change at that time. I also had some commercial experience and worked for ~3 years with Angular during my time as a Java Dev, but recently I prefer React/Vue over Angular.
    Next.js
    Using for different personal projects. Great framework for React applications with server-side rendering, static site generation, and API routes. Super fast for prototyping and building full-stack apps.
  • CSS

    Tailwind
    I am not a master of CSS but with AI support I can do quite a lot. Tailwind is my preferred CSS framework.
    shadcn/ui
    My preferred UI components library. It is very flexible and easy to use.
Other skills
  • Team collaboration

    Scrum / Kanban
    I have experience with Scrum and Kanban methodologies. I have used them for managing software development, facilitating scrum ceremonies, and helping teams improve their development processes. I am a certifiedProfessional Scrum Master. Scrum works particularly well for complex software development projects with changing requirements, but currently as a DevOps engineer I much prefer the Kanban methodology - it fits the operations workflow much better.
    Prince
    I have aPRINCE2 Foundation certificate. I have knowledge of the PRINCE2 project management methodology, which provides a structured approach to project management with defined roles, processes, and deliverables. It's useful for more traditional project management environments. I gained this knowledge when I was working as a project manager for several projects.

[8]ページ先頭

©2009-2025 Movatter.jp