Projects
- Ticketing
- Data Engineering
- DevOps Center of Excellence
- Highwire
- Multi-access Edge Computing PoC
- SME administration support software
- Comarch OSS Suite
Ticketing
Since 2022-09
Project description
Modern system of selling public transport tickets. I joined the project at the very beginning. It is my first green field project. I had a chance to choose most of technology stack on DevOps end.
My goal is to follow GitOps principles as much as possible. They let me to have only one source of truth, track and audit all changes in the infrastructure and make easy to recreate whole infrastructure in case of disaster.
Technology stack
Microsoft Azure – cloud provider (AKS, DevOps, Pipelines, DNS)
Hashicorp Terraform – Infrastructure as a Code tool
Docker – container system
Kubernetes – container orchestration system
Azure Pipelines – Continuous Integration
Argo CD – Continuous Deployment tool
Helm – deployment & template tool
Git (Azure DevOps) – version control system
Data Engineering
2022-03 – 2022-07
Project description
The project for huge Bank company in the UK. I took this opportunity to see how to work for a Bank. I was a member of DevOps team composed of ~5 engineers. We inherited a huge number of junk code repositories to maintain and develop. Our role was to support cloud infrastructure for a data engineering team.
I imaginated Bank as a corporation of order when everything needs to be very well done following best practices. I was wrong. Everything was upside down. Bank procedures was always blocking. I spend a lot of time asking and waiting for approvals. There was also no documentation. To get some piece of information there was a need to schedule a meeting, asking people, etc. We tried to force to be more agile but no luck. I realized there’s nothing to learn here. I decided to leave the project after 4 months. I learned here that documentation is very important and technological debt needs to be paying off. It’s not enough to deliver new functionalities, managing architecture, refactoring and keeping the code clean is also important.
Technology stack
Amazon Web Services – cloud provider (EC2, ECS, EMR)
Hashicorp Terraform – Infrastructure as a Code tool
Apache Airflow – workflows scheduler/monitor
Docker – container system
Git (TFS)- version control system
DevOps Center of Excellence
2021-02 – 2022-02
Project description
The project for big company based in the US. The company operates in fleet management, fleet safety, video telematics and vehicle tracking industry. It was a huge project with 12 development teams. I was a member of a ~10 person team composed of DevOps engineers who support development teams. We were developing huge and quite complex system for CI/CD and IaC.
I had a chance to work with more experienced team. I dug deeper into technology I already known. I could see how to design CI/CD pipelines and IaC to be more generic and how can be fitted to specific application. To be hones it was a little bit over-complex in my opinion. I’m a big fun of simple solutions. It was a challenging project that pushed me forward.
Technology stack
Amazon Web Services – cloud provider (IAM, EC2, RDS, S3, EKS, ALB, MSK, Route53, VPC, CloudWatch)
Kubernetes – container orchestration system
Docker – container system
Jenkins – CI/CD pipelines
Helm – template tool and package manager
Python – programming/scripting language
Kong – API Gateway
Git (TFS)- version control system
Highwire
2020-11 – 2021-02
Project description
It was a very small project for the customer who operates in investment management industry. I worked in the one team of 3, together with frontend developer and backend developer. My role was to improve CI/CD pipelines in Jenkins, because they ware not optimal and worked unstable. I did a huge refactor based on knowledge gained in last 2 projects. I set up Jenkins using multi-branch pipelines and auto provisioned Jenkins agents spawned as an EC2 machines automatically on demand. It got rid of influencing one pipeline on second because each job had its own dedicated agent machine. I also fixed Cypress testing part to be more stable and I added parallelism to shorten running time. I also checked which machine types had the best performance to price ratio for these jobs. It was a good experience to improve CI/CD processes.
Technology stack
Amazon Web Services – cloud provider (IAM, S3, EC2, ECS, ALB, RDS, Route53, VPC)
Hashicorp Terraform – Infrastructure as a Code tool
Jenkins – CI/CD pipelines
Groovy – scripting language
Git (Bitbucket) – version control system
Multi-access Edge Computing PoC
2020-04 – 2020-06
Project description
It was a proof of concept for MEC 5G technology project. The goal was to setup infrastructure that could cooperate with edge computing. The infrastructure has to be ready to manage life cycle of edge computing software package. We had edge cluster that could be places at the edge of 5G network and home cluster that could be placed in a cloud. It was a kind of backup infrastructure. There was a dedicated multi-competence team. My role was a DevOps Engineer who set up whole infrastructure and pipelines. This was my first AWS project from scratch. I had to learn a lot here.
Technology stack
Amazon Web Services – cloud provider (IAM, EKS, S3, ALB, Lambda, CodeBuild, CodeCommit, Route53, VPC)
Hashicorp Terraform – Infrastructure as a Code tool
Kubernetes – container orchestration
Ansible – installer
Python – AWS Lambda language
Git (CodeCommit) – version control system
SME administration support software
2018-09 – 2020-04
Project description
The project was for the customer based in Switzerland who develop software that can support Small and Medium-sized Enterprises administration. Invoices, contacts, expenses, product management, accounting, payrolls, etc. I joined to the guy who was responsible for setting up whole the infrastructure at the beginning. The project was growing so he needs more support. It was my first project led according to DevOps principles. I could see many good practices in real life. I learnt here a lot. This project pushed me forward the most in my career. I learnt Terraform, AWS, Jenkins (Groovy) and saw Kubernetes cluster on production environment. The project used many technologies I could learn. I was responsible for infrastructure, CI/CD pipelines, metrcis, dashboards and many other automations like setting up local environment, etc.
Technology stack
Kubernetes – container orchestration system
Openshift – container orchestration system
Helm – template tool
Google Cloud Provider – cloud provider (IAM, GKE, Compute Engine, Load Balancers, Cloud Storage, SQL, Cloud DNS, VPC, ContainerRegistry)
Amazon Web Services – cloud provider (IAM, EC2, EKS, Lambda, RDS, S3, ALB, EFS, Route53, VPC)
Grafana – dashboards for metrics
Prometheus – metrics database
ELK – log management stack
Redis – cache database
Docker – container system
Packer – AMI builder
Hashicorp Vagrant – virtual machine manager
Hashicorp Terraform – Infrastructure as a Code tool
Ansible – configuration management
Apache Kafka – streams and event storming platform
PostrgreSQL – relational database
MySQL – relational database
MongoDB – non-relational database
Kong – API gateway
Jenkins – CI/CD pipelines
Groovy – scripting language
Git (Bitbucket) – version control system
Comarch OSS Suite
2012-02 – 2018-08
Project description
I worked as a System Engineer to support Comarch OSS Suite. We started as a team of ~3 and finished as a team of ~15. It was a product for Telecommunications Industry to support telecommunication networks at operations. The product was selling in SaaS model. We supported all environments from dev to prod. We were responsible for infrastructure maintenance, automation of installation/implementation process, release management, 2nd/3rd line support, maintaining Oracle and PostgreSQL databases, system monitoring, python/bash scripting. Everything on bare metal machines. The product was using by many telecoms over the world. I started cooperating with E-Plus, then I cooperated also with T-Mobile Germany, Vivo Brasil, Telefónica Argentina/Chile/Colombia/Peru.
Last 2 years I was designated as a Technical Stream Leader position and I was responsible for finding new technical solutions, making internal presentations, doing internal trainings and also I was a Technical Single Point of Contacts for customers and project managers. It was something like a technical consultant for solutions.
In this time I was also a person who led Docker containerization and try to run basic subsystems in a separate Docker containers using Kubernetes and Openshift orchestration. They were a totally new technologies to me. I’ve learnt a lot this time playing with them and doing many proof of concepts. It was my first real DevOps engineering touch. My idea was not appreciated (or maybe I was not to convincing), so it was one of my reason to leave the company, because I wanted to go as a DevOps engineer and learn container technology and clouds.
Technology stack
Linux – operating system
Docker – container system
Kubernetes – container orchestration system
Openshift – container orchestration system
Jenkins – build automation server
Bamboo – build automation server
Oracle 11g – relational database
HAProxy – reverse proxy
PostreSQL – database
JBoss – application server
Apache Tomcat – web container
Xen VM – virtual machine hypervisor
Salt – configuration management
Ansible – configuration management
Apache Ant (contrib lib) – build and scripting tool
keepalived – High Availability solution
Veritas Cluster Server – High Availability cluster solution
Bash – scripting language
Python – scripting language
Subversion – version control system