Docker vs Kubernetes

Dec.30.2017 | 3m Read | ^DevOps

Confused by DevOps, IT, or maybe toolsets like Docker and Kubernetes? I mean what the freak is a 'Kubernetes', right?

Come with me on an adventure to get containerized and virtualized...

DevOps (Development Operations)

  • ☑⁡⁡ Originally fell under the umbrella of more generalized IT services.

Toolchains:

  • ☑⁡⁡ Coding: code dev and management.
  • ☑⁡⁡ Building: CI Continuous Integration tooling.
  • ☑⁡⁡ Testing: continuous feedback.
  • ☑⁡⁡ Packaging: Staging apps for deployment.
  • ☑⁡⁡ Releasing: version control and release automation.
  • ☑⁡⁡ Configuring: infrastructure and tooling.
  • ☑⁡⁡ Monitoring: performance monitor and user feedback.

Methodologies:

  • ☑⁡⁡ Waterflow (linear development)
  • ☑⁡⁡ Agile/Scrum (non-linear development).

For more detail, see: Agile vs Scrum vs Lean.

Containers vs Virtual Machines (VMs):

  • ☑⁡⁡ Image: cloned software, ie, a container with all software configured.
  • ☑⁡⁡ Sandboxing: isolated data access.
  • ☑⁡⁡ Container: a virtual environment for software testing.
  • ☑⁡⁡ Docker Container: an optimized VM (virtual machine) that reduces container bloat at the cost of roughly 97% performance speed.
  • ☑⁡⁡ Full Virtual Machine: better sandboxing and tools at the cost of more resources per image.

Container Portability:

  • ☑⁡⁡ Because they are stripped down they have a small file size and can be used with various plug-ins depending on the individual's needs.

Docker vs Kubernetes:

Redirecting Ports:

  • ☑⁡⁡ docker run -p 49160:8080 -d <your_docker_username>/<your_docker_image_name>

    • 49160:8080 specifically redirects port 8080 from the container to the host's 49160 port.

Kubernetes vs Docker Swarm:

  • ☑⁡⁡ Both are known as Container Orchestration Platforms.
  • ☑⁡⁡ Deploy across multiple containers.

Kubernetes Cluster Replicas:

  • ☑⁡⁡ Scale and change the number with kubectl scale (fastest).

Cloud [Storage], Heroku, & AWS

Horizontal vs Vertical Scaling:

  • ☑⁡⁡ Scaling Horizontally: increase server load, often by distribution (more servers or sectioned server nodes aka dynos).
  • ☑⁡⁡ Scaling Vertically: increase disk space within the server or dyno.

Free vs Paid:

  • ☑⁡⁡ Different dyno types.
  • ☑⁡⁡ The quality and quantity of resources the dynos use (paid = more/better):

    • ◆ CPU and computing
    • ◆ RAM
    • ◆ Mixed dyno setups
  • ☑⁡⁡ Pro features:

    • ◆ horizontal scalability: more servers processing your data.
    • ◆ app metrics
    • ◆ pre-boots
    • ◆ auto-scaling
    • ◆ always-awake: free dynos sleep for 30 min due to inactivity.

       : NEWS