Back to Blog

Lessons from a PaaS Migration Case Study

Heroku vs. Digital Ocean vs. Convox:

Lessons from a PaaS Migration Case Study

It’s a great time to be part of a software development team. With resources supporting every stage of the development lifecycle - design, development, testing, deployment, and hosting - modern-day software development teams are spoilt for choice. But when it comes to accessing this buffet of resources, teams need more. On-demand access without huge commitments to on-site infrastructure demands an additional layer of technical expertise - a PaaS (Platform-as-a-Service).

PaaS is an operational cloud-based model where a vendor (such as Convox or Heroku) supplies the resources required to build and deploy user-level applications and tools. With this, teams can execute the entire development lifecycle directly from the cloud, with no need to invest in, or maintain demanding on-premise infrastructure. Each PaaS is unique, with features uniquely suited to match every phase of a development team’s growth. This means that a PaaS solution ideal at one phase of a team’s growth might lose its relevance at another stage of its future growth, requiring teams to adapt their PaaS choices as they grow.

This case study lifts the hood on one such development team that has had to adapt its PaaS choices with time. We will discuss the teams’ journey towards automating its infrastructure and deployment process through a series of migrations - from Digital Ocean to Heroku, to Convox. This rare insider’s perspective mirrors the processes, problems, and solutions faced by similar teams along the journey, drawing lessons and teachable moments for software development team managers.

Case Study Objectives

This case study closely examines the primary drivers and pain points that led this software development agency's digital migration from Heroku to Convox. We will further discuss the extent to which Convox’s infrastructure was suitably matched to the agency's needs. Through this, software development team managers can understand how product development teams can benefit from the innovative and advanced solutions that Convox offers.

The Client

This agency is a software development firm that helps its clientele strategize, engineer, and design custom software and solutions for various use cases - automation, web & mobile apps, IoT, machine learning, and more. The agency relies on a globally distributed team of 30 developers to offer its services, with applications initially hosted on AWS and Digital Ocean.

The Background

In the early days, the firm's infrastructure and deployment process consisted of simply visiting the server and running a docker run command. As the teams’ product portfolio grew, so did the need to automate the deployment process. The team attempted to address this by running multiple automation scripts - a process that quickly spiraled into full-blown Linux server tutorials for junior developers. Realizing how unsustainable this approach was, the team decided to switch to Heroku.

Firm's Heroku Pain

TRUST ISSUES - SERVER OWNERSHIP (OR LACK THEREOF)

One of the biggest problems the agency faced with Heroku was the inability to implement major changes or migrate from servers in use. As Heroku offered very limited server ownership options, the firm's developers could not move software, applications, operations, etc to other platforms - so they were locked into Heroku's infrastructure. To change servers mid-project, developers were forced to create new environments from scratch, creating trust issues. In addition, privacy-conscious clients objected to using Heroku’s infrastructure for their projects, as they deemed Heroku unsuitable for projects with high data sensitivity.

HIDDEN COSTS

For small projects, Heroku's initial $7 per-month cost was extremely appealing and competitive. However, as projects grew in maturity and demanded more improvements, the cost of using each new resource jumped to $25. As the company had begun to scale in terms of the number of projects (and subsequently, the number of improvements needed), these costs soon became untenable.

Furthermore, the agency found itself deploying 3 servers to every project. Because Heroku charged different rates for different stages of the product development lifecycle, the team had to create separate applications as the same server could not be used throughout every stage of the SDLC. This created a need to keep reviewing applications that were up and charging - shutting down unused resources as a cost-saving measure.

TIME-CONSUMING MAINTENANCE

Because of the management and pricing structure of Heroku's infrastructure, the firm’s valuable developer resources were spent on the avoidable, time-consuming task of monitoring Heroku's database - all to keep costs to a minimum.

Typically, developers would create various racks (segregated environments that allowed developers to deploy multiple applications simultaneously) for production, QA, staging, etc. So each rack represented a unit of compute - the Kubernetes cluster, the docker deployment environment, the certificates, load balancers, networking, etc. Each application was expected to scale according to the coding of the rack, with an option for manual scaling should the need arise. Unfortunately, Heroku's limited digital infrastructure meant that developers spent valuable time building environments from scratch whenever there was a need to change the servers. This practice consumed significant time and resources and heavily impacted the firm's rate of scale.

NO CHOICE BUT CROSS-CLOUD

The agency’s diverse operations created a reliance on multi-cloud infrastructure - Heroku, DigitalOcean, and AWS. This hybrid operational environment proved stressful, time-consuming, and expensive as switching platforms led to interrupted workflows for developers. The firm's developers wanted complete ownership of their business processes and operations by completely migrating to DigitalOcean - a dead end, as Heroku did not support the ownership and transfer of servers.

The Solution: Convox

Convox is a cloud-agnostic PaaS that developers can use to deliver their code more efficiently.

