SlideShare a Scribd company logo
Fandogh PaaS
Workshop
#FANDOGH2018
Let the workshop begins
#FANDOGH2018
Lecturer:
Sorena Sarabadani
Software Engineer
@sorena_s
What is container?
#FANDOGH2018
What is container?
History ->
- Containers have been there for a long time, maybe from the beginning of existence.
Container can be a pocket, bag, plastic or a large full metal container used in international
transportations.
- Containers are out there because:
- They are standard for almost everything.
- Can isolate things inside and protect them
- Are easy to transport
- Easy to manage
- Cost efficient
#FANDOGH2018
What is Docker?
It’s simple and clear
#FANDOGH2018
What is a docker container?
#FANDOGH2018
What is a docker container?
A docker container is a standard unit of
software that packages up code and all its
dependencies so the application runs
quickly and reliably from one computing
environment to another.
#FANDOGH2018
Docker VS Virtual Machine
VS
#FANDOGH2018
What is Image?!
#FANDOGH2018
How to register on
docker hub?
#FANDOGH2018
https://hub.docker.com/
#FANDOGH2018
How To Pull an Image?
#FANDOGH2018
How to:
Run
List
Terminate
Containers?
#FANDOGH2018
How to write Dockerfile?
#FANDOGH2018
How to write Dockerfile?
- ADD
- COPY
- ENV
- EXPOSE
- FROM
- LABEL
- STOPSIGNAL
- USER
- VOLUME
- WORKDIR
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
The FROM instruction
initializes a new build
stage and sets the Base
Image for subsequent
instructions.
FROM
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
FROM can appear
multiple times within a
single Dockerfile to
create multiple images or
use one build stage as a
dependency for another
FROM
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
COPY index.html /usr/share/nginx/html
COPY has two forms:
COPY
#FANDOGH2018
A
COPY [--chown=<user>:<group>] <src>... <dest>
#FANDOGH2018
B
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
COPY index.html /usr/share/nginx/html
The COPY instruction
copies new files or
directories from <src>
and adds them to the
filesystem of the
container at the path
<dest>.
COPY
#FANDOGH2018
How to write Dockerfile?
FROM nginx:alpine
COPY index.html /usr/share/nginx/html
1- cd to project root dir
2- Docker build -t hello_nginx:1.0 .
3- Docker run -d --name test_container hello_nginx:1.0
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
The WORKDIR instruction
sets the working directory for
any RUN, CMD,
ENTRYPOINT, COPY and
ADD instructions that follow it
in the Dockerfile.
WORKDIR
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
If the WORKDIR doesn’t
exist, it will be created even if
it’s not used in any
subsequent Dockerfile
instruction.
WORKDIR
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
RUN has 2 forms
RUN
#FANDOGH2018
A
RUN <command> (shell form, the command is run in a shell, which by
default is /bin/sh -c on Linux or cmd /S /C on Windows)
#FANDOGH2018
B
RUN ["executable", "param1", "param2"] (exec form)
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
The RUN instruction will
execute any commands in a
new layer on top of the
current image and commit
the results. The resulting
committed image will be
used for the next step in the
Dockerfile.
RUN
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
COPY . /code/
COPY has to forms
COPY
#FANDOGH2018
A
COPY [--chown=<user>:<group>] <src>... <dest>]
#FANDOGH2018
B
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"] (this form is
required for paths containing whitespace)
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
COPY . /code/
The COPY instruction copies
new files or directories from
<src> and adds them to the
filesystem of the container at
the path <dest>.
COPY
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
COPY . /code/
CMD ["python", "logger.py"] CMD has 3 forms
CMD
#FANDOGH2018
A
CMD ["executable","param1","param2"] (exec form, this is the preferred
form)
#FANDOGH2018
B
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
#FANDOGH2018
C
CMD command param1 param2 (shell form)
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
COPY . /code/
CMD ["python", "logger.py"]
There can only be one CMD
instruction in a Dockerfile. If
you list more than one CMD
then only the last CMD will
take effect.
CMD
#FANDOGH2018
How to write Dockerfile?
FROM python:3
WORKDIR /code
RUN pip install click
COPY . /code/
CMD ["python", "logger.py"]
The main purpose of a CMD
is to provide defaults for an
executing container.
CMD
#FANDOGH2018
Q & A
#FANDOGH2018
Lecturer:
Mahdi Zareie
Software Engineer
@call_me_mahdi
Fandogh PaaS
Platform as a service for cloud native services
#FANDOGH2018
Problem
What is the problem we’re trying to solve by Fandogh?
Problem: Heavy operational overhead
#FANDOGH2018
Problem: Heavy operational overhead
Doing it yourself
vs
Using a PaaS
#FANDOGH2018
Problem
● Easier deployment
#FANDOGH2018
Problem
● Easier deployment
● Less maintenance overhead
#FANDOGH2018
Problem
● Easier deployment
● Less maintenance overhead
● Better resource management
● Lower costs
#FANDOGH2018
Problem
● Easier deployment
● Less maintenance overhead
● Better resource management
● Lower costs
● More Reliability, Less Concerns
#FANDOGH2018
Fandogh Overview
What does it look like to use Fandogh?
#FANDOGH2018
Fandogh Overview: Daily workflow
Docker Registry
Team
Version Control Server
Ci/Cd Automation Server
Building
1
Fandogh Service
2
Push
#FANDOGH2018
Fandogh Overview: What happens next
Docker Registry
S18
LB
S17
S19
S20
S21
You
Fandogh Service
Deploy command
1
2
3
4
#FANDOGH2018
s1
s1
s1
s1
s1
s1
s1
s4
s1
s1
s1
s1
s1
s1
s1
s3
s1
s1
s1
s1
s1
s1
s1
s2
Fandogh Overview: How does it work?
Fandogh CLI Fandogh Server
you
Command
s1
s1
s1
s1
s1
s1
s1
s1
Manages
Your users
1
2
3 4
#FANDOGH2018
Fandogh Overview: How does it work?
Fandogh CLI Fandogh Server
you
Command
Manages
Your users
1
2
3 4
Fandogh Cloud
#FANDOGH2018
Fandogh Features
#FANDOGH2018
Fandogh Features
● Flexible Docker Registry Interface
○ Internal Docker Registry
○ Docker-hub
○ Your Own Private Docker Registry
#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
○ Internal Network and DNS for your services
○ Shared Persistent Storage
○ Dedicated Block-storage (coming soon)
#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
● Managed Services
○ One-click deployment
○ MySQL + PHPMyAdmin
○ PostgreSQL + Adminer
○ And many more (Coming Soon)
#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
● Managed Services
● Flexible Domain management and TLS Certificate Facilities
○ Free Fandogh Domain
○ Easily use your own domain for your services
○ Painless and Free Let’s Encrypt TLS Certificate
○ Automatic Renewal for Certificates
○ Use your Own Certificate (Coming Soon)
#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
● Managed Services
● Flexible Domain management and TLS Certificate Facilities
● Horizontal Scaling, Painless Upgrades
○ Powerful Replication Mechanism
○ Load Balancing
○ Auto-Scaling (Coming Soon)
○ Offering high SLA with many reliable servers
○ Smart Health-check for rolling-updates
#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
● Managed Services
● Flexible Domain management and TLS Certificate Facilities
● Horizontal Scaling
● Easy to use Interface
○ Powerful CLI
○ Ci/Cd Compatible commands
○ Multiple Flexible Deployment
○ Simple resource management
○ Runtime command execution
○ Web Dashboard (Coming Soon)
○ Monitoring#FANDOGH2018
Fandogh Features
● Flexible docker registry interface
● Rich Runtime Environment
● Managed Services
● Flexible Domain management and TLS Certificate Facilities
● Horizontal Scaling
● Easy to use Interface
● Friendly Support
○ Always Available Experts
○ All The Way Migration Technical Scort
#FANDOGH2018
DecisionShould you migrate to Fandogh paas?
#FANDOGH2018
Decision
● Being Cloud-Native (or easy to become)
○ How is your design?Stateless or Stateful services?
○ Dockerization Cost
#FANDOGH2018
Decision
● Being Cloud-Native (or easy to become)
○ How is your design?Stateless or Stateful services?
○ Dockerization Cost
● Load and Cost relationship
○ How does your services loads affect your costs?
○ Do you predict high load in near future?
○ Do you predict the need for flexible scalability in near future?
#FANDOGH2018
Decision
● Being Cloud-Native (or easy to become)
○ How is your design? Stateless or Stateful services?
○ Dockerizing Cost
● Load and Cost relationship
○ How does your services loads affect your costs?
○ Do you predict high load in near future?
○ Do you predict the need for flexible scalability in near future?
● Geolocation dependency
○ Do you have strict criteria on physical location of servers?
(except enterprise plans)
#FANDOGH2018
Q & A
#FANDOGH2018
Using Fandogh
A few examples of using fandogh for different scenarios
#FANDOGH2018
Fandogh docker registry
How to use Fandogh internal docker registry
#FANDOGH2018
Fandogh docker registry
Image management has two steps
#FANDOGH2018
Fandogh docker registry
Image management has two steps
● Creating Image for your codebase (Only once)
#FANDOGH2018
Fandogh docker registry
Image management has two steps
● Creating Image for your codebase (Only once)
● Releasing new version for your codebase (for every version)
#FANDOGH2018
Deploying new service
How to deploy a new service
#FANDOGH2018
Deploying new service
Deploying service has two steps
● Write a manifest
#FANDOGH2018
Deploying new service
Writing service manifest
From fandogh registry
Name of the service:
ebtehaj-com-hooshang.fandogh.cloud
#FANDOGH2018
Deploying new service
Writing service manifest
From docker hub
Name of the service:
hello-world-hooshang.fandogh.cloud
#FANDOGH2018
Deploying new service
Deploying service has two steps
● Write a manifest
● Deploy the service using manifest
#FANDOGH2018
Deploying new service
Deploy new service using manifest
#FANDOGH2018
Q & A
#FANDOGH2018
Lecturer:
Soroosh Sarabadani
Founder
@SorooshPsycho
Example Voting app
● Understand Architecture
● Deploy the services manually on Fandogh
● Automate the deployment via
○ Github
○ Travis-ci
○ Fandogh-cli
#FANDOGH2018
Voting architecture
Voting App
(Python)
PostgreSQL
Worker
(Java)
Redis
Result App
(Node.js)
#FANDOGH2018
Where to find the project
git clone https://github.com/fandoghpaas/fandogh-workshop.git
#FANDOGH2018
How to deploy on
fandogh
The project manifests are located at /manifests directory.
Every service has a specific fandogh manifest that introduces
how the service should behave on fandogh.
#FANDOGH2018
Vote manifest
kind: ExternalService
name: vote
spec:
image: fandoghpaas/vote:${VERSION}
port: 80
resources:
memory: 100Mi
#FANDOGH2018
Redis service
kind: InternalService
name: redis
spec:
image: library/redis:alpine
port_mapping:
- port: 6379
target_port: 6379
resources:
memory: 100Mi
#FANDOGH2018
Worker manifest
kind: InternalService
name: worker
spec:
image: fandoghpaas/worker:${VERSION}
resources:
memory: 100Mi
#FANDOGH2018
Postgresql manifest
kind: ManagedService
name: db
spec:
service_name: postgresql
version: 9.4
parameters:
- name: adminer_enabled
value: 'true'
- name: postgres_password
value: db123
#FANDOGH2018
kind: ExternalService
name: result
spec:
image: fandoghpaas/result:${VERSION}
env:
- name: PGPASSWORD
value: db123
resources:
memory: 100Mi
Result manifest
#FANDOGH2018
Result manifest
fandogh service apply -d -f manifests/postgres-manifest.yml
#FANDOGH2018
Result manifest
fandogh service apply -d -f manifests/postgres-manifest.yml
fandogh service apply -d -f manifests/redis-manifest.yml
#FANDOGH2018
Result manifest
fandogh service apply -d -f manifests/postgres-manifest.yml
fandogh service apply -d -f manifests/redis-manifest.yml
fandogh service apply -d -f manifests/result-manifest.yml -p VERSION=?
Hint:
Find version in docker hub
#FANDOGH2018
Result manifest
fandogh service apply -d -f manifests/postgres-manifest.yml
fandogh service apply -d -f manifests/redis-manifest.yml
fandogh service apply -d -f manifests/result-manifest.yml -p VERSION=?
fandogh service apply -d -f manifests/vote-manifest.yml -p VERSION=?
#FANDOGH2018
Result manifest
fandogh service apply -d -f manifests/postgres-manifest.yml
fandogh service apply -d -f manifests/redis-manifest.yml
fandogh service apply -d -f manifests/result-manifest.yml -p VERSION=?
fandogh service apply -d -f manifests/vote-manifest.yml -p VERSION=?
fandogh service apply -d -f manifests/worker-manifest.yml -p VERSION=?
#FANDOGH2018
Ad

