Migrating to Google Cloud Platform
Balancing Costs and Performance
Iron.io, a Las Vegas-based technology company, is a task processing and messaging queue system for building power job-based asynchronous software. Its products enables work dispatch, load buffering, transaction processing, data offloading, and microservices support in enterprise and small- and medium-sized businesses.
Dev9 partnered with Iron.io to construct and execute a migration plan from Amazon Web Services (AWS) to Google Cloud Platform (GCP) for their cloud-first enterprise products, IronMQ and IronWorker. In addition, product systems needed to remain live during migration.
In order to keep Iron.io’s technology systems operational, Dev9 teams took an iterative migration approach. This incremental strategy lowered the risk of outages and downtime, and enabled Iron.io technology teams to continue their development velocity and contributions to products.
Dev9 completed the project in three phases:
1. Migrate IronMQ
We began the migration with an architectural and technical design discussion where architecture, network, topology and security were documented. From there, our teams established basic GCP infrastructure for the IronMQ migration.
Before migration, existing infrastructure had to be prepared by developing worker VM metadata scripts, migrating Docker images to GCP Docker Repository, and configuring persistent disk with cached Docker images. Lastly, once migration was complete, our teams tested and validated to ensure proper functioning within GCP.
2. Migrate IronWorkers
The next phase involved migrating another Iron.io product, IronWorkers, an API and data storing application. First, load balancers were configured to IronWorker APIs. Then, Google Storage buckets were configure to enable them to accept log data. Once these buckets were configure, IronWorker application applications were migrated into Google Storage. As usual, testing and validation occurred with each sub-migration.
Other activities included migrating MongoDB and Postgres instances into GCP, and migration of MySQL to GCP CloudSQL.
3. Migrate remaining infrastructure
The final project required creating, migrating and validating remaining infrastructure needed to fully migrate Iron.io systems into GCP. These efforts included authorization service migration to GCP, security reviews, removing AWS resources, and final test and validations before project completion.
Since migrating to GCP with Dev9, Iron.io is now able to dynamically scale their infrastructure to balance costs with on-demand elastic load.