[FoRK] Quarters needed for Apple to put Microsoft out of our misery?

Stephen D. Williams sdw at lig.net
Fri Jan 30 23:24:21 PST 2015

On 1/30/15 5:47 PM, Joseph S. Barrera III wrote:
> I see a lot of good things happening at Microsoft recently. I think they
> are going in the right direction.

It is a lot better than it was.  I don't think it is enough yet. We'll see.

> And you know, for many customers, Microsoft just makes things easier than
> dealing with Linux and open source solutions. MS SQL remains by far the
> easiest database to administer. Windows administration has always been
> gui-first but for many years has also provided scriptable interfaces for
> everything (starting with WMI). I see Greg has just posted something so
> I'll leave it here.

A gui isn't always easier.  It frequently isn't easier.  With tools like Vagrant, Docker, etc., a line of text can replace minutes 
of clicking and dragging.
Guis can be maddening if you need to get anything complicated or repetitive done, especially if the gui isn't done well.  On the 
other hand, more guis that help produce command lines would be nice too.

Too many IT professionals avoid scripting, programming, and much depth in dealing with computers, sometimes weirdly so.
The big thing is that doing things as a script allows it to be recorded and rerun easily.

It's cool that there is better scripting for Windows etc.  Too bad there is practically zero overlap between Powershell etc. and 
anything portable.  Bash, Python, Javascript, and Lua would all have been preferable.  Even though you can install these on Windows, 
few people consider using it.

The whole "Microsoft just makes things easier than dealing with Linux" rarely rings true for me.  If you've spent years working with 
Windows etc. and have zero experience with Linux, perhaps you might think that.  A small investment provides a lot of power.  In the 
past, perhaps this was arguable.  Now, with recent developments, not so much.  The main remaining problem is ranking all of the 
different ways of doing things so you make a good choice.

Let's be concrete about how concise this can be, if a little loose with details (see [1]):
|Ubuntu + web server:
   docker run -t -i ubuntu /bin/bash  # Create new Ubuntu instance
   apt-get update && apt-get install apache2  # Install apache
   docker ps  # Determine instance ID
   docker commit 72d468f455ea coreos/apache  # Commit this new instance which can be run or forked.
   docker run coreos/apache  # Run a new copy of the committed instance.

MySQL database [2] (obviously other databases too):
   docker build -t tutum/mysql 5.5/  # Create a new instance with MySQL installed
   docker run -d -v /path/in/host:/var/lib/mysql tutum/mysql /bin/bash -c "/usr/bin/mysql_install_db"  # Import data volume to 
instance, initialize database
|||  docker run -d -p 3306:3306|||-v /path/in/host:/var/lib/mysql| -e MYSQL_PASS="mypass" tutum/mysql  # Set password
|  docker run -d -p 3306:3306 -v /path/in/host:/var/lib/mysql tutum/mysql  # Running the database
   docker commit ....  # Save configured instance
Given an example, you can cut and paste, edit, and have a repeatable automated setup of all of your key systems.  You can use 
variables, automate manual steps, and then commit the whole thing as source code others can use immediately.

It is possible to do similar things in Windows to a limited extent. [3]  Microsoft's announced planned support for Docker.  That 
will be interesting to see.


[1] https://coreos.com/docs/launching-containers/building/getting-started-with-docker/
[2] https://github.com/tutumcloud/tutum-docker-mysql
[3] http://blogs.msdn.com/b/mwilmot/archive/2007/12/28/sql-server-unattended-install-script.aspx

More information about the FoRK mailing list