Migration at SiteImprove

Jan 10, 2023·
· 3 min read
Image credit:
Abstract
Migrating from on-premises infrastructure to cloud-based Kubernetes using the “Lift and Shift” strategy involves complex challenges. These include differences in network architecture, storage solutions, and security protocols between on-premises and cloud environments. Additional issues such as performance bottlenecks, cost implications, and the need to align with cloud-native services further complicate the process. Effective planning and execution are crucial to address these complexities and ensure a successful migration.
Type
Publication
How SiteImprove got most of its infrastructure moved to a cloud based kubernetes cluster.

As a Senior DevOps Expert on a 15-person team at Siteimprove, Sébastien Requiem led the migration from a multi-region, on-premise VMware infrastructure to a multi-region/multi-account AWS cloud infrastructure. This transformation involved over 100 VMs and 40 networks, utilizing the 6R strategy—Rehosting (Lift’n’Shift), Refactoring, Retiring, and Replatforming.

Key Tasks and Initiatives:

  1. Technology Planning and Execution:

    • Designed detailed migration plans, ensuring a smooth transition for platform users.
    • Conducted extensive testing and recipe crafting to validate the migration process.
  2. Kubernetes Workload Transition:

    • Transitioned over 100 Kubernetes workloads to the cloud.
    • Employed Docker for effective software containerization.
  3. Database and Network Migration:

    • Migrated essential databases and complex network configurations.
    • Ensured high availability and resilience throughout the migration.
  4. Infrastructure as Code (IaC):

    • Implemented infrastructure as code using Terraform and Terraform Cloud.
    • Enabled a multi-cloud strategy integrating both AWS and Azure.
  5. Cost Optimization:

    • Applied cost-saving techniques, including the use of Spot Instances.
    • Achieved a 30% cost reduction in autoscaled workloads.
  6. Team Training and Coordination:

    • Continuously trained DevOps team members on best practices, including Ansible, Kubernetes, and security protocols.
    • Coordinated with development teams to ensure standardized practices across the organization.
  7. Network Issue Resolution:

    • Led deep-dive investigations to resolve network issues, maintaining a high-performance production environment.
  8. AWS Landing Zone POC:

    • Piloted a proof of concept for the AWS Landing Zone to manage resource delegation across multiple accounts.
  9. Permission Management:

    • Introduced ‘Just-in-time’ permission elevation for platform access by integrating Azure AD PIM and AWS user management.

Key Achievements:

  1. Successful Migration:

    • Seamlessly migrated on-premise infrastructure to cloud, including workloads, databases, and networks.
    • Ensured minimal disruption to end-users during the transition.
  2. Infrastructure-as-Code Model:

    • Successfully transitioned the organization to an infrastructure-as-code model, enhancing efficiency and reproducibility.
  3. Cost Reduction:

    • Implemented cost-reduction strategies, resulting in a significant 30% savings on autoscaled workloads.
  4. Technical Training:

    • Educated multiple DevOps team members on various tools and best practices, fostering a knowledgeable and capable team.
  5. High-Performance Production Environment:

    • Maintained a high-performance production environment by resolving complex network issues rapidly and effectively.
  6. AWS Landing Zone:

    • Developed a proof of concept for AWS Landing Zone, which facilitated resource management across multiple accounts.
  7. Enhanced Security:

    • Introduced ‘Just-in-time’ permission elevation, improving security and access management by integrating Azure AD PIM with AWS.

Technologies and Tools Used:

  • Orchestration and Containerization: Kubernetes, Docker
  • Infrastructure as Code: Terraform, Terraform Cloud
  • Cloud Providers: AWS, Azure
  • Configuration Management: Ansible
  • Load Balancing: AWS Load Balancers (ELB, NLB)
  • Serverless Computing: AWS Lambda
  • Virtual Servers: AWS EC2, Spot Instances
  • Storage Solutions: AWS S3, AWS EBS (including IOPS provisioning)
  • Monitoring and Logging: Prometheus, Grafana, DataDog
  • Version Control: Git
  • Identity and Access Management: AWS IAM, Azure AD PIM
  • Networking: AWS VPC, network peering, cross-account policies

Skills:

  • Team Leadership
  • Scalability and Performance Optimization
  • Cloud Computing Strategies
  • DevOps Best Practices
  • Cost Management
  • Security and Compliance
  • Infrastructure Management and Automation

Through these efforts, Sébastien Requiem demonstrated exceptional capability in leading complex cloud migrations and optimizing infrastructure for cost, performance, and security at Siteimprove.