Bava moves to Kinsta, story at 11

It’s been surreal here in Northern Italy, and the last thing the world needs right now is another hot take on the Corona Virus or teaching online in the age of pandemics. My turn over the least 10 years has been to explore new (and old) web-based environments possible for teaching and learning, and frankly the syndicated, asynchronous and distributed learning environment sounds pretty good right about now. Throw in some radio, and it is near on perfect ?

But I profess and digress, but at least it’s not on Twitter. The point of this post is simply to chronicle my migration of this blog from Digital Ocean (DO) to Kinsta yesterday. I created the DO droplet back in January and documented the process (find the blog posts here, here, here, and here). I learn a ton from these projects and WordPress continues to be the tool I use and learn about the web through the lens of. I recognize the limitations therein, but that said I only have so much emotional labor to spare! So when I was doing a migration from Kinsta to Reclaim Hosting I became really intrigued by Kinsta’s model, to quickly re-iterate here they provide container-based WordPress instances, and their service is built on top of Google’s Cloud platform.

They provide what they call “premium” WordPress hosting, which comes at a price. At the lowest end of the spectrum it costs $30 per month, which is as much as a year’s hosting at Reclaim—and we even throw in a domain. But they aren’t really geared towards the same audience, they are positioned to serve folks how have a site that needs to scale resources seamlessly for both traffic spikes and quick growth. Like I said in my previous post, it reminds me of a dead-simple, elastic Amazon Web Services (AWS) EC-2 instance for those who don’t have the sysadmin chops but need to run a beefy, mission critical WordPress instance. But like AWS, resources come at a premium, but I’ll talk about that later on in this post.

For now let me focus on the migration and Kinsta’s stellar support. I actually tried to migrate the bava from my DO instance two days ago, but I ran into issues because my Kinsta container runs over port 51135, and I could not cleanly move a zipped up copy of my files between servers. The following was the command I used when logged into my DO server, but I kept getting connection errors. Below is a stripped version of the scp command I used

scp -P 51135 myusername@my.ip.address:/www/bavatuesdays/public /www/bava/

I jumped on chat support* and I was almost immediately answered by Ruby who told me there may be issues with my DO instance blocking port 51135, which turned out to be correct, I just was not smart enough to open it. Given the bava is almost 9 GB of files, SFTP is out of the questions given with my current upload speed it would take 12+ hours. Whereas a scp between servers takes literally minutes for a 9 GB zip file. I left things alone for the day as work at Reclaim started to gear up, but returned to it yesterday early with the idea of  actually moving the instance of bavatuesdays I had on Reclaim servers before migrating in January. This would have almost all the same files save anything uploaded after mid-January, which is an easy fix. I unblocked port 51135 on the old server and tried the scp command to the Kinsta container and it worked, 9 GB moved in 6 minutes. 

That was awesome, but when I tried unzipping the directory on Kinsta’s server I was getting disconnected from the server:

I jumped on the chat support, and Ruby once again bailed me out suggested I use the external Ip address for this rather than the internal given it is often more table. Boom, that worked. I was able to swap out the images I was missing since January, and my site was now on Kinsta. A few things I really appreciated was dead simple SSL cert and forcing of SSL through the tools panel:

After that, I tried upgrading to PHP 7.4, and that was dead simple too, all seemed to work, but the WordPress debugging tool showed me there was an issue with the Crayon Syntax Highlighter plugin for anything above PHP 7.2 (it was actually breaking any post with it embedded, which is annoying) so I reverted to 7.2 for now, but I should know better than to use plugins 4 years out of date. I am pointing my domain from my Reclaim cPanel, so no need for Kinsta’s DNS controls, but always interesting to see how they handle that:

Using Amazon Route 53, just like Reclaim, and I might have to add a domain to see how the controls look, and I do like the Gmail MX records radio button given that would, I imagine, pre-fill the records given they’re predictable, and be entirely out of the email game is a beautiful thing! 

Kinsta has built-in caching for sites (need to look more into the details behind that) and they also have a CDN tool, something I’ve never used on the bava, so I wanted to try that out to see if it speeds things up. Now, it is kinda of a joke to say that because speeding my site up means getting it to load under 4 seconds given I load images on heavy, and I never get a rating above D from Pingdom’s speed tester, but I am feeling the site is a bit snappier regardless ? 

