DEVOPS

DEEP DIVE

INTRODUCTION

Subtitle

DOCKER CONCEPTS

Docker is an open platform for developers and sysadmins to build, ship and run distributed applications with containers

CONTAINERS AND IMAGES

Subtitle

  • A container is launched by running an image
  • An image is an executable package that includes everything needed to run an application
    • the code
    • a runtime
    • libraries
    • environment variables
    • configuration files

SERVICES

Services are really just "containers in production"

BENEFITS OF DOCKER

  • Reproducibility
  • Isolation
  • Docker Hub
  • Environment Management
  • Continuous Integration

DOCKER SWARM

WHAT IS DOCKER SWARM?

Docker Swarm is a clustering and scheduling tool for Docker  containers. With Swarm, IT administrators and developers can establish and manage a cluster of Docker nodes as a single virtual system.

DOCKER SWARM ARCHITECTURE

FEATURES OF DOCKER SWARM

  • Very quick and easy
  • High Availability
  • Scaling
  • Desired state reconciliation
  • Multi-host networking
  • Load balancing
  • Rolling updates

REQUIREMENTS:

 

  • Docker version 1.13 or higher

  • Minimum 2 servers

But

how to manage it all?

Portainer

Portainer come to the rescue.

 

Portainer is a simple management solution for Docker.

 

Easily manage your Docker hosts and Docker Swarm clusters via Portainer web user interface.

Portainer View

DEMO TIME

CI/CD

CI

It focuses on blending the work products of individual developers together into a repository

CD

Continuous Integration

Continuous Delivery

Continuous Deployment

It focuses to minimize the friction points that are inherent in the deployment or release processes.

 CI/CD SETUP

1

 .gitlab-ci.yml

file is where you configure what CI does with your project

DockerFile

Open SSH

Port

Install docker

Open SSH

Port

Runner

run the jobs that you define in .gitlab-ci.yml

2

Runner Version

10

 Variable

applied to environments via the runner.

3

DEMO TIME

NGINX & SSL

 NGINX 

 

Web serving

Reverse proxying

Caching

Load balancing

Media streaming

Open source software for

SSL

Secure Sockets Layer (SSL) is a standard security technology for establishing an encrypted link between a server and a client—typically a web server (website) and a browser, or a mail server and a mail client.

How Does the SSL Certificate Create a
Secure Connection?

SSL Handshake

What we can use?

Let’s Encrypt is a free, automated, and openCertificate Authority.

Thank You

DevOps Deep Dive

By Syafiq bin abdul rahman