For the agency, the choice to migrate to Convox was driven by the firm’s unique needs. The preferred solution was a PaaS solution that addressed the team’s unique pain points without requiring in-house management of AWS resources.

In its search for a viable solution to Heroku, the agency paid attention to the automation capabilities of shortlisted server management options. The team also wanted a solution that allowed them to maintain their standard processes of using automated deployment pipelines through GitHub actions for code updates and deployments. And Convox was a perfect match for this - supporting the firm's existing processes with minimal disruption.

Convox provided the perfect solution with a transition that led to an almost immediate reduction in costs, reusable resources, time savings in resource monitoring, server ownership, and improved resource management - and no dedicated DevOps staffing resource.

Overall, the migration to Convox helped the agency to efficiently deploy clients’ solutions with a globally distributed team of 30 developers, 10 separate development projects, and 50 different services - all with one engineer who spent only a few hours monthly on DevOps.

But what did this migration look like on an operational level? Let’s delve into the practical impact of the migration exercise on the firm’s operational efficiency.

A container management solution that grows with you.

COST TRANSPARENCY & OPTIMIZATION

In the months following the migration, the agency reported approximately 50% reduction in infrastructure costs from the on-demand server management that Convox offered.

Specifically, these savings were realized from paying for only server usage (rather than for every new application), with the majority of servers and racks hosted on Digital Ocean. The agency’s newly-found homogeneity allowed for granular control over new racks with the ability to define the cost of each new node through Convox’s automatic pricing that applied only when necessary.

The cost reduction from dev and staging was estimated at 60 - 75% as a result of all resources being used and reused on-demand, without the need to turn applications on and off.

OWNERSHIP & CONTROL

Because Convox is optimized for complete control over assets, the agency could pick and choose which cloud service best suited their needs at any given time. As such, the team could create the perfect hybrid solution that effectively combined the services of DigitalOcean and AWS.

Applications could be transferred across infrastructures without the need to create environments from scratch, ultimately saving time and helping to ship solutions much faster. No problems were encountered in the 4 months following the transition, and all of the firm’s digital products have enjoyed 100% uptime, which in turn boosted their clients’ satisfaction levels.

AUTOMATION AND MAINTENANCE CAPABILITIES

The transition left the agency needing very little in terms of a maintenance routine, thanks to the automation that Convox’s infrastructure offered. The firm's developers only had to create racks according to their requirements, develop products, and deploy when ready.

FLEXIBILITY & ACCESSIBILITY

One of the agency's main pre-migration requirements was a solution that allowed sufficient flexibility in its operations for the distributed team to develop digital products collaboratively.

These requirements were met by Convox’s flexible infrastructure that granted the firm's developers complete freedom to access various service providers from a single-source platform. With easier access to the hybrid cloud, the agency’s developers enjoyed near-seamless access to their digital products whether they needed to access DigitalOcean, AWS, or others.

Thanks to Convox’s advanced level of automation, the firm’s developers could change data collection sources as required by simply adding a Docker file before deployment. A previously time-consuming task for the team now only took one developer 30 minutes to 2 hours to accomplish… despite having limited experience creating Docker files.

Key Takeaways

  • Asset ownership impacts on efficiency: This migration exercise allowed for ownership and control of server assets and, consequently, business operations, processes, and digital products. With complete control over assets, teams face fewer operational restrictions and can be better equipped to meet their client's objectives.
  • Upfront cost transparency improves long-term ROI: The hidden costs that service providers impose on users can limit scaling potential. When shortlisting possible solutions, team managers should factor in the immediate cost of services provided and how these costs are likely to change as their teams scale.
  • A well-designed & optimized cloud structure improves efficiency: Poorly optimized platforms lead to interruptions in the workflow and ultimately impact negatively on the operations and processes of teams. Team managers should document existing processes and consider how the infrastructure of proposed solutions are likely to fit in with or improve existing processes.
  • Automation capabilities support team performance: Software development companies heavily depend on their service providers to provide well-integrated automation features that enable teams to execute their processes seamlessly. By choosing solutions with high automation capabilities, team managers can ultimately drive their teams to achieve results faster.
  • Access to flexible operations: Access limitations and ‘siloed’ applications can lead to an overall loss in productivity, inefficient use of time, and ultimately, reduced earnings - especially for distributed teams. The best PaaS for teams should offer users complete flexibility over operations and compatibility with their existing service providers without the hassle of changing their workflows.

Convox has improved the efficiency of software development companies around the globe by helping them spend as little time as possible on mundane tasks while focusing on more strategic tasks. When considering PaaS solutions, team managers must do due diligence to ensure that their chosen solutions not only address the team’s short-term needs but also fulfill longer-term goals and deliver an overall positive ROI. If you want to see how Convox fits into your teams’ needs, register for a free trial here.

Cloud Models: Responsibility & Ownership

Let your team focus on what matters.