More Related Content

What's hot (20)

Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
Zend Expressive in 15 Minutes
Zend Expressive in 15 MinutesZend Expressive in 15 Minutes
Zend Expressive in 15 Minutes
Chris Tankersley
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
Chang W. Doh
 
OpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic HornainOpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic Hornain
Kangaroot
 
Power-up services with gRPC
Power-up services with gRPCPower-up services with gRPC
Power-up services with gRPC
The Software House
 
BillRun Docker Introduction
BillRun Docker IntroductionBillRun Docker Introduction
BillRun Docker Introduction
Ofer Cohen
 
Tech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore RoadmapTech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore Roadmap
AdaCore
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for tooling
Rafael Gomes
 
Workshop - Golang language
Workshop - Golang languageWorkshop - Golang language
Workshop - Golang language
Vincent Composieux
 
Apache2 BootCamp : Serving Dynamic Content with CGI
Apache2 BootCamp : Serving Dynamic Content with CGIApache2 BootCamp : Serving Dynamic Content with CGI
Apache2 BootCamp : Serving Dynamic Content with CGI
Wildan Maulana
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Tim Burks
 
gRPC & Kubernetes
gRPC & KubernetesgRPC & Kubernetes
gRPC & Kubernetes
Kausal
 
Smalltalk on Git
Smalltalk on GitSmalltalk on Git
Smalltalk on Git
mattmatt
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
Robert Stern
 
