Musify is a new music streaming platform that helps users carry their music with them so they can continue to enjoy their music, irrespective of where they are. Musify was hosted on Google Cloud, and like other hyperscalers, it was getting very expensive because of storage and data transfer costs. So the company decided to migrate to a more affordable, yet efficient solution with Backblaze and Cloudflare. Their biggest challenge was to migrate over 500TB of data without service interruption and breaking the workflow of their listeners. They tried to do it themselves but soon realized that they needed an expert and that’s when they turned to Flexify.IO, an expert in cloud storage virtualization and migration. I sat down with David Liu, Founder and CEO of Musify and Sergey Kandaurov, Founder and CTO, Flexify.IO to deep dive into this migration story. This show has a lot of insights for those who are looking at migration of a similar magnitude.
Topics we covered in this show:
- Intro to Musify
- Intro to Flexify
- Why didn’t Musify do the project themselves? Why did they look at an external company like Flexify to help them with the project? Then I asked Sergey if this is a typical case that Flexify often sees or was it unique in some way?
- We are talking about 500TB of data. How did Flexify approach this migration? Did they use off-the-shelf tools that they have or did they end up creating new custom solutions for this project?
- Was there any stage of the project where Flexify hit a roadblock or experienced an unusual challenge, and if they did, how did they overcome that?
- Did Flexify exceed the expectations of Musify? What was their feedback?
- How did the execution of this project give confidence to Musify to undertake another project of similar magnitude in the future?
- When companies like Musify come to Flexify with migration help, what kind of work should they do in advance so they are prepared for a smooth migration?
- Tips David has for companies looking for undertaking massive migration projects. What kind of work should they do in advance to make it a smooth migration?
Swapnil Bhartiya: Hi, this is your host Swapnil Bhartiya and welcome to Success Stories at TFiR. And today we have two guests. Sergey Kandaurov, founder and CTO of Flexify and David Liu, founder and CEO of Musify. David, Sergey, it is great to have you both on the show.
David Liu: Thank you.
Sergey Kandaurov: Thank you for claiming us.
Swapnil Bhartiya: Today, we are going to talk about a project that Flexify held Musify with, for a major Intercontinental data migration. But before we go into that project, I would love for David to tell us what is Musify all about?
David Liu: Sure. Musify is a new music streaming platform. We serve users across many continents.
Swapnil Bhartiya: Now of course, Sergey, we have hosted Flexify couple of times, but I just want to refresh memories of viewers. Tell us about yourself.
Sergey Kandaurov: Flexify is multi-cloud storage and migration solution. Basically, we help customers, help data owners to own back their data and log in them from a specific cloud provider, which includes moving data and multi-cloud storage directly.
Swapnil Bhartiya: Now I’ll come back to you, David. Let’s start with what migration project that you were looking at. Tell us about the project. And then we’ll talk about why you decided to work with Flexify.
David Liu: Sure. Previously, our platform is hosted on Google cloud and Google cloud is getting very very expensive because of the storage cost and data transfer cost egress cost. So we looked for a much lower cost solution with Backblaze and CloudFlare. These are smaller cloud platforms available currently, and they’re offering at a much lower cost. So we wanted to do a data migration and migrate all our data from Google cloud to Backblaze. And that’s where we started talking to Flexify and Sergey about the migration.
Swapnil Bhartiya: Why you didn’t do it yourself? Why you looked at some external party like Flexify? What were the massive undertaking that you saw that, we can’t do it ourself, we need somebody.
David Liu: So initially we did decided to do it ourself. It is a lot of data. It’s 500 terabyte of data. So there was a lot of challenges associated with it. For instance, if the network connection gets broken or if one of the file gets missing, it’s very hard to know which one. That doesn’t get copied from the origin to the destination. And there could be also memory leaks when you copying lots of files and this could potentially cause the machine to stop working. So these are some of the examples of many problems that could happen. And that’s why we started talking to Sergey to see if they can help us.
Swapnil Bhartiya: Now, Sergey, if you look at this Musify use case, is it like the typical use cases you see, or this was like something, even you looked at and you’re like, “Hey, that’s a massive amount of data that we have to work with”, so talk about how was this project for the scope of things that you already do?
Sergey Kandaurov: Well, the definitely have a lot of projects, which users migrating tons of data, hundreds of terabytes petabytes of data. So this project wasn’t special in the size of the data that now we are moving, but it was special in terms of requirements. First of all, Musify want to migrate from Tokyo to States which is quite long distance. Most of our migrations are much more local so we can provision much more efficient links, with much shorter ping. And then David had a few of unique requirements such as they wanted to adjust the object keys, object names where they are migrating and they only want to migrate some of the objects with provided lists. So long distance in combination with those unique requirements made this project special for us.
Swapnil Bhartiya: As he was talking about, 500 terabyte of data, how did you approach, is it like you have off the shelf solution that, just put everything in there and it’ll work? Or you had to work with them to create customs solutions, to help them with this migration?
Sergey Kandaurov: We have a product, so a proven product on hundreds and thousands of different migrations, that takes into account, all the low probability sayings that will likely happen when you’re migrating hundreds of millions of billions of objects. So that is a service and that is self-service. So most of our customers can just sign up with Flexify and do the migration. However, we also help our customers to plan this migration, especially for large amounts of data. I will say that every migration is special in their way, because every product, every application, every company is special. So we often find some unique requirements that data owners find hard to address themselves and help to plan migrations in most efficient and secure way. So we prefer to talk to the customers before they migrate such amount of data.
Swapnil Bhartiya:Was there any phase during this migration where you hit a roadblock or you saw some unique challenges, not the typical challenges that you see there? And if they were there, how did you overcome them?
Sergey Kandaurov: Well, it is the first project where having a list of objects to migrate was critical. So David wanted to do cleanup at the same time, they migrate the data. So they had more object stored in Google then they actually needed to have, and that they needed to migrate. So David wanted to produce a list of objects to be migrated rather than us taking from the storage itself. That is a unique requirement and we didn’t support it at that time. So we had to change priorities and add the functionality as part of the project. Now, this functionality is available for all the users and what I wanted to underline here, is that when you work with experts, like Flexify, we can usually adjust unique requirements. In this case, we are able to complete the feature in just two weeks.
Swapnil Bhartiya: Now, if you look at the project, when you work with the clients, they have some set of expectations, right? Either the project will be completed X amount of time, the cost is there. So did you meet or either exceeded their expectation? And if you did, what were their feedback?
Sergey Kandaurov: Well, my initial feedback was, “Yes, we can do it. We will be happy to do it. So let’s start.” So I want to say is that David had requirements that were hard to meet. It was just unique. I suppose, the scope of projects that we have seen before, and we had to do some modification to the product, which now available for everyone.
Swapnil Bhartiya:You have been working with them and it is more likely that they might have similar projects in future also. How did that project help them, give them the confidence to undertake similar projects in future also? Did they share any feedback with you?
Sergey Kandaurov: Yeah, absolutely. And we see it all the time. When startups, when people start a company, they choose some cloud and cloud region by default. In this case, it was Google in Tokyo. In most cases we see there is Amazon Web Services in US-EAST-1 in US, East Coast. But when amounts of data grow, those companies find them to be hostage to the service provider because it becomes cost prohibitive to move all those large amounts of data to somewhere else, to some cheaper or better offer. So now when Musify have their data outside of this hostage situation, it’ll be much easier for them to migrate this data in the future for some other provider, if they decide to do so. So basically our migration helps them to move from the feisty provider like Amazon Azure, or Google, to a more specialized provider and small providers, from our experience, they all about multi-cloud. So they all about interoperability and not taking customer data hostage is one of the advantage that the customers like.
Swapnil Bhartiya: David, when you worked on this project, what was your experience with them? When you go to a company you have your own set of expectations, did they exceed your expectation? Whether it comes to cost, whether it comes to finishing the project in timely manner? Can you share some of your feedback?
David Liu: Sergey from Flexify absolutely exceeded my expectation. I sent them a email on Friday evening, my time. And I got a quick response because our team was ready to start the migration with a simple Python script during the weekend. But because we were able to get on a call on a Friday evening, we decided it was much better to partner with Flexify to do the migration. So after that, the speed of response, the agility was clear right from the beginning. And we did come with them with many custom requirements and they were all able to meet the requirements on the goal and something like bigger company are not able to do. So I’m very satisfied with the partnership.
Swapnil Bhartiya: Now, this experience, did it help you, if you have to undertake another major migration plan or whatever it is, what kind of confidence you got from them? And if you do plan, what were your own, takeaway that, Hey, you know what, like with us, what happens, this worked fine, this worked very well. So we should do something even more ambitious in future.
David Liu: So in the future, if we have even more data, if we have even more stringent requirement, I’m confident that Flexify can definitely pull it off. And I can say that because I was working side by side with Sergey, I have a technical engineer background myself. So we were doing the migration together and we were a really good team. We were able to collaborate and also communicate in real time to resolve issues when it came out. So overall, it was a very good collaboration.
Swapnil Bhartiya: If I asked you Sergey, when company like Musify approach you for such migrations, there’s something that they have to do internally to prepare for that. Of course, you will come in and you’ll do that, but they have to do some homework themselves. So what kind of tips you have for companies who want to take over such projects?
Sergey Kandaurov: First of all, what we discovered that most companies do not really know how much data they have and what kind of data they have. That’s why our normal approach, we ask customers who come to us to first add their storage account to Flexify service. So we can know our storage class of data that they use, we know how many objects we are migrating, what our sizes objects, what is distribution of the sizes. And this information helps us to plan the migration better. Another consideration that most companies that come to us do not take in mind in the beginning is potential application downtime. So the same case is that while you’re migrating data, this migration will take some time to complete. And while migration is ongoing, data is keep changing. So if you need to synchronize these changes later on, or have another way, another merit such as virtual endpoint or some kind of realtime synchronization to make sure that source and destination, they have all the changes in sync.
So when your migration finish or that had been written after migration started are also in the destination. We also found out that lot of companies, they feel in the beginning, that it’s feasible for them to create simple scripts or even do migration manually. But the reality is that once you have more than million of objects, or more than 10 to 50 terabytes of data, you are most likely will spend more time writing and debugging in the scripts compared to hiring professions like Flexify for the migration. If you have taken into account things like JSON compilation, things like proper error handling, proper retries, you need to be able to scale migration among multiple instances so that you can run at cloud native speeds like 10, 20 gigabits per second. So this all takes time. It took Flexify years to develop and test as the product, and it will be wrong to expect that some locally written script will be able to do the job much faster.
Swapnil Bhartiya: Now, David, if I ask you what tips do you have for folks who do want to migrate, what kind of homework preparations they do themselves, number one to prepare so that easy for Flexify to help you with that, number one. Number two is also, if you can share some tips that, when they do look at a provider, what are the things they should look at that, this is what the company like Flexify so that you can very easily look at that, Hey, they can do this, they can do this, they can do this, so I should go with them. So that, it’s two full question one which is actually part of the same question that, how do you prepare, what tips you have for companies who want to do that and how should they look at a provider like Flexify?
David Liu: So let me answer them in reverse order. First of all, when you’re looking for cloud solutions, typically I think people look for bigger companies like Amazon AWS, Google cloud, and Microsoft Azure. But nowadays with folks like Flexify, CloudFlare, Backblaze, there are many smaller guys, even DigitalOcean, these smaller cloud platforms are offering similar capabilities, but much lower cost. And it’s actually very attractive if you have a particular use case that’s suited. So don’t just look to big players, but also consider the smaller players. And you might find more advantage by doing so. And when you are doing the migration, definitely prepare. One of the things that we did very well is to have a cloud trigger for all the new files that was coming in during the migration to be copied to the destination. Because during the migration, you don’t want to stop your service.
You still want to serve your users. You still want the service to be running like nothing has happened, but for that to happen, we need to ensure that all the new files will be also migrated all the new files that’s generated during the migration, that will be migrated. So we had a separate process for that. So that way, all we needed to do is just copy all the old files. And then by the time we finish the migration, we can be confident that all the files will be at our new place. So those are the two things I would advise.
Swapnil Bhartiya: David, Sergey, thank you so much for taking time out today and talk about this migration. It’s not just about how Flexify I help Musify, but it also helps a lot of companies who are planning such migrations and thanks for sharing those tips. And of course, I would love to have you folks back on the show. Thank you for your time today.
David Liu: Thank you so much.
Sergey Kandaurov: Thank you for claiming us.