Guillaume: Hello everyone. Guillaume Le Tual here, host of the Ecommerce Wizards Podcast where I feature leaders in e-commerce and business. Today’s guest is Josh Ward, who’s the VP of Sales at Nexcess hosting, so obviously when we talking about e-commerce hosting specifically what is the difference in hosting a PWA, Progressive Web App Magento e-commerce store versus a regular e-commerce build. Before we get started, our sponsorship message:
This episode is brought to you by MageMontreal, if a business wants a powerful e-commerce online store that will increase their sales or to move piled up inventory to free up cash reserves or to automate business processes to reduce human processing errors, our company MageMontreal can do that. We’ve been helping e-commerce stores for over a decade. Here’s the catch. We’re specialized and only work on the Adobe Magento e-commerce platform, also known as Adobe Commerce. We’re among only a handful of certified companies in Canada, we do everything Magento-related. If you know someone who needs design, support, training, maintenance, or a new e-commerce website, email our team at [email protected], or go to magemontreal.com.
All right, Josh, thanks for being here today.
Josh: Thank you and thanks for having me.
Guillaume: Well, I know you talk about e-commerce hosting all day long, so let’s just jump right into it the PWA hosting versus regular hosting for Magento, also known as Adobe Commerce, like, what’s the difference?
Those are the things that we have to consider on our end, how did you architect it? What does your visitor normally do? How many pages do they normally look at? How many products do they buy? What kind of search are they looking at? So that we understand a little bit more how your traffic flows back to the home server or your source server. So that’s a big thing for us. A lot of times customers come to us thinking that PWA is lightweight so they don’t need much hosting. But again, if you’re processing a whole bunch of orders you still need the order processing engine. I mean, that transaction at least in part is going to have to take place again back at the home server and so we’re not always able to sort of slash your hosting infrastructure in half just because you’re working on a PWA.
Then the last piece I would throw in there that’s different is it is this additional level of complexity. I’m a pretty firm believer that typically the more complex things get usually the more expensive they’re going to get. I guess it’s really hard for us to see a situation where we’re the same store, if everything else is apples to apples and all you’re doing is comparing a PWA version versus a non-PWA version. Again, kind of going back to this cost thing, the PWA version is more complex, I mean, at the end of the day it is and that’s whether we’re doing a lot of leveraging from a CDN standpoint to help with that or we’re doing it on the infrastructure that we’re providing. There’s more complexity, there’s more expertise. This is not shared hosting and so there’s just additional complexity and additional cost that goes with that. So I would say that those are probably the big three things that we consider that somebody who’s not focusing on hosting every day may not be always thinking about.
Guillaume: Okay. So first there’s no one size fits for all recipes. You want to look at what the agency or company is building their e-commerce store on PWA to use as a tech stack. Because this is also something that people may not realize, PWA does sort of explore the tech stack out there. Because your back-end is still going to be let’s say, Adobe Commerce or Magento like in this case but then for the front-end there’s so many ways to build it. You may use Adobe’s Magento PWA studio and build this with React and all that or maybe go with a Vue storefront which is going to be Vue JS instead of React which is a different approach. Maybe you want to merge your content but a completely different editor. Then we also have these clients who come to us with an already built PWA site on Magento for the back-end and want support but they’ve a strangely arranged tech stack that we’ve never seen. So you have to think about that upfront when you’re building the website because then for example, my support team says there’s no way we’re learning all these just for one account. So you have to be careful if you go off what is the main stack from such as the Vue storefront or Magento PWA Studio when you build the site both for support and for hosting of that system afterwards?
Josh: Yeah, absolutely. I mean, that’s the beauty of open source and also the pain of open source sometimes because you can mix and match these things in a million different ways. You don’t have to always follow the instructions in the Lego box. You can make some really cool stuff but then try to support those really cool things. That’s your job and my job and that can be really tricky.
Guillaume: And do you have any preference in say, for our default recommendation you should use two servers or virtual instance versus one? Let’s say one for the PWA and one for the application, the Magento back-end where you do all the API calls or does it not matter and you can still put everything on the same dedicated server?
Josh: Yeah, that’s a great question. Certainly we would prefer dedicated instances rather than anything that’s shared when you’re in the PWA world. The other piece is, there’s really not one size fits all. We have run into situations where somebody comes to us and they’re using Adobe’s toolkit or they’re using React as PWA’s go, it’s pretty straightforward. They follow the playbook and it’s not a massive site, we’ve had a couple of those and we haven’t had any problems. But for that to be true it’s got to be like a vanilla build, that ‘s what we would expect a PWA to look like. So it comes to us and everything’s documented and we’re good to go, and traffic volumes are relatively low and so we’re good. It doesn’t take much deviation from that kind of vanilla script for us to go yeah, now it’s time for two servers. It doesn’t take the traffic volume to go up much, it doesn’t take much deviation right now, or something we scrap React and we’re using something else. We’re not following this playbook.
Our experience is, things get really interesting at that point and it’s better to have some isolation, have at least two servers and then we start to think about, again, how much traffic do you have? How much scalability do we need from a clustered standpoint? What are your HA requirements? Do you have product releases on a daily basis or on a weekly basis so your traffic’s going up and down? So we’re kind of architecting based on some of those characteristics, plus the uniqueness of the PWA and so then we have two plus servers going. I mean, is it possible to do it? My short answer is, it’s possible to do it on one server, it’s certainly possible. It doesn’t happen frequently though.
Guillaume: Do you run into any other kind of problems like indexing, index size and stuff like that? Some other things that people don’t necessarily know much about are user groups which also generate more server demand which is an additional set of index. So if you’re, let’s say, a wholesaler, a retailer and group price one, group price two, group price three, Magento has to upkeep all this and each price volume for each SKU. If you have a million SKUs then you have like millions of indexing data like that.
Josh: Yeah, that’s another great call out. What’s your inventory system? How are you pulling those product SKUs in? What’s your source of truth for all that? Again, each one of those adds additional complexity to the system and when you’re adding that I would say from a hosting standpoint, typically, you’re expecting two things, one, you’re expecting more servers, and two, you’re probably expecting, again, a higher cost. All those things whether it’s from a support perspective or sheer resource need perspective, that’s all really important. We’re not architects of the application, we’re not building, developing, or whatever. We do push back at times, though, the more we see if you’re trying to update inventory from third party systems multiple times a day and you’re trying to run a PWA on top of that, which, again, additional complexity we’re going to suggest that you do things differently. Now, that sometimes doesn’t work with your business model or the way you’re going to market with something and so we understand that and we can’t always say no. But when we can we try and help customers simplify the way that works because the PWA should mean less time ideally with the database. When you start adding all those crowns and different queries and everything you’re creating more time with the database and that’s not a sign of a helpful thing. That’s when you’ll start to see well, I’m running a PWA but I’m seeing slowdowns. The PWA didn’t cause that. It’s the complexity with all the other things going on.
Guillaume: So like you say, cost tends to be higher because of the more complex systems. Do you have a kind of rule of thumb or ballpark that it tends to be roughly this order of magnitude, larger or this to this, or?
Josh: Yeah. So if we look at a really simple PWA setup that we could fit on a single server, you’re looking at maybe 20% higher than if that same setup was non-PWA, just a regular Magento site. Maybe we’re looking at an additional 20% after some of those additional considerations. When you get complex, when you can’t run this on a single server you’ve got to at least run two. You’re talking probably two to two and a half times the cost because you’ve introduced that complexity. Now, there’s shades in there, it’s not always two to two and a half times. The larger you get you start to see some efficiencies at scale. So if we had a customer come to us and it was going to be like a 20 server cluster. So non-PWA is 20 servers. Now they’re going to run a PWA and we’re going to say, well, now it’s 22 servers. You’re not going to pay two and a half times, the cost isn’t going to be two and a half times because you already have a pretty big setup as it is.
So the bigger you get you start to see that number come back down, where maybe you’re paying 20% more than that and not 250% more. But there’s certainly sort of a middle ground for the transition period that happens, that’s realistically, probably around the $1,000 a month mark for us, whatever that might look like. When you’re transitioning you need multiple servers, you have a PWA in place where you introduce that complexity you don’t have any additional traffic, but because that extra complexity is there from the way you’ve built the site, yeah, you’re going from $1,000 a month to $2,500 a month, so something like that.
Guillaume: And is there any preference on like, should you go with a dedicated machine, you go bare metal with a standard VM virtual machine, or you go with a cloud product, or go to a cluster setup. And people might even wonder if you have two servers and if they are in a cluster, and if they’re not, they’re just connected locally together and the cluster would be if you needed an additional app server. But can you cover a little bit of the architecture choice?
Josh: Yeah, so like I said we would need to be dedicated. For us that would mean either bare metal, so dedicated physical hardware or just not part of our larger Magento Cloud hosting. So we have a very tailored version of Magento Cloud but the entire environment is really tailored and it’s built for the largest common use case, and PWA isn’t part of that and so not really tailored for it. We can still take our cloud platform sort of divorce it from what we typically do with Magento. Now we’ve got dedicated VMs in a cloud environment so we can virtualize those dedicated servers but if a support tech logs into the server they’re not really going to be able to tell the difference unless they really dig in to see where that instance lives. It looks and feels and acts a lot like our dedicated bare metal solutions. So I would say that’s number one and that’s very important. Got to be dedicated, not any sort of multi-tenant type environment, that’s important. And that’s for all the customizations. Largely, it’s so we can get really custom for whatever the customer is building.
And in terms of multiple servers, I don’t know if you would call it a cluster but a lot of times we’d refer to it like as a two node cluster, a two node set up where you’ve got a sort of a front-end and a back-end and they’re not really clustered to your point, they’re just sort of networked together. They can talk to each other really easily but there’s no load balancer in the mix. Adding resources to a setup like that means making those servers bigger or making those VMs bigger by adding resources like additional CPUs, RAM, or whatever it might be. So you can do some vertical scaling on those two nodes but it’s really hard to add a third node into it when you don’t have a load balancer. Then the step up from there would be load balanced. And that’s kind of where, how much is your need for capacity change? What are your traffic spikes like? Are they consistent? Do you just have one big sale around Black Friday and Cyber Monday, and so that’s all we need to plan for, weekly or monthly? How big is your email list? All those fun things that drive traffic to your site and how frequently it drives traffic, then we can plan for capacity and maybe a cluster is needed, maybe you just need two bigger servers. But the dedicated piece is really important. We have some really fun features and tools with Magento Cloud stuff that we do, but it doesn’t work with PWA because we have to get to custom it.
Guillaume: All right. To finish this is a shotgun question, is there anything else that people should know or think about or that you’d like to share about hosting PWA versus hosting regular Magento e-commerce?
Josh: I would point back to you and I would say, talk to your developer, have a discussion with your developer around what your long term plans are and what they would suggest on what’s going to be most sustainable in the long term. I’m cheating a little bit, that’s not necessarily a hosting consideration but that planning affects your hosting costs and how well we can sort of get custom and perform for our custom. The more custom it is, the more resources it requires on our end and that onboarding period is going to be longer and there’s a lot of sort of costs that you’re going to see down the road if you don’t plan really well upfront. And that planning is typically going to happen with your developer and not necessarily with your hosting company. So build those plans really well in the beginning and then I think the hosting works itself out way better.
Guillaume: Yeah, and we’ve already covered this like, stick to your mainstream tech path so that it’s easier for you if you ever need to define yourself a different company for support or for hosting or for whatever else and not go too French. PWA is already sort of a new up and coming thing, it’s been up and coming for a few years but new tech takes time to arrive. So the Adobe PWA studio, Vue storefront are the two biggest ones, there is also the ScandiPWA team that is fairly popular, like don’t go too crazy and explore. It’s a bit of a mix and match because actually a lot of agencies would actually turn that down as a support Frankenstein piece of tech if it’s too crazy when you arrive and you want to shop around for another agency if ever the need is there. So well, thank you Josh for being here today. If somebody wants to get in touch with you, what’s the best way?
Josh: Yeah, drop me an email, [email protected], I’m up direct there. Also, I’m Josh D Ward, D as in David on most social media, LinkedIn is probably my favorite. Feel free to connect there.
Guillaume: All right. Thanks for being here today.
Josh: Thank you.