Rajasekar S.

Rajasekar S.

lead network and cloud architect

Chennai , India

Experience: 30 Years

Rajasekar

Chennai , India

lead network and cloud architect

42216 USD / Year

  • Notice Period: Days

30 Years

Now you can Instantly Chat with Rajasekar!

About Me

Experienced IT professional proficient in all phases of the SDLC. Adept at working with agile and scrum methodologies to accomplish project milestones as per agreed timelines. Well organized with more than 20 years of experience in the IT field.De...

 

Front-end Technologies (Angular, React, Vue)

MongoDB, Firebase

SQL Server, Oracle

ASP.NET MVC with C#

J2EE

Show More

Skills

Portfolio Projects

Description

My role is to propose the network architecture, develop terraform scripts to spin up the infra for Dev, Stage and Prod environments. Also help the team to develop ansible scripts to deploy infra components. I am also responsible for code review of Java SpringBoot being used to develop microservices. For observability platform, I have proposed Prometheus, Grafana and Loki since the bank does not want to use CloudWatch to save cost.Custom Proposed custom KMS key to be used to persist data at rest while TLSv1.2 to used for data in transit.

This is a cloud migration project and we have been told to migrate resources to AWS cloud for all markets. The primary region is HongKong with other regions being UK, Singapore, Australia, Ireland and US West. We have also been told to add new regions if necessary. For global product, we have been asked to use Amazon Aurora Global Database with 5 Read Replicas spanning different regions. All microservices, ELK, Hazelcast are to be deployed in EKS in different regions.

Show More Show Less

Description

My role is to propose the network architecture, develop terraform scripts to spin up the infra for Dev, Publish and Prod environments. Use maven in place of Ant to delegate the responsibility of dependency management to Maven. Introduce best practices for compliance and security audit.

This project involves re-spinning the entire infra on AWS platform. Currently the client uses one VM per client exposed to Internet. There is no fail-over mechanism. Single VM acts as both frontend and backend services. All the VMs are attached to Session Manager to that clients could access the VMs without private key. Fine grained access controls is not maintained. Our job is to re-structure and revamp their entire workspace. Another thing is, there are close to 110 jenkins job for various activities. Since there is no proper documentation, we have been asked to clean up and document the process. We have also been asked propose a new infra architecture to reduce their costs.

Show More Show Less

Description

It is a web based tool that lets university professors to open answer sheets stored as PNG files in to the graphical editor to evalue and provide marks for each question answered. Marks in the range of 0.5 to 30 are displayed as icons on the left pane. Other than marks, professors can also enter text, draw lines and circles in the editor. Post evaluation, changes can be downloaded as PNG files for storage and reference.

Show More Show Less

Description

My role was to manually:

  • Create a virtual network
  • Create frontend and backend subnets
  • Spin up 3 VMs in the frontend subnet which includes setting up of java and tomcat in each VM
  • Spin up 3 instances of Postgres 11 (self hosted) in the backend subnet
  • Put an application load balancer in front of hosts running inside frontend subnet.
  • Enable SSL in the application gateway
  • Configure Web Application Firewall to control traffic to frontend hosts
  • Put an internal load balancer in front of hosts running inside backend subnet.
  • Create a second Virtual Network
  • Create build and jump subnets
  • Spin up a VM in the build subnet and install Java, Spring, Maven, Jenkins, Sonar Cube and Ansible in the VM.
  • Create Virtual Machine Scale Set with a minimum of 10 and maximum of 50 hosts.
  • Create a third Virtual Network
  • Create 3 subnets for Dev, QA and Pre-Prod environments.
  • Spin up a VM in each subnet which includes setting up of java and tomcat
  • Spin up Postgres instance in each subnet.

Finally enable peering between 3 virtual networks. Besides this, helped development team to setup a branching strategy such that any build from dev branch will get deployed on to dev server, while build from qa and pre-prod branches were deployed to respective environments.

It is a DevOps project and the requirement was to automate the process for configuration management, continuous integration, continuous testing, continuous delivery and continuous deployment up to Pre-Prod environments.

Show More Show Less

Description

This is an online training platform for people that want to get trained on various technologies, frameworks and tools on AWS platform. The following topics are provided as part of the training program:

Languages: C#, Java

Scripting Languages: Javascript, PHP, Python

Frameworks: Laravel, DJango

Front-end Technologies: Angular, React, Vue

RDBMS: MySql, Sql Server, Postgresql