Working with Xcode and Swift Package Manager
Working with Xcode and Swift Package ManagerWorking with Xcode and Swift Package Manager
Working with Xcode and Swift Package Manager
Jens Ravens
 
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
corehard_by
 
Productive web applications that run only on the frontend
Productive web applications that run only on the frontendProductive web applications that run only on the frontend
Productive web applications that run only on the frontend
Stefan Adolf
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
Fwdays
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
Fun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-byFun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-by
Jeff Squyres
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
Zend Expressive in 15 Minutes
Zend Expressive in 15 MinutesZend Expressive in 15 Minutes
Zend Expressive in 15 Minutes
Chris Tankersley
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
Chang W. Doh
 
OpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic HornainOpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic Hornain
Kangaroot
 
BillRun Docker Introduction
BillRun Docker IntroductionBillRun Docker Introduction
BillRun Docker Introduction
Ofer Cohen
 
Tech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore RoadmapTech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore Roadmap
AdaCore
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for tooling
Rafael Gomes
 
Apache2 BootCamp : Serving Dynamic Content with CGI
Apache2 BootCamp : Serving Dynamic Content with CGIApache2 BootCamp : Serving Dynamic Content with CGI
Apache2 BootCamp : Serving Dynamic Content with CGI
Wildan Maulana
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Tim Burks
 
