The Full Story
Projects
Throughout my professional career, I have had the privilege of working on a variety of cloud-related projects that have significantly shaped my expertise and understanding of modern infrastructure and application deployment. In my roles as a Site Reliability Engineer (SRE) and DevOps Engineer, I have been at the forefront of supporting and managing both Software as a Service (SaaS) and Platform as a Service (PaaS) infrastructures, each presenting unique challenges and opportunities for growth.
​
One of the most rewarding aspects of my career has been working with diverse cloud platforms, including Azure, AWS, and Google Cloud Platform (GCP). These experiences have allowed me to design, deploy, and maintain robust infrastructures that support critical business applications. In particular, I have been involved in managing both 2-tier and 3-tier applications, ensuring they are reliable, scalable, and efficient. These applications often served as the backbone for various business functions, requiring meticulous attention to detail and a deep understanding of cloud architectures.
A significant part of my work has involved leveraging Kubernetes environments to provide a flexible and scalable platform for application deployment. By utilizing Docker containers, I have been able to ensure consistency across development, testing, and production environments, simplifying the deployment process and reducing the risk of configuration drift. This containerization approach has been instrumental in supporting both SaaS and PaaS solutions, enabling rapid iteration and deployment of new features.
​
To streamline the deployment and management of these applications, I have extensively used Infrastructure as Code (IaC) tools, such as Terraform and Azure Resource Manager (ARM) templates. These tools have allowed me to automate the provisioning of cloud resources, ensuring that infrastructure is both repeatable and version-controlled. This approach has been particularly beneficial in multi-cloud environments, where consistency and automation are key to managing complex infrastructures.
​
In my role as a DevOps Engineer, I have also been responsible for implementing and maintaining CI/CD pipelines using tools like Azure DevOps and Jenkins. These pipelines have facilitated the continuous integration and delivery of application updates, ensuring that new code is tested and deployed efficiently and reliably. By integrating automated testing and monitoring into these pipelines, I have been able to maintain high levels of quality and performance across all deployments.
One of the most challenging yet rewarding projects involved migrating a legacy 3-tier application to a modern microservices architecture hosted on Kubernetes. This project required close collaboration with development teams to refactor the application and ensure seamless integration with existing services. The successful migration not only improved the application's scalability and resilience but also reduced operational overhead and increased deployment velocity.
​
Throughout my career, I have been driven by a passion for innovation and a commitment to excellence in cloud infrastructure management. Each project has provided valuable lessons and insights, allowing me to continuously refine my skills and contribute to the success of the organizations I have worked with. As I look to the future, I am excited to continue exploring new technologies and approaches that will further enhance the capabilities and reliability of cloud-based applications.

2-Tier Application
Supporting a 2-tier SaaS web application in AWS involves ensuring robust performance and reliability across both the presentation and data tiers while implementing comprehensive monitoring and observability. The application typically consists of a front-end hosted on Amazon EC2 instances, with an Amazon RDS database serving as the back-end. To achieve effective monitoring and observability, we integrated Prometheus and Grafana into the AWS environment. Prometheus collects real-time metrics from both application and infrastructure components, providing invaluable insights into performance and availability. Grafana, with its powerful visualization capabilities, transforms these metrics into intuitive dashboards, allowing us to easily track key performance indicators and identify potential issues before they impact users. This setup not only enhances our ability to monitor the application but also empowers the team to make data-driven decisions, ensuring the SaaS application remains resilient and responsive to user needs. By leveraging Prometheus and Grafana, we have bolstered our observability capabilities, enabling proactive management and continuous improvement of the application’s performance and reliability.
Kubernetes
Managing and deploying a PaaS environment on Azure Kubernetes Service (AKS) was a transformative experience, showcasing the power of automation and modern cloud technologies. Using Azure DevOps as the backbone for our CI/CD pipelines, we automated the deployment process, ensuring seamless integration from code commit to application rollout. Infrastructure as Code (IaC) with tools like ARM templates and Terraform ensured consistent and error-free provisioning of resources, maintaining version control alongside our application code. By leveraging AKS, we configured resilient, self-healing clusters with automated scaling, while Azure Monitor and Log Analytics provided real-time insights into application performance. This project highlighted the importance of collaboration and continuous improvement, empowering our team to confidently deploy changes. The experience not only enhanced my skills in cloud orchestration but also reinforced the value of leveraging cutting-edge technologies to drive innovation and efficiency.


Staic Website with CI/CD
Managing and deploying a static website on Google Cloud Platform (GCP) using Jenkins for CI/CD and GitHub for version control was an exercise in simplicity and efficiency. The workflow began with developers pushing code changes to a GitHub repository, where version control ensured that every update was meticulously tracked and managed. Jenkins, set up as our CI/CD tool, was configured to automatically trigger builds with each commit. It executed scripts to compile static assets and run tests to ensure code integrity. Upon successful builds, Jenkins seamlessly deployed the updated static content to Google Cloud Storage, leveraging its scalability and reliability. This automated process eliminated manual deployment errors, reduced downtime, and ensured a consistent and streamlined approach to website updates. The integration of Jenkins and GitHub in GCP not only enhanced our deployment efficiency but also reinforced best practices in continuous integration and delivery, allowing our team to focus on innovation and content quality.
3-Tier Appliction
Supporting a 3-tier PaaS web application in Azure involves orchestrating a harmonious blend of services to ensure scalability, reliability, and performance. The architecture typically comprises a presentation tier, an application logic tier, and a data tier. In Azure, the presentation tier is hosted on Azure App Service, providing a robust and scalable platform for delivering the front-end interface to users. The application logic tier, often implemented with Azure Functions or App Service, handles the business logic, offering seamless integration with other Azure services. For the data tier, Azure SQL Database or Cosmos DB ensures data integrity and high availability with automatic backups and geo-replication. Azure's built-in monitoring and logging tools, such as Azure Monitor and Application Insights, provide real-time visibility into application performance and health, enabling proactive management and rapid response to potential issues. By leveraging Azure's PaaS offerings, the 3-tier application can dynamically scale to meet demand, while reducing the operational overhead associated with infrastructure management, allowing the team to focus on delivering value through application enhancements and innovation.
