Open Channels FM
Open Channels FM
Scaling Performance in WordPress for Cloud-Powered Sites
Loading
/

In today’s show BobWP has a conversation with Ivailo Hristov from NitroPack. We can never let too much time pass without talking about WooCommerce and performance, which we do again today. But we also learn more about the backstory of Ivailo moving into the WordPress and WooCommerce space, and why. He also shares why they went cloud based with their product vs hosting, and rounds out the chat with a last minute Black Friday performance tip.

  • Ivailo’s journey on the web and to WordPress
  • WooCommerce comes into the picture
  • Cloud-based vs. hosting, the decision
  • The experience of moving into the WordPress ecosystem
  • The ease of staying up-to-date with WordPress core as a builder
  • Last minute Black Friday performance tip
  • What’s on the horizon for NitroPack
Episode Transcript

Bob: Hey, I’m here with a very special guest today. I have Ivailo from NitroPack. Now I’m excited about this. Well, one is NitroPack is a partner of Do the Woo. They’re an awesome team that, yeah, they do amazing stuff. And I thought I’d be really cool to get Ivailo on here and kind of hear the backstory and how NitroPack came to be, how he got into WordPress, all that good stuff. Ivailo, how are you doing today?

Ivailo: Hey Bob. Doing great. Been waiting for this for a long time, actually, so quite excited.

Ivailo’s journey on the web and to WordPress

Bob: Cool. So we are going to hear your story. Now, we always start out with a little bit of the background. What is your background in the web and how did that lead up to WordPress?

Ivailo: Yeah, it’s kind of an interesting story because initially when I started, I were very kind of interested in performance from the very beginning, even in high school and later when I was in the university. And then I had some personal projects and it always revolved in some sort of a performance solutions. But then I joined a company called iSenseLabs, which was developing modules or plugins for OpenCart, which is an open source platform for eCommerce stores. It was really funny because one of the first projects that we got to do there and one of the first plugins that I got to work on was actually a performance plugin and it was NitroPack. So NitroPack is kind of an old product, if you want to say it like that. This was back in 2013, the first version that we released and everything started rolling from there.

We started with OpenCart, we started as a simple caching plugin, like page cache. But then as we got more and more use and more users and people with more and more problems, we started building the product with more solutions. There was a lot of interesting limitations that we kind of hit back in the day because the first version of NitroPack, of course, was the so-called cell hosted solution. Like you download the plugin from us and you install it on your server, on your website, and it works entirely locally. And that actually created a lot of issues because there are a lot of different servers. It’s an endless amount of configurations that you’re going to encounter in that space, and everybody has this function is disabled here, or you cannot use this, or you have a limitation on number of, let’s say, process that can be executed.

So we started hitting these walls and these issues, and over time we started to think how to think of solutions of how to solve these, right? And more and more, we were getting into the idea that we had to reimagine this and be not running on the client servers because of these limitations. But it took some time until we can come up with the actual idea how to achieve this. And over time during this was happening, of course we were still developing the solution and we had more and more clients. And with that we had more and more support tickets because of these limitations and issues. And the web of course, was evolving with that. We were very kind of lucky to start fairly early in that space with the performance. And we grew with the evolution of this performance oriented space in the web.

As this space evolved, we wanted to be able to be up to speed with the latest technologies built solutions that are for the modern time. And it got increasingly hard to do this. So one time at lunch, actually at lunch break, we finally came up with the idea how to do it and how to get out of being a self-hosted solution and being hosted on the client servers and how to make it into a cloud solution. At that point, we started thinking of, okay, what are the pros and what are the cons of this, right? Is this going to be truly a good approach to go that route? And as we were thinking about it, we could only come up with benefits and there are no drawbacks. Just a quick example of the benefits, because it’s very long list that I’m going to quickly share some of them. We of course, don’t have the server limitations and we don’t have to worry about whether we can actually perform on a type of optimization or not.

So let’s say we want to optimize the images with the latest format, we can do this. Let’s say we want to have a much, much better way to extract critical CSS, of course, we can do this. We control the environment and we build the best solution. It’s better stability for the end user. Some of you may know, some may not know, but NitroPack is fairly stable with even all options enabled. Very rarely something breaks, we get faster updates because one of the issues with the old approach was that if we want to release a new feature or if we want to fix a bug and push the bug fix, we can push it of course. But then how long does it take for this to reach everybody? And we never know how many people might be stuck with the old version that hit the bug.

So moving this way, moving, going that route basically solves all these problems and it gives us one very good advantage for the product in terms of product perspective. And that is that we can build the solution as a platform agnostic solution and adopted to the specific platforms use case. So that’s how we actually transitioned to WordPress. Once we got this idea, we dedicated time to make proof of concept and to build it, and we built it. It worked very well from, maybe not from the first attempt, but it took us probably a month to get there. And from that point on, we said, okay, so now what? We have OpenCart, okay, but what would be another platform that another system that we want to optimize and to have? WordPress came out as the platform to go then because of many, many factors.

But for example, WordPress is massive. It has a lot of users and many people on a daily basis who browse the internet, they land on WordPress or work on our sites. So if you wanted to actually help in making a real impact in terms of site speed in the real world, WordPress was a very no brainer choice for us. If we were able to get there, we were going to be able to help a lot of people and a lot of users, visitors will enjoy faster page loads on a daily basis. And of course WordPress has very active community. These are one of the reasons that we decided to go with WordPress. And basically it started from there. That’s how we began our journey to the WordPress world. That was back in 2018, I believe. Late 2018.

Bob: So did you have any experience with WordPress prior to that? I mean maybe more personally?

Ivailo: Yeah. Not for personal projects, but in iSenseLabs, the company that initially started NitroPack. Besides doing our modules and plugins for OpenCart, we were getting projects from clients and some of them were on WordPress. So we had prior experience with that. And we also had friends working there, we had partners working there. And also most of them were telling us that there isn’t a solution in the [inaudible 00:09:48] space, which is easy to use and gives good results. There are solutions, but oftentimes, at least back then they break. Oftentimes they are hard to set up, they’re lacking features. And they were like, “Hey, can you bring NitroPack to WordPress?” And yeah.

WooCommerce comes into the picture

Bob: Now what I’d like to do is touch on WooCommerce. During all of this, was the idea to actually start integrating into WooCommerce with your product, was this an internal thing? Was this something that you felt your customers were asking for? Obviously performance is huge for eCommerce shops and it was inevitable you were probably going to end up that way. So can you tell us a little bit more about where did WooCommerce play into it?

Ivailo: Yeah, so it was fairly natural transition for us. And in terms of marketing, we actually didn’t do any marketing and it was mostly people needed solution and they found about NitroPack. But why WooCommerce and how it happened is fairly natural as we had previous experience with, what has it been, seven years or something like that before we started, NitroPack is the current version in online eCommerce basically. And with OpenCart, we found WooCommerce very similar. So we already had a lot of experience in that space and we were able to identify the problems fairly well, I should say. And it felt very, very natural to go into WordPress and into WooCommerce specifically.

We’ve been maintaining and building fairly large stores in OpenCart too back in the day. So we knew about the struggles that there are if you try to scale the type of sites that are WooCommerce sites. What happens if you want to scale to be able to handle thousands of active sessions per second, or how do you distribute, in our case specifically the solutions that we were interested in or how do you make it perform good? What do you do with the cache? How do you distribute the cache? What happens with the database? Can we handle and how many application servers can we handle?

So that type of things we already knew. And of course we already knew what are the pain points of running an online store, like how do you handle campaigns? What happens if you have a spike in traffic, how the dynamic works, what are the user behaviors? What are users looking for? How they are they going to drop if you have, let’s say, slow websites versus fast website, which parts of the website must be fast? All those type types of solutions we’ve already been working on and been solving these problems previously. That’s how we saw WooCommerce as a very good fit for us. But if you think about the problems with speed and the speed of websites, the solutions and the problems are fairly generic across the board, regardless of what site you build.

The trick is to know that the site behavior and what does it mean to have a, let’s say, an eCommerce site versus to have a, let’s say, a news website. What are the differences in behavior? What do you need to optimize? If you run a news website, you probably don’t have filters, but filters in category pages in an eCommerce site are something very important. And if they work fast, it’s a completely different experience for the end user. So we are trying to combine the knowledge of the general problems and then the knowledge of that we have an eCommerce specific performance kind of morph it into NitroPack as a solution.

Cloud-based vs. hosting, the decision

Bob: I know this is something that interests people that out there building products and services, and I believe you probably touched on a little bit, but I want to zero in on it a little bit more. The decision you went through to make your product cloud-based versus hosting. I know that probably was not a light decision to make and there had to be reasons that you decided to go that direction. Can you elaborate a bit more on that part of it?

Ivailo: Yeah, of course. This was a very for us challenging thing to do. Of course there are a lot of benefits, right? We touched upon them briefly, and I’m going to expand a little bit more in a bit. But one of the hardest things to do for us was to transition from the standard way of pricing the product, which was single payment. And you get the product for, or you have to renew license for support for example, or for some of the services to work, but generally you only pay once and you have the product. But moving into the cloud for us means that we have an ongoing cost. So in order to make it sustainable, we had to go with the new model of the subscription model. And for a solution, for a performance solution, this was kind of a new thing, especially for when we did it in OpenCart, but also for WordPress, it was not kind of the standard.

So this was a challenge for us, but I think it’s kind of fairly well handled now, but then it’s becoming more of the norm. People are getting more and more familiar with that and they start to understand why this is the case. Because of course we have the costs of running the servers, but we also have the cost of building and continuing to improve the product. And people not very often realize how costly that may be. And of course, everybody wants to get new versions of the product. Everybody wants new features that solve more and more problems, make it more stable. But in order to make this a sustainable business in that space, this is just kind of a necessity.

But that side notes, everything else is a benefit. You just get, for starters, if you run your speed solution on your server, whenever it optimizes your site, it’s going to consume resources, it’s going to take up your RAM, it’s going to take up from your CPO, which in turn means that you’ll be able to serve less visitors. So let’s say you want to have a campaign and let’s say a campaign, it’s kind of like Black Friday for example. You expect a lot of traffic. If you have a typical performance plugin, it’s going to just consume some of your resources to do optimization instead of you being able to serve your visitors. So that’s one of the main benefits. And then like we discussed previously you get much better stability.

For us at least, there are no limits to what we can develop as a solution because we don’t have the server limitations. We completely control the environment in which we build our product. So we can use the perfect tools for solving the issue, for solving the problem. So if you want to, let’s say, we very recently launched thing called font subset as a feature, which is again, something that there isn’t an alternative out there. This is a completely automated way that can subset fonts, which can drastically reduce their size and make your site much, much faster in terms of loading the text and not having be blocked. And it’s a great tool. And in order to do that, we need to completely control the environment. We have to be able to have this kind of predictable setup. So that’s another benefit.

And there’s also the benefit that we can build the solution in the form of an API like we have done. And this makes it fairly platform agnostic. So okay, we are now focusing on WordPress, on WooCommerce. We are building our first part integration, but NitroPack is also available and it can be integrated with any platform. So if there’s the need to, let’s say, connect, let’s say you operate a few platforms, you might be working with WooCommerce, but you might have clients with OpenCart, you might have clients with Drupal or custom built platforms, whatever. So let’s say you want to optimize these platforms as well, NitroPack can be your solution, and going in the cloud means that you can get familiar with one solution, with the cloud solution, and use it at all of those platforms.