gRPC & Kubernetes
gRPC & KubernetesgRPC & Kubernetes
gRPC & Kubernetes
Kausal
 
Smalltalk on Git
Smalltalk on GitSmalltalk on Git
Smalltalk on Git
mattmatt
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
Robert Stern
 
Working with Xcode and Swift Package Manager
Working with Xcode and Swift Package ManagerWorking with Xcode and Swift Package Manager
Working with Xcode and Swift Package Manager
Jens Ravens
 
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
corehard_by
 
Productive web applications that run only on the frontend
Productive web applications that run only on the frontendProductive web applications that run only on the frontend
Productive web applications that run only on the frontend
Stefan Adolf
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
Fwdays
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
Fun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-byFun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-by
Jeff Squyres
 

Similar to Fandogh Cloud workshop slides (20)

Introduction to Modern DevOps Technologies
Introduction to  Modern DevOps TechnologiesIntroduction to  Modern DevOps Technologies
Introduction to Modern DevOps Technologies
Kriangkrai Chaonithi
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e JenkinsContinuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
Bruno Padilha
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
Laura Frank Tacho
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
Sakari Hoisko
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
JEMLI Fathi
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
Giulio De Donato
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
Fabio Ferrari
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
Denis Karpenko
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Aleksey Tkachenko
 
