Neurico and IBM Cloud Transient virtual servers
Earlier this year, we announced IBM Cloud Transient virtual servers, which allow customers to provision instances on our spare capacity while also realizing significant cost savings. Since then, we’ve implemented these instances globally across IBM Cloud data centers and have seen terrific increased usage. We reached out to one such customer, Neurico, and they were kind enough to walk us through their experience with IBM Cloud transient virtual servers.
Neurico develops image recognition modules using the latest advancements in deep learning—providing developers with the building blocks for fine-grained classification of visual content. Image recognition models currently in advanced stage development from Neurico include car make and model recognition, facial analysis (age, gender, and ethnicity estimation), identification of bird species, dog breed recognition, and cat breed recognition. Their API and SDK technology can support a variety of industries, from security to marketing and advertising, with applications like Intelligent Video Surveillance systems, Digital Asset Management, Video Analytics software, Smart Billboards, and Smart Cameras.
Over the past few years, companies like Neurico have started to use Artificial Intelligence (AI) to solve real-life problems. Deep Learning, one of the newest trends in scientific research, is a trend Neurico had their eyes set on. One of their challenges in utilizing Deep Learning was the requirement for vast amounts of data and computing resources. To achieve their IT goals, Neurico needed scalable cloud infrastructure for both the development and production of the technology. They found that IBM Cloud had all the resources they needed.
4x faster processing, same budget
Neurico has a database with more than 200 million images. Before training their neural networks, their images must be pre-processed. The typical problems most face when dealing with large-scale image datasets are the annotation of object bounding boxes and cleaning the wrong labels. Manual verification by humans of such large datasets is infeasible, and so they built an automatic approach. By their estimations, it would take more than a year just to preprocess the images from their database; however, IBM Cloud Transient virtual servers gave them the ability to speed things up a bit—while staying in budget. In fact, Neurico was able to process all of their datasets within the initially estimated budget in just three months.
IBM Cloud Transient virtual servers
Whether you refer to this as “spot” pricing or transient, it’s still all about running your flexible workloads on unused capacity at a fraction of the cost, allowing you to save without stretching your budget. When capacity is needed back in the data center, your transient virtual servers are de-provisioned on a first-on/first-off basis. Although IBM Cloud Transient virtual servers are provisioned on spare capacity in IBM Cloud, they still run on the same high performing hardware you’ll find in any of our IBM Cloud data centers.
IBM Cloud Transient virtual servers are now available across the IBM Cloud data centers worldwide.
A stateless microservices environment
Because IBM Cloud Transient virtual servers utilize the spare computing power of the IBM Cloud, Neurico understood these instances could be terminated at any moment. They developed an image processing workflow as a stateless microservices environment. Meaning, they only used one regular (non-transient) IBM Cloud virtual server to keep track of their running workload instances. They also utilized a convenient IBM Cloud option to deploy their virtual machine using a prebuilt image containing the OS and the application. They then created a snapshot with the image processing microservice, running object detection and classification tasks. From that image, they then created 200 identical IBM Cloud Transient virtual servers that were auto-launched on system start. Each service posts its public IP address to the heartbeat server. The client software running on Neurico’s servers uses a scheduling algorithm to balance the server loading and CPU usage to nearly 100%. In case of failure, interruption, or network loss, the images are reposted again to the working microservices.
What’s next for Neurico and IBM Cloud Infrastructure?
Neurico is now in the process of utilizing IBM Cloud’s selection of GPU instances, including the Nvidia GPU V100, to accelerate the training of their neural networks even further.
Do IBM Cloud Transient virtual servers make sense for you? Learn more about reserved, public, dedicated and transient virtual servers from IBM Cloud at ibm.com/cloud/virtual-servers.
View our getting started tutorials, provisioning options, and how-to’s inside our up-to-date IBM Cloud virtual server documentation.