IT Infrastructure and Software Development from the Customer's Perspective
I had a weird problem where suddenly my phone stopped connecting to my home WiFi. I was getting the WiFi icon with the exclamation mark, meaning that the router was connecting but I wasn’t getting all the info needed to participate in the network.
(The solution further down doesn’t require you to understand the next couple of paragraphs, so don’t despair if there’s too much tech talk in what follows.)
Many posts on-line suggested using a static connection. I was able to do that at home, because I knew the range of DHCP addresses that my router would not give out. But I wasn’t satisfied with that solution. I hate it when problems mysteriously arise, and I couldn’t identify any reason why my network connection at home should have suddenly started failing.
About the third time I looked for a solution, I came across this document from Princeton. It mentions that there’s a bug in some Broadcomm chips that messes up DHCP when the network stays on when the device is asleep.
Well, I remember noting that I had my network configured to stay up when the device was asleep. I noticed it because I didn’t think I had configured it that way. (I sometimes find my phone on the settings screen when I pull it out of my pocket, and settings are accidentally changed.)
So (here’s the solution), I went back to Settings-> WiFi, then touched the three dots near the top right of the screen, then Advanced, then I turned off “Keep Wi-Fi on during sleep”, which set my network to go off when the device sleeps. After that, my phone connected to my home network just fine.
My phone is a Nexus 4, running Android 5.1.1, but obviously this might affect other models since it looks like it’s because of the hardware.
The printer install was easy. Just follow Brother’s instructions, which at the time were at: http://support.brother.com/g/b/downloadtop.aspx?c=ca&lang=en&prod=mfc9340cdw_all. Brother seems to change the location of their documents. A lot of the links on the net were broken.
The Let’s Encrypt people are wonderful. They’re doing something about the state of security on the Internet. They’re providing an easy and free way to get the certificates you need to publish a secure web-site (one using HTTPS, instead of plain HTTP), like your bank does.
Four years ago I went to Linuxcon NA 2011. The unspoken mood of the conference seemed to be, “Linux has won the OS wars, but the rest of the world hasn’t noticed.” At Linuxcon NA 2015, the unspoken mood of the conference was, “It doesn’t matter who won the OS wars.”
Some big markers of that:
I went to Linuxcon 2015 NA with a friend this year. It wasn’t hard to figure out what the flavour of the year was – containers. And Docker was the overwhelming favourite. As usual, I found it way easier to see the negative in the hype, rather than the positive.
But I’ll try to see the positive first. There’s a lot of value in having a thinner layer, thinner than a full virtual machine, between an application’s context and the bare metal. There’s also value in packaging an application and distributing it in a way that’s thinner than shipping a whole virtual machine. Containers have the potential to provide these features.
The container has many historical roots, but from what I saw, we’re mostly excited today because this is what Google has been using for 10 years to run their vast server farms. They have a very particular use case: Huge numbers of users accessing a small set of relatively homogeneous functionality. Perfect for a light-weight way of deploying a huge number of instances of applications across the smallest number of physical resources possible.
There were a number of presentation where the engineering challenges around containers were discussed. And there are significant ones, primarily around networking and privileges (all processes in containers run as root on the containing physical machine). These challenges will be solved, but not for another 18-24 months, I’d guess. Only then can we start to talk about adoption in the enterprise world.
In the enterprise world, the one I get paid to play in, we’re mostly still dealing with servers as pets. Even at my current client, who have drunk the DevOps kool-aid and have Puppetized a lot of their deploys, we’re talking about very few duplicate instances of a server in production. (They get value from Puppet by cleverly factoring the Puppet configuration across development, test, UAT, and production environments.)
Given the engineering effort that was evident in the containers model, I think there’s going to be another significant adoption hill, like there was for virtualization. Perhaps even more so, as I’m not convinced that the math will be quite as compelling for containers as it was for VMs. The problem is that the definitions of containers have to be hand-crafted. Once the container is defined, you can spin up thousands, quickly and efficiently. But as I just said, most enterprises just need a few instances of any particular application.
Some of the speakers talked about containers being just another stop on the continuum from physical machines to virtual machines and other models (Amazon Lambdas, for example). SaaS (not PaaS) providers can use containers to realize savings on hardware, because they can amortize the container definition cost over all their customers. Enterprises that use SaaS will use containers, without even knowing it, as it should be.
Compounding the problem of enterprise adoption of containers in-house, is the fact that the orchestration tools (tools for spinning up, shutting down, and monitoring a large number of instances), are largely split along the underlying model: You use VMware or Openstack to manage virtual machines, and Kubernetes (or any one of hundreds of other offerings) to manage containers. Most enterprises won’t have the personnel or the volume of applications to justify developing two different skill sets and platforms to manage their VMs and containers. There needs to be a unified orchestration platform that covers the spectrum of deployment models.
In summary, I think that containers will be a significant deployment option in the near future, but the way they will be used in practice is still to be determined, and they may never end up being adopted for in-house enterprise deployments.