Droidcon London 2021 - Full Stack Dart
Droidcon London 2021   - Full Stack DartDroidcon London 2021   - Full Stack Dart
Droidcon London 2021 - Full Stack Dart
Chris Swan
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
Ryan Hunter
 
Docker 101
Docker 101Docker 101
Docker 101
Hung-Che Lo
 
Introduction to Containers: From Docker to Kubernetes and everything in-between
Introduction to Containers:  From Docker to Kubernetes and everything in-betweenIntroduction to Containers:  From Docker to Kubernetes and everything in-between
Introduction to Containers: From Docker to Kubernetes and everything in-between
All Things Open
 
Docker in Production at the Aurora Team
Docker in Production at the Aurora TeamDocker in Production at the Aurora Team
Docker in Production at the Aurora Team
Haufe-Lexware GmbH & Co KG
 
Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptx
Shadi Akil
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
Introduction to Modern DevOps Technologies
Introduction to  Modern DevOps TechnologiesIntroduction to  Modern DevOps Technologies
Introduction to Modern DevOps Technologies
Kriangkrai Chaonithi
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e JenkinsContinuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
Bruno Padilha
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
Laura Frank Tacho
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
Sakari Hoisko
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
JEMLI Fathi
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
Giulio De Donato
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
Fabio Ferrari
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
Denis Karpenko
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Aleksey Tkachenko
 
Droidcon London 2021 - Full Stack Dart
Droidcon London 2021   - Full Stack DartDroidcon London 2021   - Full Stack Dart
Droidcon London 2021 - Full Stack Dart
Chris Swan
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
Ryan Hunter
 
Introduction to Containers: From Docker to Kubernetes and everything in-between
Introduction to Containers:  From Docker to Kubernetes and everything in-betweenIntroduction to Containers:  From Docker to Kubernetes and everything in-between
Introduction to Containers: From Docker to Kubernetes and everything in-between
All Things Open
 
Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptx
Shadi Akil
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
Ad

Recently uploaded (20)

Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Ad

Fandogh Cloud workshop slides

Editor's Notes

  • #7: Docker is a computer program that performs operating-system-level virtualization, also known as "containerization". It was first released in 2013 and is developed by Docker, Inc.
  • #8: https://www.docker.com/resources/what-container
  • #9: https://www.docker.com/resources/what-container
  • #11: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#images-and-layers Think of it as magic beans. At first they are just some small beans that can do nothing for you, but after putting them in the ground, they will become some fantastic and beautiful trees that can do many different things. Here Bean is Image, putting in the ground is deploying and Trees are containers that are ready to use and the ground is the platform.
  • #14: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #15: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver Docker run -it -p --name Docker ps Docker ps -a Docker rm Docker kill
  • #16: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #17: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #18: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #19: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #20: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #21: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #24: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #25: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #26: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #27: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #28: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #31: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #32: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #35: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #36: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #40: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #41: https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  • #44: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #45: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #52: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #57: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #65: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #70: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #71: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #75: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  • #83: https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver