Ymir Report #50 — Project deployment performance improvement


Heya friend!

Carl here. You signed up to receive updates about Ymir, the WordPress serverless DevOps platform that I’m building.


INTRO

Greetings from Montreal! I'm back on the east coast for the past week. It's been nice to not deal with the crazy JST time zone. (Although I plan to go back to Tokyo in the fall 🙃)

This cycle has been slower with the move back. I also got some consulting work which I prioritized over doing Ymir work. I picked up a small retainer contract starting next month, which should help as well.

Like I mentioned in the previous email, I'm taking a break from larger features. I'm working on doing smaller changes and maintenance work. One of those small features is an improvement to the performance of project deployment.


PRODUCT

You can always view the history of Ymir's product development at https://ymirapp.com/changelog.

So, as I said, I did a change to project deployments to improve performance. The change centers on asset changes. The Ymir logic to track asset changes was based on the same logic as Laravel Vapor.

Before assets would get copied every deployment, this worked fine with Laravel Vapor because projects have a few assets. But WordPress is a completely other beast. Some projects can have 20,000 or even 40,000 assets.

Copying all these assets when there'd been no changes could take minutes. Those file copies weren't free either. They had a cost in space and in terms of requests. An S3 copy request isn't free and making 40,000 copies with each deployment can add up.

Ymir now creates a hash of all your assets. If there's been a previously successful deployment with that asset hash, the Ymir CLI will skip processing assets and continue with the deployment process. Here's an example below:

Patrick Leblanc deserves a lot of credit for annoying me about this for months. 🤣

Outside this change, there's been some maintenance on the Ymir application side. I'd delayed upgrading to Laravel 10 while I was working on tagging. The Ymir plugin now has a better support for Action Scheduler. (There's a lot more work that I want to do around it in the long run.)


MARKETING

Another cycle with not much marketing work. I did consulting that week because that's when I got the contract. It doesn't excuse things and I need to do better.

I'm getting more comfortable working with ChatGPT. (I use it pretty actively for coding now.) I want to try to leverage it to help me do marketing work. I started working on it and I'm hoping I can publish something next cycle and get back on track finally.


BUSINESS

You can always view Ymir's up-to-date business metrics at ymirapp.com/open. They're updated every 10 minutes.

Still getting a good amount of trials. April might be flat since one card is stuck retrying right now. I reached out, and they said they’d fix it so we’ll see!

No movement on the partnership this cycle. It's a bummer, but they're managing multiple projects/partnerships and I only have that one right now. So it makes sense it doesn't go as fast as I'd like.

For now, I paid myself from Ymir money for the first time this month. I have a retainer starting next month for a few hours, which should help. But it's still very touch and go.

Carl

Ymir

Read more from Ymir

Heya friend! Carl here. You signed up to receive updates about Ymir, the WordPress serverless DevOps platform that I’m building. INTRO So I'm back from CloudFest. I'm really happy with the experience overall. I'm not sure if it'll be worth it financially. That said, I'll definitely go back for the hackathon at the very least. The hackathon was such a great experience. It was my first one, and I was so blown away by it. Joost did a small write up on it that I found great. From a business...

Heya friend! Carl here. You signed up to receive updates about Ymir, the WordPress serverless DevOps platform that I’m building. INTRO We did it fam! I finally have the second Ymir case study published. 🥳 It's been a mad two weeks for me with Ymir. I've basically decided to go all in with supporting project types outside WordPress. I was aiming for Drupal next, but things are moving in Laravel land so I'm thinking of doing Laravel first. (More on that later.) Radicle support hasn't launched...

Heya friend! Carl here. You signed up to receive updates about Ymir, the WordPress serverless DevOps platform that I’m building. INTRO Smaller gap between updates this time! There's been some good progress with adding Radicle support to Ymir. I'll talk about it more in the product section. But I've been having a lot of fun puttering on Ymir. I also finally wrapped up my year in review! There are some new thoughts on Ymir there, like the importance of not dying. But also the need to branch out...