Projects
Click on the project title to open the project on GitHub.
Terraform-based Azure Infrastructure Automation for Cloud Deployment
I automated the deployment of cloud infrastructure on Microsoft Azure using Terraform. I created a comprehensive infrastructure that includes a resource group, virtual network, subnet, log analytics workspace, recovery services vault, storage account, CentOS Linux VMs, Windows Server VM, data disks, basic load balancer, and an Azure DB for PostgreSQL instance.
I used parametrized Terraform configurations, logical naming conventions, and Azure backend for storing Terraform state information to ensure accuracy and reliability. This project showcases my expertise in Azure infrastructure deployment and automation using Terraform.
Serverless Architecture for Music Application
Implemented a serverless architecture using Amazon DynamoDB, AWS Lambda, and Amazon API Gateway for a web-based music application.
The project involved creating and implementing functionality for users to show all music albums in the database or those of a certain genre, add or delete entries from the database, and update non-key attributes of a given album.
The front-end website was implemented using HTML/JavaScript or Python hosted on Amazon S3. The application was secured by integrating Amazon Cognito with the application to authorize users.
Building a Scalable and Secure Portfolio Website using Route 53 and S3
I deployed a portfolio website using AWS Route 53 and S3 services. I purchased a custom domain name through Route 53 and configured DNS records to point to my website files hosted in S3. To ensure website security, I implemented SSL encryption. To improve website performance and reduce latency, I utilized Amazon CloudFront. Finally, I implemented versioning and object lifecycle policies in S3 to manage the website files efficiently.
Media Sharing Web Application using AWS
The Media Sharing Web Application using AWS is a web application that allows users to upload, share and display images in a gallery format. The web app was developed using Python programming language and Streamlit web framework. The application uses Amazon S3 for storing and retrieving images and Amazon DynamoDB for managing metadata and information about the uploaded images.
The application was designed with scalability and reliability in mind. To achieve this, the application was deployed on AWS EC2 instances with load balancing. Load balancing ensures that the incoming traffic to the web app is distributed evenly across multiple instances, which helps to avoid any one instance becoming overwhelmed with traffic.
Using AWS S3 for storage provides reliable and durable object storage that is scalable and cost-effective. This allows the application to store large amounts of image data without the need for complex on-premises storage infrastructure. Additionally, Amazon DynamoDB is a fast and flexible NoSQL database that can store and retrieve any amount of data, and serve any level of request traffic.
Cloud Platform Virtual Server Installation and Configuration (GCP)
As part of this project, I have installed and configured MS Windows 2019 server and RHEL 8 Linux server instances on a cloud platform, specifically Google Cloud Platform (GCP). I have also implemented various features and functionalities such as logical volume management, Linux scripting, and scheduling. I have used my experience with Linux and cloud computing to successfully complete this project.
Containerizing an Application and Operating it using AWS
In this project, I containerized a Python application using Docker and pushed the image to AWS Elastic Container Registry (ECR). I then deployed the application on AWS EC2 instances with a load balancer to ensure scalability and consistency. By containerizing the application, I was able to create a portable and isolated environment for the application to run, making it easier to deploy and manage. Using AWS EC2 instances with a load balancer allowed me to automatically distribute incoming traffic to multiple instances, ensuring that the application can handle high volumes of requests and that there is no single point of failure. Overall, this project demonstrated how containerization and AWS services can be used to create a reliable and scalable application infrastructure.
Router Configuration Management using GitHub
The Router Configuration Management using GitHub project was developed to automate the tedious task of configuring routers in a GNS3 lab setup. By leveraging Python libraries and a network automation tool, the configuration process was streamlined and made much more efficient. In addition, the project was designed to back up the running-config file to a GitHub repository, providing a secure and reliable method for storing configuration files. The use of GitHub allowed for easy collaboration and version control among team members. Overall, this project helped to reduce the workload of network administrators and improved the efficiency and reliability of router configuration management.
Asterisk Server
In this project, I demonstrated my ability to set up and configure an Asterisk server to enable communication between different SIP clients on different IP addresses. To showcase my proficiency in virtual machine networking, I used two different virtual machines running SIP phones and set up the necessary network configurations to establish communication between them using the Asterisk server. This involved configuring the virtual network interfaces, assigning IP addresses, and configuring the Asterisk server to route the SIP traffic between the two virtual machines. Overall, the project demonstrated my skills in network configuration, virtual machine networking, and VoIP technologies.
Virtual Networking (PfSense)
In this project, I utilized my skills in virtual networking to create a web page on a virtual machine installed on VirtualBox using an Apache web server. To enable access to the web page from the host machine, I configured port forwarding on a pfSense router.
I leveraged my knowledge of networking protocols and network security to ensure that the virtual machines and the network were secure and isolated from external threats. I also utilized my skills in Linux server administration to configure and manage the virtual machines effectively.
Overall, this project showcased my ability to set up and manage complex virtual networking environments, including configuring routers, virtual machines, and web servers, as well as ensuring network security and isolation.
Skills
Automation Technologies
- Terraform for Azure
- Ansible
- DevOps
- Docker
- Git
- GitHub
- Bash Shell Scripting
AWS Technologies
- Amazon Web Services (AWS)
- Amazon Elastic Compute Cloud (EC2)
- Amazon Simple Storage Service (S3)
- Amazon Relational Database Service (RDS)
- Amazon Virtual Private Cloud (VPC)
- Amazon CloudFront
- Amazon Route 53
- Amazon Elastic Load Balancing (ELB)
- Amazon CloudWatch
- Amazon Identity and Access Management (IAM)
- Amazon Glacier
- Fargate
- Elastic Kubernetes Services (EKS)
Networking Technologies
- Cisco Networking
- Cisco Routers
- Switches
- Ethernet
- WAN
- TCP/IP
- RIP
- Access Control List (ACL)
- Network Address Translation (NAT)
- Port Address Translation (PAT)
- Wireshark
- Virtual Network
- GPON Networks
Azure
- Terraform for Azure
- Microsoft Azure Virtual Machines
- Microsoft Azure Storage
- Microsoft Azure Database Services
- Microsoft Azure Networking
Google Cloud Platform (GCP)
- Google Cloud Platform (GCP)
- Google Compute Engine
- Google Cloud Storage
- Google Cloud Database Services
- Google Cloud Networking
Programming Languages
- Python
- Bash Shell Scripting