Tech Modernization using Kubernetes

Devaket > Tech Modernization using Kubernetes

Client Brief

Headquartered in India, this multinational corporation boasts a workforce of over 2000 employees. With a rich legacy spanning more than two decades, the company has solidified its position as a global leader in Cognitive Procurement software. It has earned consistent recognition from esteemed industry analysts, including Gartner and Forrester.

At the core of its offerings is an integrated Source to Pay (S2P) suite, tailored to meet the diverse needs of large enterprises worldwide. Driving this suite is an advanced AI Suite, leveraging innovative technologies to automate tactical tasks. This strategic automation empowers procurement and accounts payable officers to redirect their focus towards high-impact strategic projects.

The company’s solutions are meticulously crafted to deliver substantial benefits to enterprises, including tangible savings, risk mitigation, and enhanced compliance. Ensuring a seamless and efficient user experience, the intuitive interface of their software promotes high adoption rates, providing sustained value across organizations.

Project Details

The client team with more than 50 employees are working on various projects in Microsoft Azure platform and SQL server development.The team wanted us to develop DevOps solution for different services and toolset that the team can deploy in different client setup. Itinvolves developing DevOps strategy for SQL development, Azure Data Factory, Azure Databricks for developers.
  • Creation of Kubernetes Clusters:
    • Define the requirements and specifications for theKubernetes clusters.
    • Set up clusters on both Amazon EKS and Rancher, ensuringcompatibility with the existing infrastructure.
    • Configure networking, security groups, and access controls.
  • Application Migration:
    • Assess each application’s architecture and dependencies.
    • Containerize applications and create Docker images for each.
    • Develop Helm charts or Kubernetes manifests for deployment.
    • Execute a phased migration strategy to minimize downtime and disruptions.
  • Best Practices for Application Deployment:
    • Implement Helm for managing Kubernetes applications.
    • Utilize Kubernetes ConfigMaps and Secrets for configuration management.
    • Establish resource limits and requests for each application to optimize resource utilization.
    • Implement health checks and probes for better application reliability.
  • Security:
    • Implement Helm for managing Kubernetes applications.
    • Utilize Kubernetes ConfigMaps and Secrets for configuration management.
    • Establish resource limits and requests for each application to optimize resource utilization.
    • Implement health checks and probes for better application reliability.
  • Cluster Stabilization:
    • Monitor cluster health using tools like Prometheus and Grafana.
    • Implement automated scaling for nodes based on resource utilization.
    • Set up log aggregation and analysis for troubleshooting
  • Cost Optimization:
    • Leverage AWS spot instances for non-critical workloads to reduce costs.
    • Implement autoscaling based on demand to optimize resource utilization.
    • Regularly review and optimize EKS and Rancher configurations for efficiency.
  • Documentation and Training:
    • Develop comprehensive documentation for clusterar chitecture, application deployment, and maintenance.
    • Provide training sessions for the operations and development teams on managing and deploying applications in Kubernetes.
  • Monitoring and Observability:
    • Implement tools like Prometheus, Grafana, and AWS CloudWatch for monitoring.
    • Set up alerts and notifications for critical events.
    • Establish centralized logging for effective troubleshooting.
  • Creation of Kubernetes Clusters:
    • Define the requirements and specifications for theKubernetes clusters.
  • Backup and Disaster Recovery:
    • Implement regular backups of critical data and configurations.
    • Develop a disaster recovery plan to handle potential outages or data loss scenarios.
  • Creation of Kubernetes Clusters:
    • Define the requirements and specifications for theKubernetes clusters.
  • Testing and Validation:
    • Conduct thorough testing of applications in the new Kubernetes environment.
    • Implement CI/CD pipelines to automate testing and deployment processes.

Tech Stack

Containerisation Technologies: Kubernetes, Docker, ContainerD
IaC and CM: Ansible, Terraform
Programming Language: Go, Python
Tools: Prometheus, Grafana, Kyverno, OPA, Helm