0% found this document useful (0 votes)
32 views

Project Explanation Brief

Uploaded by

Nikith Rao
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Project Explanation Brief

Uploaded by

Nikith Rao
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Career Summary points

 4+ EXP in managing software configurations, controlling diff versions of


software, managing the process of building, and releasing software,
handling changes, and integrating cloud technologies.
 Exp in managing Linux OS, handling the process of building application
software, and releasing it to the users.
 I have used Puppet and Chef to automate tasks, used Ansible for
managing configurations, ensuring everything runs smoothly.

Hands-On EXP with AWS


 EC2 – virtual servers in the cloud
 S3 – Object storage
 Glacier – low-cost storage to archive data
 ELB – Load balancer that distributes incoming traffic across various servers
 Redshift – Data warehousing service
 IAM – to manage access to AWS services and resources in secured manner
 Route 53 – DNS for AWS
 VPC – Virtual Private Cloud
 Auto Scaling – Based on demand and requirement, automatically adjust
the num of instances
 CloudWatch – Monitoring service for AWS resources
 Cloud Trail – used for tracking user activity and API usage
 CloudFormation – automates the setup of AWS resources
 Nagios – For monitoring systems and networks
 Splunk – Used for searching, monitoring, and analyzing machine-
generated data
 Grafana – For visualizing data
 Prometheus – For monitoring and alerting data
 ELK Stack – Set of tools for searching, analyzing, and visualizing data
 Elastic Search – Search and analytics engine

 EXP in writing queries to interact with databases like Oracle, MySQL, and
SQL server
 Involved in using and deploying applications on web servers like Apache
Tomcat, Nginx, and WebLogic.
 Containerization – it involves packing/storing software/pipeline in a way
that it can run across diff environments. Managed Docker and Kubernetes
containers.

PROJECTS SIMPLIFIED (BREAK DOWN)


PROJECT 1 - EXPLANATION
Migrating from On-Premise Infrastructure to AWS Cloud
 The project mainly involved moving company’s IT Infrastructure (setup)
from their traditional servers (on-premise) to AWS cloud. Here, instead of
managing hardware and software on company’s premises (on-site),
everything is moved to AWS cloud data centers and AWS handles
everything.
Focus on High-Availability, Fault Tolerance, and Auto Scaling
 High availability – The goal of the project was to ensure that the
applications and services are always available with minimal downtime.
 Fault tolerance – The system was designed to continue its operation even
if some of the components fail and this ensures that a single failure does
not bring down the entire system.
 Auto scaling – The system automatically adjusts the number of computing
resources/servers based on demand and requirements.
For Example – If more people start using an application, more servers will
be added automatically to handle the increased load.
Using AWS CloudFormation
 CloudFormation tool helps you to set up and manage AWS
resources/servers/databases etc. automatically using templates. Instead of
manually configuring these resources, we write a template that defines
everything related and CloudFormation helps setting up the resource by
given template.
Configuring Performance Metrics with AWS CloudWatch & CloudTrail
 AWS CloudWatch – It is used to manage various aspects of system’s
performance like CPU usage, memory, and network traffic. Eventually it
helps to check everything is running smoothly and alerts if something is
wrong.
 AWS CloudTrail – It is used to keep record of all actions taken in AWS
environment. (For ex- who accessed resources, at what time, with specific
reasons). It is widely used for security and auditing.

Cross-Account Deployments with AWS CodePipeline, CodeBuild, and


CodeDeploy
This project mainly involved in deploying applications across diff AWS accounts.
 AWS CodePipeline – This tool automates the process of building, testing,
and deploying code changes.
 AWS CodeBuild – This tool compiles our source code, runs tests, and
produces software packages that are ready and available to deploy in the
server.
 AWS CodeDeploy – This tool automates the process of deployment
(deploying applications) to various AWS services like EC2, Lambda etc
 Cross-Account Roles and Policies – Special permissions are setup in AWS
IAM (Identity and Access Management) to allow resources from one AWS
account to interact with other resources in another account (securely).
Configuring Management VPC Peering Between Different VPCs
 VPC (Virtual Private Cloud) – A VPC is a virtual network given to your AWS
account, different from other networks. This project involved connecting
diff VPCs in various AWS accounts so they could communicate securely. It
is called VPC Peering.
Writing Lambda Functions for Automation
 AWS Lambda – This service lets you run code without managing servers.
When you write the code in Lambda, AWS handles everything. This project
is involved in writing various lambda functions to automate tasks in the
cloud, automatically maintaining the infrastructure.
Using AWS Route 53 for High-Availability and Disaster Recovery
 AWS Route 53 – It is a DNS service that routes (traffic routing) end users to