So, I got caching, CDN loading, and the like. Now when I moved to Kinsta I was un-phased by there 20,000 unique hits limit for the $30 plan given I average about 100-200 daily hits on the bava according to Jetpack—I’m not as big in Japan as I once was ? But this morning when I checked the site recorded over 2200+ unique visits, even though Jetpack recorded 165. That’s a pretty big discrepancy.

What’s more I was transferring 2.5 GB of data in less than a day? Who knew?! At this rate I will hit my 20K visits limit in less than 10 days (versus the 30 I am allotted) bumping it up to $60 per month for 40,000 unique visits—and at this rate I would even hit more than that, pushing me into the $100 Business plan range. Yowzers! I was interested in where all the traffic was coming from, and it is bizarre, as you can imagine. All I can say to all you traffic hounds out there is make more GIFs! ?

My high-res Apocalypse Now GIF from 2011 was hit 56 times and required a whopping 755 MB of bandwidth.

God the bava is unsustainable! But even more surprising is the following image of the Baltimore Police Department putting guns and money on the table being hit over 1400 times in less than 24 hours! WTF! wire106 #4life

It is a strange world, but getting these insights from Kinsta’s analytics is kinda cool, and it reminds me that the bava is its own repository of weirdness outside the social media silos—“ah! how cheerfully we consign ourselves to perdition!” I still have to get my SSH keys set, which I discovered is possible…

Oh yeah, one more thing. I was also concerned about hitting my storage limits given my plan limits me to 10 GB, and when I did a df -h it looked like I was using 13GBs. 

I jumped on support again, this time with Salvador, and he also ruled—their support is super solid, which is always a good sign. He gave me a different command to run in www, namely…

du -h -d 4 

Which gave me what I needed, 9.2 GBs, just under the wire:

And now I need to find a way to offload some of the media serving given it will quickly make Kinsta prohibitive in terms of costs, but I have thoroughly enjoyed their dashboard, and the laser-like focus of  creating an entire hosted, optimized experience  and environment for one tool.

*Kinsta uses Intercom for online chat support, which is a tool Reclaim had for about a year or two in 2015 and 2016 I believe. We did chat support when it was Tim, myself, and Lauren, that was our team! It was hard, and the chat format invited folks to add 3 word issues like “My site broke” or “HELP me please!” Just the thing every support agent wants to see ? I was mindful of this and tried to be kind and give details and be patient, but the on-demand model can be rough. And I know folks are thinking of that as one way to imagine managing stuff online in times of crisis, but if Reclaim’s experience with chat is at all telling, resist the urge!  That said, Ruby and Salvador were there and helped and I appreciated it tremendously, so who knows. But my gut tells me if you have not done web hosting support for the last 10 years and are not prepared with definitive questions and have done your own troubleshooting you are in for a world of back-and-forth pain

Web Hosting vs. Web Publishing

I appreciate NYU Libraries’ straightforward approach to their Domain of One’s Own project, they basically say, we’re hosting …. that’s it. In fact, it’s right in their domain:

So when someone recently asked me for various examples of how schools are approaching Domains, I headed over to NYU’s instance, and I was struck again by their ability to quickly distill what this service is and is not.

The Web Hosting vs. Web Publishing table breaks down the difference between something like a WordPress Multisite instance versus a Domain of One’s Own quite nicely. You could argue the last point about portability given WordPress sites on WPMS are pretty easy to migrate, but regardless it is spot on.

Web Hosting vs. Web Publishing
Requires intermediate web publishing skills Great for those new to website development
Backend Server Access via cPanel, SSH, and FTP Simple User Interface
Allows for one-click installs and endless customization of self-hosted WordPress, Scalar, and Omeka Limited to WordPress and NYU-approved themes and plugins
No charge to NYU users and easy to migrate upon graduation No charge to NYU user

I sometimes get defensive when folks I respect bemoan how hard self-hosting remains. I do think the point is a fair one and a Domains roll-out will never (nor was it ever meant to) replace various other university-provided tools that create less friction for publishing—even if some need replacing. But I do think web hosting as a basic utility should have a more prominent place at universities like it does at the NYU Libraries. The way they frame it around research, scholarship, and publishing for the digital era should not seem alien anymore. It should be yet another service universities offer alongside the others because there will increasingly be more and more faculty and students who want and need control over their publishing environments for the academic work they are doing.