NoSQL: MongoDB, Firebase, Couchbase

DevOps: Git, Jenkins, Ansible, Docker, Kubernetes

Show More Show Less

Description

This is a DevOps implementation project for a big MNC client. As part of DevOps implementation, 23 angular applications, 18 react applications and 27 java applications were brought in to CI and CD. Five environments were created and each environment was mapped to a particular git branch. As and when code gets checked-in to a branch, build process will get triggered and the built artifacts will get deployed on to the respective environment.

JIRA was used for ticketing feature requests and for each request, a feature branch will get created off the main development branch. Tickets will be created by the project managers and assigned to team members. Each team member will develop the feature and check-in the changes to the feature branch. At the end of the day, each team member will create a pull request that will get sent to team lead who will review the source code changes and merge it with the main development branch. Every merge will trigger the build and deployment process.

Likewise merges from development branch to other branches will trigger the same build and deployment process. Configuration in jenkins will determine the environment on to which the artifacts will be deployed. Once all the features get to production, those branches will be deleted by the project managers by closing the JIRA tickets.

Five main line branches off the trunk were created namely Development, Integration, QA, UAT and Production, Environments related to these branches were configured in Jenkins. Post build process, Jenkins will trigger Docker to containerize these artifacts and invoke Ansible to do the deployment.

Show More Show Less

Description

My responsility was to:

Prepare learning material for Java, Jenkins, Ansible, Docker, Angular, MongoDB and Kubernetes

Store the learning material content in to Mongo Datbase

Develop frontend using Angular 8 plus open source UI components

Develop restful services in Node.js that uses Mongoose to communicate to MongoDB

Use Axios to communicate from client to backend over HTTP protocol

Implement Single-sign on using Keycloak

Use Jasmine and Karma to develop unit test cases

Use single VM on AWS to setup a development environment. This VM also uses Jenkins, Docker and Ansible to deploy the artifacts on staging and prod environments.

It is a DevOps project and the requirement was to automate provisioning of VMs for different internal projects, configuration management, continuous integration and release.

Show More Show Less

Description

Kuba is a web based regulatory compliance tool used by organizations in Norway to get their compliance level audited by the government as and when required. The tool captures the compliance norms stipulated by the government in areas such as safety, construction, banking, insurance etc. Any organization that wishes to get audited for regulatory compliance must first subscribe to the service by paying a fee. Subsequently, they must submit evidence of compliance either in the form of documentation, photo or video. These artifacts are audited by the government periodically to check the compliance level of the organization.

Show More Show Less

Description

Savigent portal is a work order management and tracking tool. Work orders are created by project managers. Each work order contains various tasks. One or more tasks can be assigned to one or more resources. Budget is allocated to every order and expenses incurred are captured and tracked by the managers. Apart from work order, the tool also manages inventory of materials. As materials are withdrawn for various tasks, the same is reduced from the stock and alert report is generated whenever the stock for any item gets below threshold levels.

Show More Show Less

Description

My role was to develop the features requested by the client. Resolve and close the JIRA tickets. Deploy the feature additions to staging server. From there client will take it forward. In the meantime, if bugs were found by their QA team, ticket will be created and I had to act based on the priority of the issue.

It is a support project and whenever a P1 ticket is raised, the SLA was to fix and release within 24 hours. Also some additional features if requested, have to be developed, tested and deployed on to staging environment. Client will move the artifacts from staging to QA and post testing will be moved to production environment

Show More Show Less

Description

It is a DevOps implementation project for the client AIG, North Carolia, USA. The requirement was to bring 20 java applications to bring under continuous integration and deployment. Requirement details related to applications, environments and tools were captured in Confluence. Since the client was already using JIRA and BitBucket, the same tools were used. JIRA was integrated with BitBucket such that whenever a ticket (feature addition, bug fix) was created by the development team, JIRA would create a feature branch off Dev branch in BitBucket. Later upon merging the code with the Dev branch, Jenkins would trigger the build process and update the JIRA ticket with the build number and time. Finally when the feature is released to production, JIRA ticket would be closed with the release build information.

Show More Show Less

Description

Svlite is a web based service virtualization tool which can be used to virtualize live web services. Both WSDL based and RESTful services can be mocked either by recording the transactions from the live service or by importing the raw request / response pairs compressed in a zip file. Recorded transactions can be edited and optionally new transactions can be added. Request matching criteria can be customized to retrieve the response matching the defined criteria. This tool also has a fallback mechanism such that when when live service is unavailable, it will fallback to virtual service and vice versa.This tool uses wiremock (wiremock.org) api to implement the virtualization feature.

