Listen

Description

Mark Drew talks about “Getting started fast with Docker” in this episode of ColdFusion Alive podcast with host Michaela Light. In this presentation, Mark Drew will go through the fundamentals of the Query Language, structure, use cases and how we can get started with GraphQL endpoints.

In a world where APIs and REST are the way that we can communicate with services, it can become an arduous task to get to the information you need.

For example, if you look at a single tweet, obtained from Twitter's API, you will so a stack of information that you don't need! If only there was a way to query this data to get just what you need.

Enter Facebook's GraphQL language. A language specification that solves the same problem that SQL did for Relational Databases.

Show notes

What the heck is a Docker container and why should all CFer care?

Analogy with containerized shipping of goods across the sea

The challenges they overcome

Separation of apps from how they are deployed
Need to pre-warm your server before running new code
Scripting of container building
Live and dev versions can be the same

Environment variables eg which db are we using
Able to test on load balanced cluster

Docker containers are lightweight compared to VM

Fast to start up
Able to run other types of task in micro services and micro transactions

Adobe CF vs Lucee CFML licensing on Docker
Separate lifecycle for each container
All developers in same environment
Easier port mapping running many versions of CF, db, OS etc
Safe and clean way to test out new programming languages

VMs vs Containers
Docker vs Vagrant
Are traditional ISPs going to go away?

But now you have to keep your CF etc patched

How to Get started with the Docker Engine

Install Docker

Before needed VirtualBox VM first
Now we have native versions on Linux and Windows

Kitematic to search for instances - auto download and install
Attach a volume (OS folder) to your container
Create a Docker file (it is called DockerFile!)

From command
Copy CF files
Docker Build
Commit to Docker version control such as Docker Hub private repository (or AWS repository)

Command Box

WTF is  Docker compose?

Create a whole web app environment with multiple containers for CF, db etc
Virtual networks between them
Documents the environment

How Docker Swarm can make your sites more reliable

Docker clusters
Automatic restart
Automatic adding extra Docker instances
Rolling updates across your cluster

Docker Cloud and Continuous Integration

Jenkins
Slack bot messages

Why are you proud to use CFML?

It actually gets stuff done
Modern language
Forgebox
Commandbox CFML scripting
Easy to scale

WWIT for you to make CF more alive this year?

More Forgebox contributions
Code of conduct on GitHub
No more X vs Y flame wars - focus on the positive of X (or Y)

What are you looking forward to at CFObjective?

Mentioned in this episode

Docker 
Amazon Docker
Heroku container provider 
Google containers Kubernetes 
CommandBox
Malcolm Mc Lean invented the common sized container in 1956
Reefer - refrigerated containers (and not something you might smoke!)
Lucee CFML
Jenkins
CIBot
VM = Virtual Machine
MongoDB
YAML (Docker Compose file format)
Puppet (for Vagrant)
Chef (for Vagrant)
Git
Repository for the containers
Ubuntu Linux
Alpine Linux
Tomcat
Headless Wind
Rancher  
Lucee Docker
Docker Hub
Docker Swarm
Docker Cloud
A WAR file
Ruby programming language
Node.js
Ortus
Forgebox
RIAForge
99Percent invisible podcast
Localhost podcast

Listen to the Audio

Bio
Mark Drew

Mark has been programming CFML since 1996, and even though he has had forays into Perl,