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
- Install Docker
- 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, ASP and PHP he is still loving every line of code he has crafted with CFML. His career has concentrated on eCommerce, Content Management and Application Scalability for various well-known brands in the UK market such as Jaeger, Hackett, Hobbs, Dyson, B&W, Diesel amongst others.
Links
- CFML Slack
- Mark (at) CMDHQ.com
Interview transcript
Michael: Welcome back to the show. I am here with Mark Drew otherwise known as the amazing C.F.O. from London.
Mark: There's only one of us in London.
Michael: There’s only one, others 00:12 [crosstalk]
Mark: There’s hundreds of them.
Michael: Yes and he's the director of web development at C.M.D. which is a web development shop, I believe in the U.K.
Mark: In sunny Greenwich.
Michael: In Greenwich yes, he got Greenwich Mean Time exactly down. And he's also the co-host of a new podcast called ‘Local Host’. So, check that out too. I’ll put the link in the show notes to that.
So today, we're looking at how C.F.S. can get started fast with Docker and we're going to look at what a Dock container is and why everyone listening should care about that. The challenges they overcome, Docker versus Vagrant even controversially our traditional I.S.P. is going to go away if Docker gets his way.
And how they compare the virtual machines, how you can get started with a Docker engine. What the heck is Docker compose? And using Docker to make your sites even more reliable. Docker cloud and how you can get started with Docker.
So, welcome Mark.
Mark: Well, thank you Michel for having me on board. This is very exciting all across the internets.
Read more
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
ColdFusion Alive Best Practices Checklist
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.