online applications. If one server or data center goes down, it ensures that
the traffic can be redirected to any other server or location, minimizing
downtime. It also ensures the application remains available during a
failure or disaster.
Maintaining AWS Services (IAM, RDS, Route 53, VPC, DynamoDB, SQS,
SNS)
This project mainly involved in managing and maintaining various AWS services
 IAM (Identity and Access Management) – Used for managing user accounts
and permissions
 RDS (Relational Database Service) – Used for managing databases
 DynamoDB – It is a NoSQL database service
 SQS (Simple Queue Service) – Used for managing message queues to
separate and scale microservices, distributed systems and serverless
applications
 SNS (Simple Notification Service) – Used for managing notifications and
messages

Creating Subnets and Operational Tasks with Ansible


 Ansible – AWS tool for automating IT tasks. It’s used to create subnets
(subdivisions of VPC), managing configurations and perform various tasks.
This Ansible automation saves time and reduces errors.
Deploying Microservices with Ansible
 Microservices – These are small and independent services that work
together as a part of large application. These are deployed on AWS using
Ansible, which is also provisioned (set up) servers and databases.
 Provisioning Load Balancer, Auto-Scaling and Launch Configuration –
Ansible is used to set up load balancer (that distributes traffic across
various servers), auto-scaling groups (automatically add or remove
servers based on demand or requirement), launch configurations
(templates for setting up new servers).
Deploying Application Updates with Jenkins
 Jenkins (CI/CD tool) – Tool used for automating software development
process (building and testing code and deploying updates). In this project,
Jenkins is used to deploy updates to applications and manage
notifications, ensuring deployment was smooth and consistent.

PROJECT 2 – EXPLANATION
Deploying Infrastructure-as-Code with CloudFormation
 Infrastructure-as-Code (IaC) – IaC is a method where you write code to set
up and manage your (IT infrastructure) servers, databases, networks etc.
instead of doing manually.
In this project, we used CloudFormation (AWS tool) to create and manage
infrastructure through templates. These templates automatically setup
EC2 Instances, ELBs, Auto Scaling groups, S3 Buckets.
 EC2 Instance – Virtual server in AWS
 ELB (Elastic Load Balancers) – to distribute traffic across multiple servers
 Auto scaling – Automatically increase or decrease the no. of servers based
on traffic or usage performance
 S3 Buckets – cloud storage for storing files and data

Continuous Integration (CI) with Jenkins and CloudFormation


 Continuous Integration (CI) – It is a practice or method where developers
regularly merge their code changes into shared repository (directory or
folder) and automated tests are run.
 Jenkins – Automation tool in setting up CI to build and test the code
automatically.
In this project, Jenkins is used for CloudFormation stack updates. It means
it automatically updates the infrastructure setup ensuring latest changes
are always there.
Deploying WordPress with CloudFormation
 WordPress: A content management system (CMS).
 RDS Instance: AWS's managed relational database service.
 Database and EC2 Instances: This helps setting up both the database and
the virtual machines (servers) to host the WordPress site.
Responsible for Continuous Integration (CI) and Continuous Delivery
(CD)
 CI: Regularly merging code changes and testing them automatically.
 Continuous Delivery (CD): if one code passes tests in CI, it is automatically
prepared for deployment.
In this project, we managed both CI and CD processes, ensuring the code
is constantly tested and ready for deployment without manual
interference.
Maintaining AWS Services
We are responsible for maintaining various AWS services
 IAM (Identity and Access Management) – Used for managing user accounts
and permissions
 RDS (Relational Database Service) – Used for managing databases
 DynamoDB – It is a NoSQL database service
 SQS (Simple Queue Service) – Used for managing message queues to
separate and scale microservices, distributed systems and serverless
applications
 SNS (Simple Notification Service) – Used for managing notifications and
messages
 SES (Simple Email Service) – For sending emails through AWS
 VPC (Virtual Private Cloud) – A VPC is a virtual network given to your AWS
 Route 53 – DNS for AWS
 RDB (Relational Database) – Traditional databases

Working with Auto Scaling, CloudWatch, and Other AWS Services


 Auto Scaling - Automatically adjusts the number of servers based on traffic
or resource usage.
 CloudWatch - AWS’s monitoring service that tracks performance metrics
and alerts if something goes wrong.
 Elastic Beanstalk - An AWS service that makes it easy to deploy and
manage applications in the cloud.
Amazon S3 - AWS’s cloud storage service.
 Amazon EBS (Elastic Block Store) - Provides persistent storage for EC2
instances (like hard drives attached to virtual servers).
Using Chef for Configuration Management
 Chef – It is a tool to automate setup, configuration, and management of
