To improve agility and efficiency, SteelHouse wanted to move to a cloud-native environment. To accomplish this, the company needed a provider to help manage its microservices.
Serves ads in sub-100 millisecondsusing the IBM Cloud Kubernetes Service
Frees systems teamsfrom manual configuration and scripting work
Reduces new data center spin up timesfrom one month to 24 hours
Business challenge story
To focus more on development, moving to cloud
Digital marketing is growing at an explosive pace. As the industry grows, the competition within it increases. Recognizing the need to become as efficient and agile as possible, SteelHouse, an advertising software company, began to make changes to its approach to IT and started a transition to the cloud. “We run a lean organization, and for us to continue to compete and deliver great products, we needed to offload as much as we could to other providers,” says Kevaughn Bullock, Application Architect at SteelHouse.
The company began its journey to a cloud-native environment by using IBM bare metal servers and running its services on virtualized server instances (VSIs). However, managing more than 40 microservices was complex and time-consuming. SteelHouse began to look for ways to outsource the management of its microservices environment so it could scale its business and also focus more on developing new products and services for its customers. “We were very interested in moving into an ecosystem where we could offload a lot of that DevOps work,” says Zach Schoenberger, Senior Software Engineer at SteelHouse. “Our cloud strategy is to not have developers do any form of DevOps or systems management. It's really to let the developers develop.”
Managed services simplify deployment
As its business has grown, SteelHouse has been exploring the managed services available within IBM Cloud. To manage its microservices and free its staff from having to manage hundreds of devices, the company chose the IBM Cloud Kubernetes Service. “Moving to a microservices architecture without Kubernetes would've been a nightmare,” says Bullock. “The amount of manpower required to maintain and service that infrastructure would be magnitudes higher than we currently have in terms of our staff.”
SteelHouse standardized its Java-based microservices development on the Spring Boot framework before moving to the Kubernetes platform. With a uniform build process across all of its applications, SteelHouse found it easy to containerize its services with the IBM Cloud Kubernetes Service platform. “By standardizing our development process and standardizing our microservices, it made the deployment of Kubernetes, and the monitoring, and the metrics gathering extremely easy to do. It made most things just plug and play,” says Schoenberger.
SteelHouse uses the Event Streams platform, which is built on open source Apache Kafka, to help its applications react to events as they happen. “One of the key aspects on how we design our microservices that has allowed us to be flexible and successful is that any service that we can make asynchronous, we make asynchronous, and we put everything on the queue in IBM Event Stream queue,” says Schoenberger. Using the Event Streams platform helps decouple back-end services from front-end services, which helps maintain high performance for customers even as usage increases on the back end.
Managed Istio, which is available as part of the IBM Cloud Kubernetes Service, gives SteelHouse security features and provides retry logic on HTTP requests. “Istio is a service mesh that runs inside Kubernetes,” says Schoenberger. “It provides us with a standardized way inside the mesh to route traffic in between services, and it also allows us to block traffic that we wouldn't want coming into the network.” Istio also monitors network traffic, giving SteelHouse greater visibility into spikes in usage so that it can scale up or down as needed.
SteelHouse also uses Helm, a Kubernetes package manager, to automate its configurations within the Kubernetes platform. “Helm is key to automation inside of Kubernetes to standardize services,” says Bullock. With Helm, the company can automate the processes of installing centralized logging, application performance metrics and a tracing system.
Accelerated, streamlined development
By adopting a cloud-native strategy, SteelHouse can develop and deploy new applications faster. Using the IBM Cloud Kubernetes Service, the company can create a new environment or cluster within minutes. So developers get the environments they need to work on new features and products, without having to worry about causing integration issues. Developers have also gained greater control over how applications are configured.
“Kubernetes has greatly improved our velocity in terms of spinning up data centers,” says Bullock. “It used to take us a month to spin up an entire data center, but we can now do it within 24 hours.” The IBM Cloud Kubernetes Service automatically orchestrates all configurations needed for the environment, freeing systems teams from having to perform manual configuration and scripting work. The solution also decreases ramp-up time for new hires, so when someone new joins the team, it doesn't take them six months or a year to get up to speed.
By using managed services, SteelHouse can focus on its core competencies. “What we've learned in this cloud transformation process is how much we enjoy managed services,” says Bullock. “By being able to leverage a cloud provider, we offload a lot of work to them and allow ourselves to focus on the actual products that we're building.”
Based in Culver City, CA, SteelHouse provides self-service advertising software for brands of all sizes. The company’s flagship product, the SteelHouse Advertising Suite, gives marketers everything they need to launch campaigns on Connected TV and retarget website visitors through display and mobile. Founded in 2009, SteelHouse is privately owned and has approximately 200 employees.