Thanks to smartphones, most people now carry a camera in their pocket and take more pictures than ever before InfoTrends estimated that a collective 1.2 trillion digital photos were taken in 2017, but those photos are often forgotten and never looked at again. By making it quick and easy to design a high-quality photo-book through its custom desktop software or mobile application, image publishing service Lupa has grown to become the market leader in Israel, with over 200,000 customers, and representing 50 percent of the market.
"The product we offer is of the highest quality as we use very sophisticated printers, and our customers also want the product to be easy to design, in a format of their choice, with fast, safe delivery," explains Shlomi Ruder, CTO at Lupa. "We are responsible for the entire production chain, from taking the order to printing and delivery. That requires an ecosystem of teams and locations including development, customer services, and the print house."
Before, Lupa maintained its own physical servers at a location outside the city. Following several rounds of upgrades and system expansions, it realized that in order to build a scalable architecture that could keep pace with its growth and offer access to advanced computing, it needed to move to the cloud. Google Cloud was the perfect fit.
"At Lupa, we don't have dedicated development and operations teams, everyone contributes to many different tasks," says Shlomi. "That means we don't want to spend time on maintenance tasks, especially if it involves traveling to reboot a server in the middle of the night!"
Creating a more flexible, scalable infrastructure
When you're a growing business, accommodating extra traffic on physical servers can mean frequent costly upgrades that require constant maintenance. "Following an initial expansion of the network, we needed to expand again three years later, and then in 2015 we had to buy even more storage and servers," says Shlomi. "Each expansion required a lot of time on research and implementation, and I was still having to physically travel and restart servers when we had disk failures." Lupa looked for a cloud provider that would offer greater flexibility, both to experiment and scale up.
To do that, it migrated its infrastructure to Google Cloud, with support from implementation partner and Google partner More. Lupa's custom designed file storage system is hosted on Compute Engine, with backend applications running on App Engine. "We've decommissioned almost all our physical servers," says Shlomi. "Our entire pipeline is on Google Cloud: customer orders are processed automatically by the pipeline on submission and once the files are ready, they're sent on to the print house where the workflow also functions through Google Cloud. We also use Cloud Storage, and the Cloud Vision API alongside custom image analysis algorithms."
As additional CPUs can be added in seconds on Compute Engine, scaling up is simple. "We're a seasonal business, with peaks around the holiday season and during sales," Shlomi explains. "With Google Compute Engine, we can now accommodate 50 percent to 70 percent more business, as we're no longer limited by our CPU capacity."
It's also much easier to make changes to the system, leading to faster development. "It's not just the ability to add extra capacity that's important, it's the ability to experiment," says Shlomi. "You can build or duplicate an environment very quickly, and there's no worry that the development environment will affect production. That gives us real architectural freedom."
"In terms of development, we also really like Google Cloud Marketplace," adds Shlomi. "It's really easy to find something you need that has already been designed, it saves time and also helps us accurately predict costs."
Accessing GPUs for faster processing
Migrating to Google Cloud offers Lupa access to hardware that it would not have been able to introduce previously. "It would have been too expensive to purchase GPUs for our physical servers, but accessing Cloud GPUs with per-second billing is very affordable," says Shlomi. "We are able to harness an enormous amount of computing power, which helps to speed up not only image processing, but also machine learning and other heavy computational tasks."
Benefiting from greater freedom
Since migrating to the cloud, Lupa's infrastructure is much easier to maintain. "Before, to manage the system, I had to toggle between many different interfaces — for networking, storage, firewalls, and so on," says Shlomi. "I previously spent a lot of time on networking, making sure routers were up-to-date and so on. Now, everything is under one umbrella, which also makes it easier to see which areas we can optimize, as well as giving us a lot of flexibility. I would estimate a time saving of between 10 percent and 20 percent."
More importantly, the system is also more reliable. "Whilst the system reboot is down from hours to minutes, the most important thing is that I no longer have to worry about a hardware failure occurring," says Shlomi.
Now, Lupa is planning to expand its infrastructure further and explore new Google Cloud tools. "We're using more and more servers as the business grows, and we're also beginning to explore machine learning as a potential new application of Google Cloud," says Shlomi. "Working together with More, we're really excited about growing our architecture further, thanks to the freedom to experiment that we've gained since migrating to the cloud."