Verified Expert in Engineering
Peter has over ten years of experience as a DevOps engineer, with a strong focus on Java projects and payment providers such as PCI-DSS compliance for eMerchantPay, and Concardis. He has built, migrated, and re-architectured many projects, specializing in turning a large monolith architecture into an elegant microservice. Peter writes and debugs Java Spring, OSGI, Terraform, Ansible, Puppet, BASH, GO, and Perl.
Jenkins, Workflow, Git, Apache JMeter, Linux, GitLab CI/CD, Docker
The most amazing...
...project I've built was a replacement for an API Gateway, using Nginx and a Java daemon.
- Built a DevOps software solution with AWS CodeCommit and AWS CodeDeploy for maintaining Groovy microservices pipelines and allowing the execution of automated tests using docker based on branch name with AWS CloudFormation.
- Built a DevOps software solution with AWS Cloudformation to deploy a PHP microservices application to AWS ECS with BASH.
- Created an AWS CodeCommit to trigger builds in Jenkins for a Java PCI-DSS application hosted in AWS. Once the Jenkins build was complete, it was initiated with AWS CodeDeploy taking JAR files from AWS S3 and deploying them to EC2 instances.
Lead DevOps Engineer
Crypto Startup in Switzerland
- Created a config-driven provision and deployed system with Python and Pulumi, with a focus on AWS.
- Provisioned AWS EKS environment with Amazon MSK (Apache Kafka) and all other services needed, including monitoring infrastructure, before deploying the HFT services.
- Monitored the infrastructure (Grafana/Loki/Promtail/Prometheus) to avoid storing any information on the AWS EKS clusters. All of the services store their data outside the EKS cluster.
- Implemented global observability with AWS Transit Gateway, AWS Organizations, Grafana, Loki, Promtail, Prometheus, and Thanos.
- Created a complete CI/CD solution with Github Actions. Added a local Devenv so that the developers can test their code locally.
- Added BlockExplorer to the stack and a tool to manage the service configurations securely with AWS secrets manager.
- Automated deployment of the services to an auto-scalable AWS ECS and EKS infrastructure.
Senior DevOps Software Engineer Team Lead
- Built microservice architecture and CI/CD architecture from scratch.
- Revamped all old architecture with GlassFish to run in Docker containers.
- Updated all Ansible roles and improved the maintenance procedure.
- Built the Git workflow and integrated it into the CI/CD pipelines.
- Built front-end CI/CD architecture for games. This involves far more complex challenges than what is normally found with software products.
- Utilized Jenkins and git tag push for GIT workflow's release logic, getting a container with the tag.
- Completed documentation for every aspect of the DevOps solution, created with a proposal, then PoC, and then implementation. This way, the CTO would have a clear view of future implementation and approve/change logic.
Senior DevOps Software Engineer
- Built a .NET Sitecore CI and CD pipeline for https://www.randa.org/ hosted in AWS within three months. I used the Git workflow integration and utilized AWS CloudFormation PowerShell automation to provision the Sitecore application stack.
- Automated the build and deployment of NuGet packages with JetBrains TeamCity, and Octopus Deploy. The stack ran on Windows 2012 servers with PowerShell DSC modules.
- Succeeded in dropping the Sitecore CloudFormation application stack provision time to 47 seconds. It took 16 minutes for the building and deploying of the Sitecore NuGet packages. This was done with Octopus.
- Developed a small Java SpringBoot project with image recognition in under two weeks. The development environment was created with Docker-Compose. https://play.google.com/store/apps/details?id=com.citizenwatch.android&hl=bg.
- Built, deployed, and ran performance tests in BASH.
- Created a payment gateway monolith with Java Spring, OSGI, MariaDB, Apache Karaf, Apache Ignite, ELK stack, and Docker. https://concardis.com/.
- Oversaw performance improvements on the Docker and MariaDB layers.
- Analyzed and proposed moving the monolith architecture to a microservice involving Kubernetes, Apache Kafka, and a MongoDB cluster.
- Excluded PCI-DSS-related services to separate the network, lowering the scope of the PCI-DSS audit to be done only on particular microservices.
Senior DevOps Engineer
- Built a local development environment used by software engineers to deploy source code changes and run a payment gateway application stack.
- Reverse engineered clones of all VMs part of the staging Devenv. Connected all of them to a PuppetMaster using Puppet2 architecture, as this was the original setup done from the datacenter engineers.
- Wrote Jenkins files to allow developers to independently deploy different services on the local Devenv with server-lock during deployment, and automated unlock after the QA tests were completed.
- Fixed all pre- and post-deployment issues, providing the company with a fully automated way to deploy to all environments (development, staging, and production) using Jenkins files.
- Created a Docker development environment with one container used only for Ruby Gems cache, allowing a quick rebuild of all modules which improved the development process on the stage.
- Managed a team of two DevOps engineers. Guided them in the application stack architecture, and provided knowledge on different problem debugging techniques.
Senior DevOps Software Engineer
- Built a complex API gateway with Nginx that was managed from a Java daemon, allowing a dynamic API key rate limit and scaling based on the load of the particular cluster of Nginx machines.
- Developed tools to improve the ability to rapidly deploy, and effectively monitor custom applications in a large-scale UNIX environment.
- Designed cross data center worldwide systems with a high availability mindset.
- Built an automated ETL (in this case DB anonymization) process to provide developers the ability to always be able to do performance tests with the latest production data.
- Integrated EU GDPR rules in emoDB for Bazaarvoice.
- Migrated the whole ops project from Puppet3 to Puppet4.
- Installed, configured, maintained, troubleshot, and optimized Red Hat Enterprise Linux servers, VMware ESXi, and HA environments.
- Wrote custom tools on Groovy, PHP, PowerShell, Bash, and Perl to improve the internal IT and development environments.
- Troubleshot and optimized GIT, and SVN-like software version control.
- Built three site Artifactory clusters.
- Built a Groovy confluence and Jira plugin that provisioned VMware virtual machines to help the Comptel support engineers create customer environments such as RHEL with OracleDB and Java JDK via a drop-down menu in Confluence.
- Built a cPanel plugin to deploy Java WAR files in shared hosting accounts.
- Deployed PERL automations to clean old, shared web hosting accounts.
- Created a Puppet automation to provision and manage CentOS virtual machines used for shared web hosting servers.
Linux System Administrator
- Implemented Puppet automation for managing shared web hosting servers.
- Initiated PERL automation for provisioning cPanel servers.
- Developed PostgreSQL triggers to help manage the shared web hosting customer plans.
- Implemented MySQL clusters to manage the payments of the resellers of the shared hosting account.
PCI-DSS Compatible EFK Stackhttps://github.com/petardenev/efk-stack-pci-dss
Ansible Role of PCI-DSS MariaDB Cluster Hardened Configurationhttps://github.com/petardenev/pci-dss-mariadb-cluster
Nginx Patched to work with Ey-balancer and Delay Modules with OpenSSLhttps://github.com/petardenev/ngx-delay-haproxy-queue
The setup is suitable for implementation of Java micro caching with low request-response answers. The Ey-balancer patch was created with the possibility to use the least_conn method of distributing incoming requests to the back end. This improved the response time in the critical part of the library.
PowerShell Desired State Configuration (DSC) Generatorhttps://github.com/petardenev/dsc-generator
Ruby DSL for Creating CloudFormation Templateshttps://github.com/petardenev/cloudformation-ruby-dsl
CloudFormation templates often contain repeated stanzas, information which must be loaded from external sources, and other functionality that would be more easily handled as code, instead of configuration.
Consider when a user data script needs to be added to a CloudFormation template. Traditionally, you would rewrite the script by hand in a valid JSON format. Using the DSL, you can specify the file containing the script, and generate the correct information at runtime.
:UserData => base64(interpolate(file('userdata.sh')))
Additionally, CloudFormation templates are just massive JSON documents, making general readability and reusability an issue. The DSL allows not only a cleaner format (and comments), but will also allow the same DSL template to be reused as needed.
Reverse Engineer Server Configurationhttps://github.com/petardenev/blueprint
Blueprint reverse-engineers servers.
Easy configuration management.
Detects relevant packages, files, and source installs.
Generates reusable server configurations.
Converts blueprints to Puppet, Chef or CFEngine 3.
No DSLs, no extra servers, no workflow changes.
Bash, Regex, Bash Script, PHP, Java, Python, Ruby, Groovy, Perl, TypeScript
AWS HA, Ant Design, Laravel, Spring, OSGi, Ruby on Rails (RoR), Apache Spark, Windows PowerShell
Jenkins Job DSL, Jenkins Pipeline, Spring LDAP, ODBC, Jira REST API
Jenkins, Docker Compose, Puppet, Gradle, Apache Maven, Amazon EBS, GCC, GPG, Tcpdump, Packer, ActiveMQ, AWS CloudFormation, Terraform, Nagios, ELK (Elastic Stack), Logstash, Fluentd, OWASP Zed Attack Proxy (ZAP), Git, Jira, Confluence, Artifactory, AWS CodeDeploy, AWS CodeCommit, AWS CodeBuild, Apache Karaf, Ansible, Atom, Apache JMeter, Apache Ignite, Cluster, NGINX, Apache ZooKeeper, Mercurial, Apache Tomcat, GitLab CI/CD, Bitbucket, Amazon EKS, GitLab
REST, Scrum, Kanban, Agile, Extreme Programming
Amazon Web Services (AWS), Docker, Apache Kafka, Nexus, Linux, cPanel, CentOS, Debian, Blockchain, Ethereum, Kubernetes, Azure
Amazon S3 (AWS S3), MySQL, PostgreSQL, ANSI SQL, Redis, NoSQL, DRBD, MongoDB, Oracle RDBMS, MariaDB, Cassandra
Groovy Scripting, Apache Cassandra, Grep, Secure Copy Protocol (SCP), RSync, NFS, LDAP, Crontab, RPM Packaging, Debian Packaging, VMware ESXi, Debugging, GitOps, DNS, PCI DSS, Security, Workflow, RHEL, GlassFish, GitHub Actions, Pulumi
Bachelor's Degree in Computer Engineering
Plovdiv University Paisii Hilendarski - Plovdiv, Bulgaria
Red Hat Certified System Administrator
Red Hat, Inc.