SlideShare a Scribd company logo
1 of 95
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

More Related Content

What's hot

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 MinutesChris Tankersley
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChang W. Doh
 
OpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic HornainOpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic HornainKangaroot
 
BillRun Docker Introduction
BillRun Docker IntroductionBillRun Docker Introduction
BillRun Docker IntroductionOfer Cohen
 
Tech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore RoadmapTech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore RoadmapAdaCore
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for toolingRafael 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 CGIWildan 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 gRPCTim Burks
 
gRPC & Kubernetes
gRPC & KubernetesgRPC & Kubernetes
gRPC & KubernetesKausal
 
Smalltalk on Git
Smalltalk on GitSmalltalk on Git
Smalltalk on Gitmattmatt
 
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 1Robert 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 ManagerJens 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 frontendStefan 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とgRPCdisc99_
 
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-byJeff Squyres
 

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
 
Zend Expressive in 15 Minutes
Zend Expressive in 15 MinutesZend Expressive in 15 Minutes
Zend Expressive in 15 Minutes
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
OpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic HornainOpenShift Enterprise Workshop - Frederic Hornain
OpenShift Enterprise Workshop - Frederic Hornain
 
Power-up services with gRPC
Power-up services with gRPCPower-up services with gRPC
Power-up services with gRPC
 
BillRun Docker Introduction
BillRun Docker IntroductionBillRun Docker Introduction
BillRun Docker Introduction
 
Tech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore RoadmapTech Days 2015: AdaCore Roadmap
Tech Days 2015: AdaCore Roadmap
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for tooling
 
Workshop - Golang language
Workshop - Golang languageWorkshop - Golang language
Workshop - Golang language
 
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
 
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
 
gRPC & Kubernetes
gRPC & KubernetesgRPC & Kubernetes
gRPC & Kubernetes
 
Smalltalk on Git
Smalltalk on GitSmalltalk on Git
Smalltalk on Git
 
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
 
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
 
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
 
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
 
"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...
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
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
 

Similar to Fandogh Cloud workshop slides

Introduction to Modern DevOps Technologies
Introduction to  Modern DevOps TechnologiesIntroduction to  Modern DevOps Technologies
Introduction to Modern DevOps TechnologiesKriangkrai 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 OKKriangkrai 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 DornPROIDEA
 
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 JenkinsBruno Padilha
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura 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 DockerSakari 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 infrastructureRodrigo Stefani Domingues
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microserviceGiulio De Donato
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the CloudFabio Ferrari
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fastDenis 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 InfluxDataInfluxData
 
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 DartChris Swan
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in ContainerizationRyan 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-betweenAll Things Open
 
Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptxShadi 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 2019Radulescu Adina-Valentina
 

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
 
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
 
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
 
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
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
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
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
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
 
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...
 
Droidcon London 2021 - Full Stack Dart
Droidcon London 2021   - Full Stack DartDroidcon London 2021   - Full Stack Dart
Droidcon London 2021 - Full Stack Dart
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
 
Docker 101
Docker 101Docker 101
Docker 101
 
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
 
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
 
Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptx
 
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
 

Recently uploaded

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Recently uploaded (20)

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

Fandogh Cloud workshop slides

Editor's Notes

  1. 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.
  2. https://www.docker.com/resources/what-container
  3. https://www.docker.com/resources/what-container
  4. 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.
  5. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  6. 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
  7. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  8. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  9. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  10. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  11. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  12. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  13. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  14. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  15. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  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
  22. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  23. https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
  24. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  25. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  26. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  27. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  28. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  29. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  30. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  31. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver
  32. https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#data-volumes-and-the-storage-driver