Using Vagrant next steps

We’ll I’ve succeeded in getting a functional box up and running for my Laravel project. First tested it on a local VM using virtualbox, Vagrant and a bunch of shell scripts which I compiled from a lot of other similar efforts found on the internet. It stil lrequired a lot of trial and effort to get it where it is now. A functioning box which will run my project. It will deploy the code from a git repository and will use a previous database backup to initiate the database. No database migrations for me at the moment.

Next step was to get it running on DigitalOcean (referral link), I used the DigitalOcean Vagrant provider which you can find on GitHub. Just follow the instructions and the next time you call “vagrant up” it’s running on a VPS at DigitalOcean.

I’ve still got several things to figure out:

  • How to seperate configuration from scripts.
  • Getting Certbot included in the build proces and automate renewal.
  • How to do an upgrade without destroying the previous build.

So, still some tinkering to do…

Using Vagrant to deploy Laravel box

I’ve building a personal project in Laravel for maintaining my bookmarks. I’ve been toying with this for some time and I’m now ready enough to deploy it to VPS somewhere. This so I can open it up for beta testing by others then me myself. But how to deploy in a repeatable fashion that is easy. I could use ready made setups, like Envoyer, but they all cost money to keep them running and for a simple hobby project I find this overkill.

For local development there is an easy solution to get a VPS running (using virtualbox), it’s called Homestead and is a lifesaver (and time saver). It uses Vagrant to give you a box complete with all the software configured and using shared folders syncing all the coding developments with your local filesystem. You can work on your local filesystem and test the output on the VPS.

So I started looking at using Vagrant for creating a test and production box which looked similar to Homestead but as simple as possible for my needs. I found many setup’s on how to create your own VPS with Vagrant and I think I’ve got it almost nailed to get a machine up and running using Vagrant with shell scripts where I can test and deploy my own project. I might release it when I’m satisfied and documented it just enough to maintain/eaplain it.

Google knows when you buy

Got several notices to this article in the Washington Post about some new features Google is flaunting to it’s customers: Google now knows when its users go to the store and buy stuff. Somehow Google has got it hands on creditcard data to tell them when you buy stuff. Almost the same as Uber got your receipts from Lyft provided by I wonder where it will end, who is selling your data without you consent. Or is asking for your consent hidden in an EULA that is to long to read.

Just to make sure you know: You are not a Google customer unless you give them money and as far as I can tell the only people that do that are advertisers.

I myself try to limit my exposure to Google and their all seeing eye. Happy to just pay for my Apple products that make me the customer and give me more rights and privacy.

Setting up a new mailserver with MIAB

Just finished setting up a new mailserver using Mail-in-a-box and moved one of my existing domains over to it. After testing it at home on a VM I discovered it was extremely simple compared to doing it all yourself as I’ve done untill now. Moving away from my Mac mini to a VPS first meant setting it up and configuring it all by hand. Mail-in-a-box takes all that away, it just ask for your email adres for a login and thats it. It configures everything itself. The only thing that you’ll have to do is to point the nameservers for your domain to your new box at your registrar. Mail-in-a-box takes care of setting up all the DNS records, security, SSL certificates, mail configuration, etc…

I’ts almost as simple as getting a gmail account but more secure and private, no snooping for ads or reading of your email by third parties! Support is also excellent by other users and developers. The few questions I had where answered within several hours.

I’ll let it run for a few weeks before moving all other domains over to this new server. Just want to make sure it’s stable without any hickups.

First encounter with Hugo

I’ve been looking at developing a static website for quite some time, always been held back by the still complicated setup that was required on the writing and generating end of the website. This was untill recently when I bumped into Hugo. The only thing required here was a golang binary and a directory structure. After some playing around with it and finding the ease of use with which you could use templates I wa sold as you can see from this website which curently is completely static and generated by Hugo.

As a template I choose Beautiful Hugo created by Micheal Romero as a port of a Jekyll theme. But during using and adding content the theme got more and more little tweaks to fit my purpose and personal style.

Funding SOA infrastructure is difficult

When you start with SOA you get some funding to buy the software, install it and develop your first services. The next services you develop will however be funded by projects. The requirements for that new service will be dictated by the project as it will be the first consumer of that service. To develop that service into a more reusable service will require more deisng and development time and therefore more funding. It’s a discussion you will always have with services that are project funded. Which is not always a bad thing, it keeps you honest.

The problem comes when you need to change some of the underlying infrastructure. There has been a new release of the SOA infrastructure you are using, it add some new features that will help operation maintaining the platform and it also has some performance benefits. But if you haven’t secured funding during the budget rounds at the end of the last year this isn’t going to happen. There is no project funded by end users that will pay for the upgrade and all the regression testing. The upgrade will only benefit the IT department and they will have to fund this. I’ve seen it happen more then once at several companies that they will just skip the upgrade this year. No one is getting into much trouble by missing an upgrade as it saves money to be spend on other new shiny things in the datacenter.

Then suddenly the SOA infrastructure vendor sends out an End Of Life notice for the software you are using. They are no longer going to support your version within 6 months. If you are lucky someone will read the notive, take it seriously and inform management. Then a lot of things will happen and the atmosfere won’t be all that friendly. How are we going to pay for this, it wasn’t budgetted, who forgot! We don’t have any people available for this as we have many projects lined up who have important deadlines. There are also technical issues, as you skipped releases upgrading might not be as straightforward as it could have been. You might even have to upgrade to an intermediate stage before you can get to the latest release.

As you haven’t done any upgrades up till now you don’t know how to do this, there are no run-books, best practices or even ready made regression tests. This means that you have to do this for the first time under a lot of stress in a short timeframe with limited resources. I don’t have to explain how that will effect the chance of something going wrong.

So if you are starting a SOA project make sure that you include life cycle management and include the costs in the yearly budget rounds. Upgrading should be made easy from the beginning, it should be in the DNA of your SOA infrastructure. Some vendors are better at this then others but it should be you who is safeguarding that the capability stays in your infrastructure. Just like regression testing should be a standard automated exercise. Don’t take services into production that come without a regression test or are hard to upgrade.

Why work doesn't happen at work

This is another one of those inspiring talks from, this is Jason Fried from 37signals explaining how work gets done according to him. It explains me why I get the most of my work done when I’m alone in the office in the early mornings or late afternoons. I do have to show this to my manager.

I’ve also bought and read the book called: Rework: Change The Way You Work Forever. This is one of those books you will read at least once a year. If only to remember what was important.