Show More Show Less

Description

It is a service virtualization project developed for the client AT&T, Seattle, USA

In this project, 396 live web services were virtualized using the CA DevTest tool by importing raw SOAP request / response pairs from the file system. Some of the core activities done prior to the development of virtual services were, identification of real services to be virtualized, preparation of test cases covering different scenarios, review of test cases with the development team and executing those test cases to make sure that all the test cases worked properly without any errors. Test cases were executed using SoapUI which was configured to route the traffic to CA DevTest recorder before hitting the live service. CA DevTest recorder captured the SOAP request / response traffic in the file system. These files were used to create virtual services. Apart from this, a web based virtualization tool was developed that will allow client users to create and deploy virtual services without the involvement of virtualization team.

Show More Show Less

Description

  • My responsibility was to setup the build server, install Java, Jenkins, SonarQube, Ansible and Maven.
  • Create branches for Dev, QA, Pre-Prod environments in Bitbucket
  • Install webhook in Bitbucket which will trigger Jenkins job when changes are committed.
  • Create piplelines for the build process and configure Jenkins to store the built artifacts in Nexus
  • Build Ansible scripts to pickup the artifacts from Nexus and deploy it on to the pre-configured environments.
  • Providing support to both Dev and Test teams in case they faced any issues.

This is a DevOps project where the Jenkins pipeline was created for 72 java applications to be deployed in to Stage, QA and Pre-Prod environments based on the branch from which the artifacts were built. The built artifacts were stored in Nexus before Ansible picked up those artifacts and deployed it on to the pre-configured environments.

Show More Show Less

Description

This a dual project done for the client T-Mobile Inc, Seattle, USA.

As part of service virtualization, 603 live web services were virtualized using CA DevTest Tool. The process involved understanding each service, payload, different scenarios, preparation of test cases, executing the test cases against live environment, recording the traffic during test execution and finally using the recorded transactions to create virtual services.

As regards DevOps, the requirement was to bring 77 applications under CI/CD. It was then decided to do this in a phased manner with bringing 15 applications per cycle. Since all the applications were java and grails based, it was decided to use open source tools for implementation.

Show More Show Less

Description

Gazelle is a mobile application downloaded and used by general public in US to store and manage their health records. Using this application, a patient can manage his/her medical information, store and track medication details, share his/her health records with other doctors, store emergency contact information, schedule diagnostic appointments, organize healthcare provider information, store travel information and monitor weight and body mass index. In this application, the core responsibility was to develop, enhance and support mid and backend operations. Mid tier was implemented using a set of java based web services, while the backend was implemented using PL/SQL stored procedures.

Show More Show Less

Description

  • My responsibility was to design, develop, test and build the war file.
  • DHTMLx components were used to develop the front end
  • MySQL was used to store the configuration informationn
  • Jersey was used to develop the back end service to communicate to MySQL
  • Create Jenkins job to build the artifacts and store it in Nexus
  • System admin will pick up the WAR and deploy it on to the desired environment.

Accommodate changes which almost came every day till I moved out of this project.

This is a web application named “Properties Manager”. This application allows developers and system admins to store configuration information for each environment for each application. This process can be repeated for different environments for different applications. This information is used by system administrators when spinning up a new VMs in different environments for various applications. Basically this application acts as a central storage for application and system related configurations.

Show More Show Less

Description

  • My responsibility was to design, develop, test and build the war file.
  • Java Websocket interface was used to develop the socket server
  • DHTMLx components were used to develop the front end
  • Web socket client running inside the browser was used to communicate to socket server. Basically this was done to speed up the response.
  • MongoDB was used to store the payload
  • Virtual Service Environment Server was developed which will receive the request from the user, process the request parameters and lookup in the database if similar request is present. If present, it will return the response to the user. If not present, it will forward the request to the production server and return the response. In the process, it will also record the payload in the file system.
  • User can also configure the Virtual Service Environment to send the request first to the production server. If no response from production, then, the response will be sent from virtual service.

