Moved Site to Hugo

Created:

After a long time of using Python & Flask as the base for my site, I’ve switched over to Hugo. My site doesn’t change very often, so this move makes a lot of sense. It’s easier to host and no more Python updates to keep up with.

The move was pretty easy. I created a new Hugo project and copied all my static resources from the old site to the /static directory of my Hugo project. Then I took my Python Jinja2 templates layout and used it for the base of my default layout in Hugo (i.e. baseof.html). I was then able to add content for the pages of my site, and lastly copy over the posts that I wanted to keep.

Read more...

Tags: website

Bootiful Podcast Appearance

Created:

I recently got the opportunity to talk with the amazing Josh Long on his podcast, Bootiful Podcast. It was a great time and a fun conversation. We started from the beginning and talked about all things containers, Docker, Buildpacks, Paketo, and of course, Spring & Native Images.

If you’re new to buildpacks or looking to give them a test run, this is a great place to start. We covered a lot of the concepts and questions people frequently ask. It was also great to talk about some of the improvements that we’ve recently added into the Java buildpacks. For example, we recently added support for UPX compression of native images and the ability to use Tilt with buildpacks for microservice development.

Read more...

Tags: buildpacks, cloud native buildpacks, containers, paketo, tilt

Recent Happenings

Created:

I have over the years done a lot of work with buildpacks. Both on Cloud Foundry and now with Cloud Native Buildpacks. This year I’ve been fortunate enough to start a job at VMware working on them full time, which I’m pretty excited about.

I am primarily working to develop the Java-related Paketo buildpacks, as well as contribute to the Buildpacks project & to also maintain the Java Cloud Foundry buildpack.

To support this effort, I’m going to try and start writing more about these efforts. What’s new, what’s cool and more about how to use buildpacks.

Read more...

Tags: buildpacks, cloud native buildpacks, containers, paketo

PHP Cloud Native Buildpack Updates

Created:

It’s been a little while since I’ve posted an update on the PHP Cloud Native Buildpacks. The good news is that lots of progress has been made. We’ve basically achieved feature parity with the old PHP buildpack and I believe the PHP CNB’s should be working for most apps now!

If you’re coming from the old PHP buildpack, there are some differences. This is basically a major version bump, so it was an opportunity to make a few breaking changes that we believe will generally improve the user experience. Check out the migration documentation for details on what’s changed.

Read more...

Tags: buildpacks, cloud native buildpacks, paketo, PHP

PHP Cloud Native Buildpacks Now in the Official Builder

Created:

In my previous post, I talked about how to use the PHP Cloud Native buildpacks. It was not super tricky but required some manual work to set up. This is because the PHP CNBs were not, at the time, part of an official builder.

What’s a builder? It’s basically an image containing a bunch of CNBs, all ready for your use. See this link for more details.

If you are to run pack suggest-builders, then you will see the list of official builders. At the time of writing, that is Heroku, Cloud Foundry (bionic) and Cloud Foundry (cflinuxfs3).

Read more...

Tags: buildpacks, cloud native buildpacks, paketo, PHP

PHP Cloud Native Buildpacks

Created:

At work, I’ve been helping to rewrite the PHP buildpack as a set of Cloud Native Buildpacks. The PHP CNBs are coming together, current quality is alpha, but I think they’re ready enough for people to try them out and report how they work for you. This post has instructions and a demo to use the PHP CNBs.

But first, a slight digression.

A little about the architecture of the PHP CNBs. The previous PHP buildpack has been decomposed into a set of five PHP CNBs, two of which are optional. There are php-cnb, php-composer-cnb, httpd-cnb, nginx-cnb and php-web-cnb.

Read more...

Tags: buildpacks, cloud native buildpacks, paketo, PHP, nginx, apache httpd

Cloud Native Buildpacks

Created:

In the past, I’ve worked with buildpacks through my time using Cloud Foundry. Cloud Foundry has first class support for buildpacks, which allows you to push code and let the buildpack handle the messy parts of actually running your code. Things like installing a language runtime, installing servers, etc…

Recently the buildpacks world has expanded with the CNCF’s acceptance of the Cloud Native Buildpacks project into the CNCF sandbox (sometimes called v3 buildpacks). In addition to an excellent and easily readable spec, this work brings us the pack CLI tool, which allows you to run Cloud Native Buildpacks on your local PC and easily deploy the output, which is an OCI image, to Docker or anywhere else you can run an OCI image.

Read more...

Tags: buildpacks, cloud native buildpacks

WordPress Running on Cloud Foundry

Created:

I’d previously written an article on deploying WordPress on Cloud Foundry. The process was a little clunky and has since broken, because of updates & changes to Cloud Foundry. To remedy this, I wrote a new post which was published today on the Cloud Foundry Foundation Blog.

Here’s the link -> https://www.cloudfoundry.org/blog/install-scale-wordpress-cloud-foundry-2018/

Tags: cloud foundry, PHP, wordpress

Freenas: Migrating from VirtualBox to Bhyve

Created:

I, like many people, use the VirtualBox template jail on Freenas. I’ve been using this for about a year to run Crashplan. It’s generally worked good, but the last couple of 9.10 maintenance updates have caused some problems (ex: The virtual machine ‘xxxx’ has terminated unexpectedly during startup with exit code 1). See here for more on how 9.10.2 broke the VirtualBox template.

From what I’ve been able to read on the Freenas forums, this isn’t going to get fixed and you have two options. Don’t upgrade and keep using VirtualBox or upgrade and use Bhyve. Since I only have one VM and it’s pretty simple, I opted for the latter solution. This post is going to cover the steps that I had to do to convert from using VirtualBox to using Bhyve and iohyve without reinstalling the VM OS.

Read more...

Tags: freenas, virtualbox, bhyve

Simon Says

Created:

I recently found some time to finish up a project I started a long time ago. It’s a simple implementation of the “Simon Says” game in Javascript, jQuery, HTML5 and CSS3. The code ended up being pretty simple and it was a fun side project.

I’ve got a demo of it here.

Source code is on Github.

Tags: JavaScript, jQuery, HTML5, CSS3

Moved to PWS

Created:

I’ve pushed out a few changes to the site and moved it to run on Pivotal Web Services.

If you’re unaware PWS is a hosted version of Cloud Foundry that’s run by Pivotal, my employer. It’s a great place to run apps of all sizes. Find out more info here.

Tags: website

App Updates without Downtime on CloudFoundry

Created:

A recent encounter with a customer resulted in a couple good questions regarding the workflow that one would use to deploy apps to Cloud Foundry in order to try for a 100% up-time. Based on that, I would share the questions and answers here.

Question #1 - How do you push updates to your application without downtime?

Currently when you push, or restart for that matter, an application running on Cloud Foundry, the change is applied in a series of steps that go roughly like this.

Read more...

Tags: cloud foundry, uptime, ha

Site Update

Created:

I’ve pushed out some small updates to the site, plus some larger technical changes.

My first change was to move from web.py to Flask. The main reason for this was to make use of Flask FlatPages to store my posts (rather than a DB). Being that this is a small and simple site, it made my life easier to just store site data in a flat file rather than in a database.

Read more...

Tags: website

New Site

Created:

Welcome to the new site!

I think the last time I did a major upgrade on my site was sometime in 2004. That’s simply way too long!

As part of the update, I’ve done a complete redesign, using a nice template from freecsstemplate.org, adding some jQuery and some of my original photography. In addition, I’ve moved the hosting to Google’s AppEngine for hopefully improved reliability.

For the long time visitors, I’ve tried to preserve the link structure of my previous site, automatically redirecting you to the new links.

Read more...

Tags: website, redesign