Database containers can be a bear for enterprise IT to manage, but one multinational telecom has tamed that gr...
Ericsson has tackled the many challenges of database containers with software from startup appOrbit, to modernize its database applications with microservices and fast deployment on container clusters.
Among the first Ericsson divisions to deploy appOrbit's eponymous product was a DevOps team based in Bellevue, Wash., tasked to develop a billing and payments application for Ericsson customer T-Mobile. The team uses appOrbit to deploy test replicas of applications for validation testing in its development environment.
"It's a pretty sizable stack, based on some legacy line of business systems like Oracle Database, SAP and Tibco [Software]," said Mitch Stein, the senior architect and DevOps manager who oversees the project for Ericsson. "We are ahead of the curve with respect to containerization in the legacy IT app landscape we work in."
Ericsson put appOrbit's server and container management software to the test last August, and agreed to purchase the product after the proof of concept was completed in mid-January. The telecom plans to deploy appOrbit throughout its development, customer QA and pre-production staging environments over the next year.
Database containers break down apps to build them back up
AppOrbit, which publicly emerged from stealth mode June 26, models network connections between individual components of any application with its software, deconstructs that model into its basic building blocks and configurations, and thus can break down a monolithic app into individual microservices. It can then deploy these converted apps into a Kubernetes-based container cluster or to VMs, according to the customer's wishes.
AppOrbit's data management scheme for structured data stores is key to database containers for Ericsson. This data is managed as an object called a data template, which can be created, cloned, updated and permission-controlled, which means Stein's team doesn't have to wait for database administrators to spin up replicas of databases for tests.
"The Oracle DBAs are very legacy-minded and they're not very agile," Stein said. Each phase of the DevOps pipeline, such as validation and integration testing, uses a slightly different set of test data. Database clones that appOrbit creates shorten the deployment time for database replicas for each of those stages; cloned databases can be torn down easily when testing is finished.
Containers also have allowed Ericsson's IT operations team to cut down on the overhead and licensing costs associated with VMware virtual machines, Stein said. The VM approach to server management is only used to provide static machines, such as appOrbit's host and master management nodes. The database containers, however, run on bare metal, big hosts with 512 GB of RAM, 20 TB of disk storage and roughly 20 to 40 cores.
"There's no reason to go through the layers of virtual machines if you're going to host containers, and [setting up] a VM with 512 GB of RAM and 20 cores isn't really necessary if we've got a blade that we can allocate to it," Stein said.
Moreover, the company can extend the value of its legacy infrastructure.
"Products like what appOrbit has delivered breathe new life into the investments that IT companies have [made] over the years," he said.
Database containers prepped for production
Ericsson isn't content with the headway it's made in database containers so far; Stein sees the value of putting production databases in containers in the near future.
"The only concern there is the size of the databases and getting those replicated to a point where you can actually do a switchover," he said. Before containers are introduced to the full production environment, however, Ericsson likely will apply them to failover of database applications.
Ultimately, Stein sees no reason Ericsson wouldn't containerize all of its databases, if only for troubleshooting.
"If we get a failure in production and can't replicate it in lower environments because the data doesn't match, we need a way to quickly troubleshoot the problem so we can introduce a fix," Stein said. "That's a use case that does lend itself very well to containerizing production databases."
So far, most database applications in Ericsson's test environments have been containerized. The team has run into some licensing snags with SAP, which requires data to be entered into a UI-driven online service to issue a license, rather than into an API. Because Ericsson creates exact clones of SAP instances, it ends up with a new virtual MAC address and a duplicate SSID, which invalidates the license.
The appOrbit engineering team has provided a workaround to specify a MAC address, and Ericsson already has the ability to change the SSID. The plan is to pre-create licenses associated with specific MAC addresses and SSIDs so that licenses can be reused, but that approach is still being honed and validated.
"We are in the process of setting up a test environment to run through some scenarios and see how close we can get to a fully automated, one-click environment that auto-configures SAP," Stein said. "We would expect to have this tested in August."
AppOrbit's software also still has some kinks of its own. Stein's anxious to get support for dynamically scaling hosts in container clusters, which will come in appOrbit's next release in August. He has also recommended the company become an official SAP partner to smooth integration with that app, which is still in the works.
Modernize applications via containerized deployments
Microservices architecture saved Uber's Halloween performance
Visual Studio 2017 and Redgate bring databases to DevOps