This is a web based service virtualization tool. This tool can be used to create virtual services that supports both WSDL based and Restful services. These virtual services can be used by the development and testing teams to quickly develop, test and prepare the product for the early release. Basically it is a simulation of services running in the production environments. Most of the organizations don’t provide access to production environment for Dev and QA teams. To address this gap, virtual services will be developed along with service development team to understand the payload (request / response) for each operation in a service. Then the payload will be used to create Virtual Service. This tool also has a recorder interface, which can be placed between the production server and the user. The user then uses the recorder endpoint to send the service request, which in turn, will forward the request to production.server. As part of this both request and response payload will get recorded in the file system. Virtual Service development can use this recorded payload to create virtual service and deploy it in to a server.

Show More Show Less

Description

Organization: Saturam Infosystems

Clients: Leading MNC Bank In India

Project Title: Virtual Assistant (Chatbot)

Role: Technical Architect

Problem Statement:

It is a web based chat bot (Virtual Assistant) with fronend fully developed in React.js and backend (Actions) written in Python3. This application contains pre-prepared questions and intents stored in the MongoDB database. When a customer asks a question, it is translated to intent. Each intent is connected to a service which will respond with an appropriate answer. There are 100s of intents with thousands of questions and responses stored in the database.

IMy Roles & Responsibilities:

  • Develop backend actions using Python
  • Frontend using React.js, HTML. CSS. Bootstrap and MaterialUI
  • Prepare various types of questionaires and map it to appropriate intents.
  • TLSv2 to secure communication between the server and the client
  • Use Redis to store application state
  • Use Self Hosted MongoDB in AWS to store interactions
  • Technology Stack

    AWS, RHEL 7, React.js, Python, Docker, VS Code Editor, AWS EKS, Redis, Jenkins

Show More Show Less

Description

Organization: Saturam Infosystems

Clients: Leading MNC Bank In India

Project Title: Payments Transaction System

Role: Technical Architect

Problem Statement:

It is a web based payment tracking system with frontend developed using React.js and backend in SpringBoot. The tool tracks the payment from start to finish using multiple sub systems. Whenever a client makes a payment online (it could be load replayment, fund transfer to other entities), system captures the transaction and sends it different Transaction Processing Systems which in turn drops the message (transaction) in a kafka topic. Any service listening to the topic will pick up the message, verify the record and pass it other service via Kafka Topic. Each service has a specific task, post which, if necessary send it another service or send the payment ledger posting.

My Roles & Responsibilities:

  • Develop backend services using SpringBoot
  • Integration with Confluent Kafka For Payment processing
  • Apache Kafka to receive application logs to be dispatched to ELK.
  • Use Protegrity for encrypting personal information
  • Use Redis to store application state
  • Use Hazelcast for caching
  • Use Amazon Aurora PostgreSQL to persist payment transactions.
  • Generate Reports

Technology Stack

AWS, RHEL 7, React.js, Docker, VS Code Editor, AWS EKS, Redis, Jenkins, SonarQube, Amazon Aurora PostgreSQL

Show More Show Less

Description

Organization: Aspire Systems

Clients: Savvas Inc, USA

Project Title: Learning Management System

Role: Technical Architect

Problem Statement:

This is a web application developed for schools in US. It uses React.js as front-end and PostgreSQL as backend with the service layer built using SpringBoot. This application captures school, teacher, student, subject, curriculum and grade information. Each grade is mapped to curriculum and school fees. Whenever a student is enrolled in to a grade, a fee is charged. Each curriculum is mapped to one or more teachers. Based on the curriculum – teacher mappings, a roster is generated every week in consultation with teachers and this roaster is published to all teachers. Whenever a student is logged in to the application, that person’s attendance is marked with time stamp. Same happens when a student logs out. Students have to pay the school fees on or before 5th of every month, failing which, an alert email is sent to the students as well their parents or guardians.

My Roles & Responsibilities:

  • Develop frontend using React.js, HTML, CSS, Bootstrap and Awesome-React-Components
  • Use Redux To Store Application State
  • Develop backend services using SpringBoot
  • Develop Terraform Script To Spin Up The Infra on AWS
  • Create Images Using Docker with Maven-Jib Plugin
  • Prepare Kubernetes Manifests to deploy applications in AWS EKS
  • Support and Maintain The Applications

Technology Stack

AWS, Ubuntu 18.04, React.js, Redux, Docker, VS Code Editor, AWS EKS, Jenkins, SonarQube, PostgreSQL

Show More Show Less

Description

Organization: MAANTT Global Services

Client: Seattle City Council Library, USA

Project Title: Library Management System