servers. We used chef to automate tasks like installing software and
managing configurations on both traditional (physical) and cloud servers.
Deploying and Managing Servers with Chef
 We used Chef to manage and deploy many servers on AWS. These servers
are hosted either on traditional infrastructure or in the AWS cloud. Chef
ensured that servers are configured correctly and regularly.
Implementing TFS Release Management
 TFS (Team Foundation Server) - It is a version control and project
management tool from Microsoft. We implemented TFS’s release
management functionality. It means we helped automate the process of
deploying new versions of the software across the company’s codebases.
Setting Up Jenkins for Scalability
 We set up Jenkins master which controls the automated building and
testing of a code. We also added necessary plugins and slaves (additional
servers that handle the workload). This setup helped Jenkins to handle
larger-scale operations, allowing it to test and build code more efficiently.

PROJECT 3 – EXPLANATION
Design, Development, Testing, and Implementation of Application Build
Processes
 Application Build Processes - This involves creating a system that
automatically takes the source code, compiles it, and prepares it for
deployment. In this project, we are involved in designing, developing,
testing, and implementing these processes, which are essential for
producing a final product that can be deployed.
Developing Scripts and Automation Tools
 Scripts and Automation Tools - We created custom scripts and tools to
automate the process of building, integrating, and deploying software.
This reduces the need for manual interference, ensuring the process is
faster, more reliable, and less prone to errors.
Working with the Development Team
 We collaborated closely with dev team to enhance the CI, build and
deployment processes. This means we ensured that new code changes
were automatically tested, integrated, and deployed smoothly. We
specifically focused more on Microsoft Team Foundation Server (TFS) and
ClearCase, which are tools for version control and project management.
Improving Continuous Integration Environment
 Continuous Integration (CI) Environment – It is a practice or method where
developers regularly merge their code changes into shared repository
(directory or folder) and automated tests are run.
 Our role is to make this environment faster, more efficient, and scalable by
automating as many tasks as possible.

Building and Deploying Artifacts


Artifacts - These are the compiled outputs of our software build, like executable
files or packaged applications. We were responsible for building these artifacts
and deploying them into different environments

 DEV (Development) - Where developers work on the code.


 SIT (System Integration Testing) - Where different parts of the application
are tested together.
 QA (Quality Assurance) - Where the application is tested to ensure it
meets quality standards.

Creating GIT Configuration Records

 GIT Configuration Records - GIT is a version control system used to track


changes in code. Here, we created configuration records that logged
information about each build, using data generated during the build audit
process. This helps in tracking what was built, how it was built, and any
issues that occurred.

Automating Builds and Deployments of J2EE Web Applications

 J2EE Web Applications – These are Java-based enterprise applications. We


automated the process of building and deploying these applications to a
WebLogic application server, which is a platform used to run Java-based
applications.

Managing Tools and Performing Maintenance

We managed various tools namely

 Subversion – A version control system


 Jenkins (CI/CD) – An automated server used for building and deploying
applications
 JIRA – A tool used for issue tracking and project management.
 We also performed maintenance and troubleshooting on these systems to
ensure they worked correctly and efficiently.

Archiving and Storing Source Code

 Periodic Archiving and Storage – We are involved in regularly saving


copies of the source code and storing them securely. This is important for
disaster recovery, ensuring that if something goes wrong, you can recover
previous versions of the code.

Developing and Enhancing the Configuration Management System

 Configuration Management System - This system tracks and manages


changes to software configurations. We worked on developing and
improving this system, making it easier to manage software versions and
configurations across different environments.

Creating and Maintaining Build/Deploy Scripts

 We created and maintained scripts that automate the build and


deployment process. These scripts are written in various languages like
Perl, Ruby, Bash. These scripts help in automating repetitive tasks,
ensuring consistency, and reducing errors.

Setting Up Chef for Server Automation

 Chef - AWS tool used for automating the setup and management of server
infrastructure. We set up the Chef server and client and wrote Chef
modules that defined how servers should be configured and managed
automatically.

Migrating ClearCase to Subversion and GIT

 ClearCase – This is an older version control system. We worked on


migrating projects from ClearCase to more modern systems like
Subversion and GIT. This involved transferring all the code, history, and
settings to the new systems.

Administering ClearCase and Subversion

 We managed and maintained the ClearCase and Subversion repositories,


ensuring that all the source code and project history were stored correctly
and securely.

Creating and Maintaining Continuous Integration Builds


 Build Forge and Cruise Control - These are tools used for setting up and
managing continuous integration processes. We created and maintained
CI builds using these tools, which involved setting up automated systems
that continuously build and test the code to ensure everything works as
expected.

You might also like