Hosting Futures

Yesterday I was part of a call between Reclaim Hosting, Cloudron, and Bates College to talk about what piloting a mashup of LAMP and Docker-container based hosting might look like for Bates’s newest academic program Digital and Computational Studies (DCS). It’s a fascinating program, and description below gives you an idea of what this program is all about:

It is neither a computer science department, nor a data science program, nor media studies, nor a digital humanities program… but instead, a bit of all of these. DCS is charged with bringing academic computing to the full breadth of the liberal arts at Bates.

This means that we hope to develop a program that introduces students to the fundamentals of programming, but also provides computational/digital space for students, regardless of discipline, to discover the intersection of their course of study and the networked, computational world that field is now and forever steeped in.

I really dig this description, the idea of making the fundamentals of programming and computational thinking the foundation of an interdisciplinary program seems truly unique. I was asked by a college-age student in Berlin a couple of weeks back what I would recommend in terms of programs, and I have to say this one strikes me as a very interesting disciplinary approach to the digital world. The first of what’s soon to be a triumvirate of faculty, Matthew Jadud, has a Computer Science background and studies the behaviour of novice programmers, and this summer mathematician Carrie Diaz Eaton (who focuses on Mathematical Ecology) and long-time Davidson Domains champion and historian Anelise Shrout (focusing on nineteenth-century American History and Digital Humanities) will be joining the program’s faculty.

To support this new program, they’re looking for a unique approach to infrastructure. They want to provide everything from publishing software like WordPress to integrated development environments (IDE) like Amazon’s Cloud9 or Eclipse CHE—with various options and offerings in-between. While a LAMP environment can take care of publishing apps like WordPress, Omeka, Scalar, etc. web-based programming environments open up a whole new world, as do applications like Etherpad, Gitlab,, etc. So, this is where working with Cloudron to integrate their supported applications through our current Domain of One’s Own setup would be awesome. It will require thinking through managing user permissions, but enabling container-based apps would significantly augment our current hosting options.

During this discussion Carrie Diaz Eaton shared the work she has been part of with QUBES: “a community of math and biology educators who share resources and methods for preparing students to tackle real, complex, biological problems.” QUBES is built on top of a project that came out of Purdue University called HUBzero, a service which provides focused community sites, course spaces, open educational resource sharing, and access to applications used heavily in the sciences, such as R, Latex, Jupyter Notebooks, etc. That last bit blew me away, HUBzero effectively allows faculty to setup a course space and provide their students access to open source tools for various kinds of scientific data analysis with software like R-Studio, NetLogo, Mesquite, etc.

While Carrie was talking I was reminded how firmly Reclaim Hosting is planted in the Digital Humanities community—which has been very awesome to us. But seeing QUBES and how many focused tools exist for the sciences that I have no clue about was a wake up call. The world seemed big again.. What’s more, realizing instances like QUBES run on top of HUBZero re-focused the discussion to disciplinary communities sharing resources for teaching and learning (the tools being one part of that equation) which pointed to a more vertically integrated stack for courses. HUBzero is effectively providing a very targeted LMS for particular courses that expose their students to a range of tools in order to do the work. HUBzero sets up the server environments and does all the integrations—and from what I can tell this is possible based on a foundation model that looks for other schools to join and help support the initiative. I’m not sure they also offer one-off hosting for such communities,  but that is something I’ll try and follow-up on.

In fact, there is most definitely a bunch I’m missing and/or misunderstanding about all of this, but after hearing Matt explain what they are looking for as part of their DCS program and seeing the work Carrie has already been apart of it struck me that these virtual, cloud-based hosted environments for web-based programming, data analysis, and publishing are already happening (Reclaim is just one of them), the question that interests me is which of them will be able to make the process of integrating these environments for a campus clean, easy, and elegant. It will be interesting to watch (and hopefully participate in) the shaping of this next generation of online hosted learning environments. And from what I have seen there will be no one ring to rule them all, but thoughtful integrations to make them seamlessly work together.