Role: Technical Architect

Problem Statement:

This is a React.js based web application developed for the council. The council lends books, DVDs on rent for all their registered patrons. They have 7 centers in the city of Seattle. Any person can walk-in to the library, register, pay a fee and take any library assets to be returned on a due date. If any asset is not returned on or before the due date, a penalty is levied and the membership is taken temporarily to hold status. Upon paying the penalty along with the assets, hold is released so that this person can continue to rent assets.

My Roles & Responsibilities:

  • Develop backend services on Node.js using Typescript
  • Use MongoDB to persist application records
  • Develop Frontend using React.js with HTML, SCSS, MaterialUI
  • Use Mongoose as a DB ORM Layer
  • Use universal-react-logger to log messages on the server

BTechnology Stack

AWS, MongoDB, React.js, VS Code Editor, Jenkins, MaterialUI

Show More Show Less

Description

Organization: MAANTT Global Services

Client: Cognizant Technologies, Chennai, India

Project Title: Competency Management System

Role: Technical Architect

Problem Statement:

This is a web based application that allows project managers to define various

competencies required to assign the resources in to the project. Each competency is

mapped to different skills and the experience level of the employees. One or more

competencies are mapped to a single project and the tool allows managers to create

multiple projects as well. Managers can create hiring requests for their projects and the

tool retrieves the required competencies mapped earlier to help HR target desired

candidates for interview and selection process.

My Roles & Responsibilities:

  • Develop frontend using React.js, HTML, TailWind CSS, MaterialUI
  • Use Postgres to persist application records
  • Develop backend services using Java SpringBoot
  • Use Docker to Containerize the application
  • Develop manifests to deploy application in to AWS EKS
  • Use ArgoCD to automatically deploy changes post commit to Git

Technology Stack

AWS, RHEL 7, React.Js, Docker, VS Code Editor, Postgres, TeamCity, ArgoCD

Show More Show Less

Description

Organization: MAANTT Global Services

Client: Cognizant Technologies, Chennai, India

Project Title: Skill Profile Update System

Role: Technical Architect

Problem Statement:

This is an in-house web based tool that allows all the employees to update their skills

and the level of expertise that the candidate has in each skill set. Updated skills are

then reviewed by their respective managers and approved in consultation with the

respective staff. The data in this tool is planned to be used in the Competency

Management system to be developed later.

My Roles & Responsibilities

  • Propose an architecture that is a combination of both frontend and backend components
  • One Azure VM with 16gb RAM and 8vcpus is spun up manually in Azure
  • ASP.NET Core MVC is used to develop the front end pages
  • ASP.NET Core class library is used to develop the service layer
  • ASP.NET Core class library is used to hold the modal data
  • Entity Framework is used to map the classes with the database object
  • Windows Data Center 2016 is used to host the application
  • Central Oracle Server running on RedHat is used to persist data
  • Deployment is done manually using dotnet cli

Technology Stack

Azure, DotNet Core 3.1, dotnet CLI, VS 2019, Jenkins, Ansible

Show More Show Less

Description

Organization: MAANNT Global Services

Client: Cognizant Technologies

Project Title: Separation Management System

Role: Technical Architect

Problem Statement:

This is an in-house web based tool that stores and tracks employees intending to

leave the company. Employees wishing to separate from the company will first

submit the resignation request to his/her manager. Manager then will discuss with the

employee to determine the cause of his/her intention to leave and upon consensus

will either reject or accept the request. Upon acceptance, the tool will create a

workflow that will trigger approvals from different department heads. The final

approval department is HR and upon HR clearance, the employee will be given

release papers. Different interfaces are available for various departments to provide

their inputs and approval. This tool generates a pipe-line report for the management

to compute the attrition rate.

My Roles & Responsibilities:

  • To propose an architecture that is a combination of both frontend and backend components
  • One Azure VM with 16gb RAM and 8vcpus is spun up manually in Azure
  • ASP.NET Core MVC is used to develop the front end pages
  • ASP.NET Core class library is used to develop the service layer
  • ASP.NET Core class library is used to hold the modal data
  • Entity Framework is used to map the classes with the database object
  • Windows Data Center 2016 is used to host the application
  • Central Oracle Server running on RedHat is used to persist data
  • Deployment is done manually using dotnet cli

Technology Stack

Azure, DotNet Core 3.1, dotnet CLI, VS 2019, Jenkins, Ansible

Show More Show Less