So you can be more efficient when you are taking more projects and projects with other platforms because you will not have to get familiar with the completely different set of solutions for the other platform. There may be no solutions, so you might have to do a lot of work manually there to optimize it and to scale it. So that’s also a benefit for the developers and for the people that use NitroPack. And again, with the updates, I think this is a big one, distributing bug fixes and updating the code base so when we have it in the cloud is just much, much easier to do and much faster. We know exactly how many people got the bug fix. We can distribute new features, we can automatically keep the sites up to date with the latest performance optimization techniques. So a lot of benefits compared to those model that you have to self-host a solution.

Thanks to our Pod Friends

The experience of moving into the WordPress ecosystem

Bob: I talk to a lot of builders, especially product and service builders who are entering WordPress or they’re either coming from another platform or they’ve been around or they’re just wanting to get into the ecosystem.

What was your experience moving into the WordPress space? There’s the community, there’s the support, there’s probably challenges that come along with it, but as they come, at that point, back when you decided to enter WordPress and become part of that ecosystem, were there any specific challenges or were there things that went very smoothly that were unexpected?

Ivailo: So I would say it really depends on the background and what have you done previously and how familiar are you with an ecosystem like the one in WordPress, because it might be very difficult or very challenging to do if you don’t have an experience with, let’s say, working in open source, working with a large community with many users, users of all sizes. But other than that, what we found in the experience that we had was very good, I would say, because being this big for WordPress, there’s a lot of information. So for most questions that you might ask, you are probably going to find an answer very easy. So that’s one of always the benefits when you go with a popular platform.

And then if you cannot find a solution, there are a ton of groups, communities or even the WordPress Slack, where you can just join and ask. And it’s almost certainly, you can be almost certain that there’s going to be somebody to help you. The other great thing is, I think the fact that a marketplace exists and people have easy access to the products that you’re going to build. A challenge that you might face is how to monetize the product if you haven’t been in an open platform like that, of course the suggestion would be just look around, see if there are competitors and how they’re doing it. Right? So get some ideas.

But having the marketplace in the WordPress directory of plugins is great, I think. People can very easily discover your product, just make a good description, tag it properly, and you will just get visibility for free, right? For it’s out of the box built in. And then you have easy way to update the products to the plugins. So you don’t have to worry about the distribution part so much, which sometimes in some platforms is a challenge, right? And also the process of submitting a plugin or your product to the WordPress directories, I mean, we liked it because in my opinion, it’s good because there’s some sort of checks and your product is being vetted. Does it conform to good practices? Like you’ll most likely not submit something with security issues because it’s checked very well against that. So that type of stuff is also things that we liked.

The ease of staying up-to-date with WordPress core as a builder

Bob: Now with performance and with WordPress core working on performance, I assume that you really need to keep on top of what’s going on with WordPress core in order to keep your integration with WordPress smooth. So my question is, do you feel like you are able to stay on top of what’s happening in WordPress core? Is there enough information for you as a builder out there to keep your product in the line with what’s happening there?

Ivailo: Yeah, that’s actually one of the beautiful parts of open source I would say, because you always have the visibility of what’s going on. You can always prepare, you can follow the development of it, you can be part of it of course, that’s even bigger benefit of open source. You can be really involved with all of that and you can contribute. If you don’t want to contribute, you can at least be very well familiar with what’s going on, be part of the discussion, follow the developments. If you’re interested to read the code, see what people are submitting. In WordPress specifically, it’s great that a lot of the documents and the suggestion for improvements are public. So you can see the direction, where is WordPress going? How do I adapt? Is this going to break in the next version? Do I have to adapt my plugin? Can I prepare for this?

And of course, if you are keeping on top of that, you can be sure that you can proactively make your plugin compatible with the next version or make use of what’s coming in the WordPress. So let’s say a new API gets added to the core and you can leverage that and build an even better product, even better solution, you can prepare for that. So as soon as the new version is published, your plugin can already be ready for that and your users can immediately benefit from that. So I find the openness of WordPress and what the core team is doing, very, very good.

Last minute Black Friday performance tip