Reclaiming WordPress Multisite

Lauren Brumfield already announced that we’re officially rolling out WordPress Multisite (WPMS) hosting at Reclaim. What’s more, she created an online calculator that provides transparent pricing going forward, which is a big part of why we’re finally announcing something we have done for years. While we’ve been pretty laser-focused on shared hosting and Domain of One’s Own for the last four years, we’ve still picked up more than a few WPMS instances. In fact, we jumped in at the deep-end of the pool when we started hosting the colossus that is VCU’s Rampages. As a result Tim was able to really fine-tune high demand WPMS environments like Rampages, and we’re in a situation where we can comfortably manage just about anything out there in higher ed.

It’s fun for me because I cut my teeth on WordPress Multiuser (even before it was multisite), and when Tim came onboard at UMW the first thing we asked him was how he felt about managing UMW Blogs. The rest is Reclaim history, he proved an insanely quick study and went from UMW Blogs to Hippie Hosting to Domain of One’s Own to Reclaim Hosting in two short years. That’s a resume!

back to the future, we really weren’t comfortable with announcing WPMS at Reclaim too early because we were experimenting with different setups across various data centers like AWS, Linode, and Digital Ocean, so things were always custom based on several factors which meant the pricing varied. But when Digital Ocean recently announced their new plans and pricing model, we were sure we had a solid setup through Digital Ocean that would allow us to stabilize our WPMS offerings as well as making them extremely competitive when it comes to pricing.

Before we could announce anything we had to reach out to all existing customers we and let them know of the new setup, for many of them this meant a significant savings. Once took care of that, we figured it was high time to officially announce that we are in the WPMS hosting business. So if you have a WPMS site you want to offload to external hosting, let’s talk. Pricing is simple: server, backups, and software licensing (Bitninja, cPanel, etc) at cost, whereas our monthly maintenance and management fees starts at $250 per month. This model finally allows us to decouple server and software costs from management demands, and establishes a baseline for what our time is worth to ensure you get the service we’re known for. It also makes clear that what you pay us for is not the hardware or software, but the peace of mind that tried and true experts are on the job. I mean let’s be honest here, this isn’t some hack outfit working from a ramshackle UMW office in duPont Hall trying to duct tape together some kind of chitty-chitty-bang-bang syndication solution, we’re professionals—and for that you must pay!

Hosting VCU’s Ram Pages

Reclaim Hosting has been hosting VCU’s Ram Pages as of the beginning of the Spring semester. It reinforces for me there is nothing Tim Owens can’t do, another yet another example of the powerful ripple effects of #ds106 on edtech. We’ve been loath to proclaim victory too soon given what a beast Ram Pages is. And I thought we had a blogging revolution at UMW! In two short years Ram Pages has been home to over 16,000 blogs for 15,500 users. That’s nothing short of mind boggling. Tom Woodward—in his quiet, self-defacing way—has built and managed a blog empire at VCU’s ALT Lab, and over the last 6-8 months Tim and I have been trying to figure out how the hell we would migrate it cleanly given it can grow at intervals of 1000 users any given week.

Hosting VCU’s Ram Pages

We (royal for Tim) moved it over Christmas vacation on to a beefy Linode instance running Ubuntu, Varnish, and Nginx after sharding the database to 256. Yesterday we finally got the second backup solution working, which in addition to nightly snapshots we now have file-level, off-site backups through R1Soft Licenses (more on that in another post). This may be one of the largest, most active academic blogging systems in higher ed, and it is a real source of pride that we’re hosting it. And I saying this knowing full-well it is a total jinx [crosses fingers]….it’s been rock solid so far. Don’t ever question the power of Reclaiming!

Reclaim Hosting

It’s been an exciting past few days as Jim and I launched Reclaim Hosting and began building out the system to support the signups. We sat down today to talk about a bit more about it, including some of the software we’re using, as well as talking more about the idea of Distributed EdTech (#dedtech) and the ability for a community to pool their resources around complex topics and systems like this. It’s also been a blast to just get in front of the camera, fire up the livestream, and start doing DTLT Today again. I think it’s going to be one of many avenues we use going forward not only to narrate our process on the work we’re doing, but also to server as a way to provide professional development for this pilot in the next 6 months.