Migrating From Legacy Data Centers
School Loop, founded in 2004, is an education management platform that helps ease communication between teachers and students, while saving time. They provide services in communications, learning management, websites, and mobile apps to over 4,000 schools in 30 districts for K-12 students, parents, and teachers. Upon approaching their next phase of organizational growth, School Loop was looking to update their expiring (July 2018) bare metal datacenter machines after 10 years of use, which could no longer keep up with performance needed to run their business.
School Loop was initially deciding between three public clouds. Their server configuration requirements were asymmetric to the pre-defined servers on all cloud platforms. With prior experience using Amazon Web Services (AWS), the decision to move into Google Cloud Platform (GCP) was led mostly by the ability to customize machines to match their requirements. Additional consideration included costs associated with keeping their old systems up-to-date, increasing capabilities with high availability, system maintenance, disaster recovery, and automating some of their infrastructure creation, helped School Loop decide on GCP.
Why School Loop Chose Dev9
Supporting over 4 million users from their Oakland, CA datacenter, School Loop was looking to migrate 45 servers running mostly on Solaris and secondly on Linux systems. Dev9 was brought into the project for their expertise in migration workloads, application refactoring, and premier partner status with GCP. Dev9 assigned one certified professional Cloud Architect to the project, with past experience in working with Solaris, which was imperative to the success of this project. Project kickoff started on May 30th, 2018.
The Technical Challenge
With all of their software written in Java on Solaris and Linux systems, School Loop’s systems were not cloud compatible. The major limitation with Solaris systems was that it was only running in PostgreSQL. To prepare for GCP, databases and applications were first recreated using Terraform and updated systems to Ubuntu, an industry standard where overall delivery capability is superior. 130 terabytes of data were migrated first, through a VPN setup between their bare metal databases and Google’s USWest 1, followed by School Loops applications. Minimal downtime (2 hours) was used for the migration, completed within a regular maintenance window, which was a “non-issue” for School Loop.
Another challenge faced throughout the project was School Loop’s Virtual Private Network (VPN) setup. School Loop had a VPN setup used exclusively for access to their bare metal servers. They lacked a configuration split to the Domain Name System (DNS), causing the team to publicly disclose their internal IP schemes, which created a minor security issue with their DNS. Looking for solutions outside of a dynamic DNS, Dev9 instead setup Elastic IPs and connected them to a GCP instance, resolving the VPN connectivity.
The volume of data created a final challenge in completing School Loop’s migration. With over a billion files to transfer, Dev9 tested Google’s File Transfer Appliance. Upon first attempt, Dev9 quickly found that the Solaris ZFS filesystem made the Transfer Appliance impractical. The Transfer Appliance only worked with Linux and Windows systems. Instead, Dev9 crafted a solution to use Linux as a file proxy to access Solaris files. Files were then transferred over a network, which proved to be much faster.
Upon successful migration, a few lessons were reflected on. First, the Solaris operating system presented challenges in which time was not accounted for, additional time was needed for architectural discovery and solutioning. Secondly, checking DNS records and validating email servers was also initially unforeseen. On School Loop’s account, the engineering team was well versed in Solaris and needed training to overcome the learning curve in using new technologies implemented in their stack, such as Terraform and Ansible. All lessons learned were resolved within the project timeline and scope.
When Dev9 completed the project, School Loop’s Director of Infrastructure Technology, David Kensiski stated that it was “Great working with [Dev9], we moved away with new tools and quickly overcame the learning curve to be able to manage our infrastructure at the time of cut over.“
Dev9 completed the project on July 3rd, 2018, and School Loop has reported no major failures since migrating to Google Cloud Platform. Dev9 and School Loop used the following technologies to complete the migration: Network, Block Storage, Data Transfer Device, Virtual Private Network (VPN), Identity and Access Management (IAM), Google Compute Engine (GCE), Google Cloud Storage (GCS), Java, PostGres 8, Ubuntu, Terraform, and Ansible.