Bob: Well, I want to bring this up only because we’re on the cusp of it. I mean Black Friday, this will be coming out before Black Friday, and then we have the whole holiday season. People are selling lots of stuff on their WooCommerce, at least I hope that they are selling lots of stuff in their… and being very successful. And of course, performance plays into that a lot. And I think there’s probably a lot of people have things in place already. I would hope that by now they’ve prepared themselves because you certainly don’t want to be doing last minute things. But then of course there’s some developers that may be working on stores that have recently launched and they’re at a point right now where they’re maybe going down the list making sure, are we prepared for this? On the performance side of things, do you have a tip or two or however many you want to share at this point that you might want to at least review or things you could still do?

Ivailo: Yeah, definitely. In terms of performance, what you want to ensure is that you have a good caching clear in place because Black Friday is the type of campaign you don’t want to miss out. You have to be able to sustain as much concurrent visitors as possible. So make sure you have a good caching clear configured, a lot of solutions for that. A lot of hosting companies already have that built in. Just make sure it’s enabled, make sure it’s working properly. And if you’re planning on running a campaign, make sure campaign links typically have these additional query parameters. Make sure that those don’t interfere with your caching clear.

So you have to configure it in a such way that these are ignored and your system can serve the traffic appropriately and not. Because this is the code cache busting, but it’s be practically not effective if you don’t configure this. So make sure you have this configured. Yeah, just prepare your items and your lending pages, figure out which are going to be the top products to feature and optimize the pages as much as possible.

What’s on the horizon for NitroPack

Bob: Yeah, yeah, it’s an important time. This is a big time of the year for their sales and whether they’re doing their own WordPress products or they’re actually helping their clients with their sites, this is something you got to stay on top of all the time. So before we go, is there anything else you want to add? Anything exciting coming up at NitroPack?

Ivailo: Well, a lot of exciting stuff is coming in NitroPack, but I’m not sure that I can really share a lot of that. But yeah, I expect some new features and a few big improvements in WooCommerce, some UI changes in NitroPack. So if you’re a builder or if you develop a website and if you are using NitroPack, we want to give more visibility to the technical people because NitroPack is doing a lot of things. So we are working on solutions and interfaces to just help you see everything that NitroPack does in more detail. And of course help you in if you’re debugging something or if you’re trying to solve some issue. We are building a lot of tools in that direction. But other than that, yeah, I think that’s pretty much it.

Bob: Yes. You don’t want to give any details away, but you can always tease everybody with all the good stuff coming that’s always a good idea. What is the best way for people, if they want to reach out to you or your team in NitroPack, what’s the best way for people to connect?

Ivailo: So to connect with me directly, probably LinkedIn is going to be the best way. So you can find me, Ivailo Hristov is my handle there. And if you try to reach the NitroPack team, you can reach us on Facebook through our page, through our group. You can always open a support ticket so you can reach the support team and Twitter at us.

Bob: Cool. All right. Well I would suggest everyone do checkout NitroPack. Yeah. And especially if you’re building sites, it seems like it should be easy to sell your clients on because they do want to make sure their site’s performing well. I believe everybody has that mission, so that should be a no brainer.

Well, I really appreciate it. I hope to have somebody else back from your team. Maybe we can talk about a little bit about the developer stuff or get them involved in the developer chat. I know our dev chat does a lot of stuff around performance, so they always love going back and forth and debating ideas and encouraging each other. So I’m sure we’ll have somebody back from NitroPack on some episode or some upcoming stuff we have lined up for, especially in the new year. So I appreciate you taking the time and yeah, thank you very much for sharing your knowledge with us.

Ivailo: Thank you, Bob. It was a pleasure.

Leave a Reply

Logo of 'BackTalk' featuring stylized text with a blue and black color scheme, accompanied by sound wave graphics.

Get our newsletter, BackTalk, the sharpest ideas, honest moments, and quotable insights pulled straight from our conversations across OpenChannels.fm.delivered to your inbox every Wednesday.

Discover more from Open Channels FM

Subscribe now to keep reading and get access to the full archive.

Continue reading