Nebulaworks Insight Content Card Background - Adrien olichon rock 1
As a leader in the publishing of printed literature, and the development of classroom learning products, Houghton Mifflin Harcourt (HMH) saw the need to expand their digital offerings and use technology to gain a competitive advantage.
In the process of identifying a strategy, HMH engaged Nebulaworks to assist in the design and implementation of a container orchestration platform in the cloud using a modern toolchain: AWS, Kubernetes, Consul, and Vault.
Staying up-to-date with the latest cloud computing trends can be challenging for some organizations but may hold considerable value when exploring MVP builds. MVP solutions are essential to pursue to figure out if a particular technology stack will pan out and add value back to the business. Working with seasoned engineers can assist in reducing technical debt from these types of initiatives. Injecting experts early in greenfield or unexplored territory can significantly increase the quality, maintainability, and potential of new technology adoption and integration. Leveraging engineering resources that already have knowledge of complex tools like AWS, IaC, Kubernetes, Consul, and Vault allows them to spend more time building and less time learning on the job. Wielding a standardized process that all Nebulaworks engineers understand thoroughly helps increase productivity and velocity on these builds, and with full-time resources, eliminates context switching that impedes results.
HMH was already using a container orchestration platform composed of Mesos and Aurora. They had large clusters supporting over 1000 container-based services and found Aurora, the Mesos container scheduler project, to have less community traction and support than Kubernetes. Although the current container orchestration platform was providing the needed functionality to operate the services, the engineering team identified Kubernetes, Consul, and Vault as tools of innovation that would provide faster deployments, streamlined application management, higher levels of transparency from an operations perspective and aligned with their existing skill set.
Composed of many teams, HMH is focused on creating new learning products to enhance student and teacher experience in the classroom. With technology being a common staple in the lives of young people, HMH’s digital product offering needed to facilitate development velocity. Still, it could only move as fast as the tools used to build them.
Distributed systems in the cloud can become complex very quickly. By leveraging methods that streamlined development of Infrastructure as Code (IaC) and leveraging software development methods to facilitate parallelization and collaboration, HMH was able to leverage a cloud platform to begin driving the adoption of newer technologies.
Starting with an Engineering and Consultant led strategy workshop, HMH provided a baseline education of the Nebulaworks engineers on the HMH specific SDLC processes, tools, environments, and long term goals. During this meeting, the HMH and NWI collaboratively developed a strategy to continue Kubernetes adoption and maturity for people, processes, and tools.
After discovery took place, Nebulaworks developed a scope of work outlining the project to be created. The result was a set of distributed systems deployed together (running on VMs and a Kubernetes cluster).
Leveraging a loose Agile framework, the Nebulaworks and HMH engineering resources kicked off the project with a sprint planning meeting, planned out three sprints, and accomplished the project in that timeframe. By using standardized branching strategies, the code review process, and testing procedures, the Nebulaworks team was able to iterate quickly and could address and pivot towards new requirements.
Choosing the Right Platform
A key component for both NWI, HMH, and the engagement’s success was the decision making process for tool, platform, and methodology selection. The teams understood the value of leveraging the cloud, standardized on the Linux OS, a focused methodology to organize workstreams, Terraform for infrastructure provisioning, and leveraging rigor through the SDLC of IaC. With expertise in AWS and general Cloud best practices, the Nebulaworks team found the development consistent with other cloud-native endeavors resulting in high development velocity.
Resulting from the engagement, HMH gained the ability to provision and bootstrap environments quickly and consistently. With the HMH team collaborating in the standups, participating in the code reviews, and attending the bi-weekly demos, the handoff was streamlined and, critically important, upskilled the HMH team.
With stable modules ready to be deployed, HMH is now focusing on delivering value to their development teams and adding further stability to development, staging, and production environments that applications will progress through. Following the success of this engagement, production readiness is now an actionable priority for the HMH operations team. Nebulaworks’ continued advisory and consulting support to develop full-stack testing, Continuous Integration (C1), Continuous Delivery (CD1), Continuous Deployment workflows, and developer onboarding will further support the effort to facilitate developer onboarding.