SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Our experiences with Docker!
Dr. Piyush Harsh
http://piyush-harsh.info/
Senior Researcher, ICCLab
Zurich University of Applied Sciences
What is Cyclops
➔ Fully open-source (ASL2.0) framework for rating-charging-billing
◆ Highly modular - micro-services architecture with well defined APIs
◆ Generic, model-driven processing logic (enables a very reactive billing strategy)
➔ Pluggable collectors
◆ You can write your own collector module
◆ Already available usage data / billing events collectors for popular IaaS frameworks
● OpenStack and CloudStack
◆ Many more under planning - hadoop, mesos, docker, openshift, cloud foundry etc.
◆ Don’t wait for it to be made available by ICCLab - write your own!
➔ Highly scalable
◆ Autoscaling logic included
◆ Framework scales easily to thousands of billable events / minute
List of microservices
Package Dependencies
With numerous micro-services controlling the build and test environment is difficult
Specific requirements -
➠ Maven 3.0.5 or higher
➠ Java 8
➠ InfluxDB 0.9.3 or higher
➠ RabbitMQ
➠ PostgresSQL
➠ And there are others ...
End to end testing nightmare!!
➔ We work a lot with students and interns, after all ZHAW
is an educational institution
◆ They get excited very easily with some *cool* feature in a new
release without thinking about the implications of it!
◆ Many are still learning concepts of software development.
◆ They are eager to learn new things and we don’t STOP them!
➔ But this flexibility creates a testing and debugging
nightmare!!
◆ Cases where an intern spends 1 day fixing something which was
NOT broken at all is more common than anyone would care to
admit!
Cyclops with Docker
➔ Streamlined testing environment regardless of people’s own base system
configuration
➔ We divided all containers into 2 groups
◆ Static - where the base image is fixed, these we published on hub.docker.com
◆ On the fly - containers with untested, under-development code modules
● The images for these are build locally
➔ Faster & predictable environment setup for each test run!
Easy composition with docker-compose
Docker-compose allows an easy way to stitch
together all containers that make up a service!
➔ Containers are created in order!
➔ Linking containers makes the services available
by name
◆ Allows configuration file stability
Developers and testers can now create and execute
the complete Cyclops framework in one step!
Why not use cloud (or VM) based techniques?
We could have used Heat or AWS CloudFormation, or something similar!
❖ Clouds for testing is costly, docker is free!
Why not use cloud based techniques?
Even with this highly improbable scenario ...
Why not use cloud based techniques?
Even if I had gazillions of gold coins, docker
allows me full control and the response time is
orders of magnitude faster than any VM based
deployment strategies.
Specific challenges we faced!!
➔ Port conflicts are with external host environments (using Docker for mac)
◆ Easy to fix - change the external mapped port value
◆ Services in containers that are linked are accessible at the internal ports
● Could be useful when working with container images developed by someone else
➔ Order of container start does not ensure that services start in that order too!
◆ Also easy to fix: create a script to check service dependencies before starting self
➔ Logging …
◆ Either send all logs to console - docker-compose picks up and color-codes log outputs
◆ Or send all logs to a logging server
● ELK stack is useful
Specific challenges we faced!!
➔ Port conflicts are with external host environments (using Docker for mac)
◆ Easy to fix - change the external mapped port value
◆ Services in containers that are linked are accessible at the internal ports
● Could be useful when working with container images developed by someone else
➔ Order of container start does not ensure that services start in that order too!
◆ Also easy to fix: create a script to check service dependencies before starting self
➔ Logging …
◆ Either send all logs to console - docker-compose picks up and color-codes log outputs
◆ Or send all logs to a logging server
● ELK stack is useful
vs
Specific challenges we faced!!
➔ Port conflicts are with external host environments (using Docker for mac)
◆ Easy to fix - change the external mapped port value
◆ Services in containers that are linked are accessible at the internal ports
● Could be useful when working with container images developed by someone else
➔ Order of container start does not ensure that services start in that order too!
◆ Also easy to fix: create a script to check service dependencies before starting self
➔ Logging …
◆ Either send all logs to console - docker-compose picks up and color-codes log outputs
◆ Or send all logs to a logging server
● ELK stack is useful
vs
Cyclops demo: TNova use-case
Marketplace and brokerage for VNF
developers, users and operators.
➔ Actors
◆ Service providers
◆ Function developers
◆ Service users
➔ Requirements on billing
◆ Revenue sharing reports
● Between SP and FP
● Negotiated billing & SLA
models
● SLA Penalty models
◆ Billing reports for users
Cyclops demo: TNova use-case
Marketplace and brokerage for VNF
developers, users and operators.
➔ Cyclops interfaces with
external components
◆ Accounting module
● Developed by ATOS
➔ Cyclops µServices used
◆ Udr, rc and billing, rating
◆ Scheduler
● Periodicity: 2 minutes
LET’S SEE THE DEMO NOW!!
Time for a quick hands-on session now ...
Using the TNova use-case -
Steps:
➔ Start cyclops framework with docker-compose
➔ Start a service with 2 constituent VNFs via ATOS accounting module
➔ Start their respective SLA enforcements via ATOS SLA manager
➔ Create a bill for customer c1 that is consuming the service
◆ What is owes to provider p1
➔ Create a revenue sharing report for function provider f1
◆ What is should get from various “customers” - the service providers
Conclusion wrt Cyclops & Docker
Docker is sweeeet!
➔ Much more control over development and testing
◆ Core service provisioning is much faster
➔ Better developer experience in the community
◆ The core system just works!
With docker orchestration and clustering frameworks such as docker-swarm or
kubernetes, it should be easy to test Cyclops under load-balancers and see the
effects of elasticity on latencies and consistencies.
Further information ...
Cyclops Page: http://icclab.github.io/cyclops/
Gatekeeper: http://icclab.github.io/gatekeeper/
ICCLab RCB initiative page: http://bit.ly/1WYC27l
@rcb_cyclops - follow us on twitter.
Cyclops has been proudly funded by these organizations / projects

Weitere ähnliche Inhalte

Was ist angesagt?

Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020
Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020
Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020HostedbyConfluent
 
Introducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaIntroducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaApurva Mehta
 
Deliver docker containers continuously on aws
Deliver docker containers continuously on awsDeliver docker containers continuously on aws
Deliver docker containers continuously on awsPhilipp Garbe
 
Service discovery in mesos miguel, Angel Guillen
Service discovery in mesos miguel, Angel GuillenService discovery in mesos miguel, Angel Guillen
Service discovery in mesos miguel, Angel GuillenJ On The Beach
 
Deployment topologies for high availability (ha)
Deployment topologies for high availability (ha)Deployment topologies for high availability (ha)
Deployment topologies for high availability (ha)Deepak Mane
 
Stacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityStacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityOpenStack Foundation
 
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...HostedbyConfluent
 
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]Brice Argenson
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStackKamesh Pemmaraju
 
How to achieve scalable environments using kubernetes and vmss on azure cloud
How to achieve scalable environments using kubernetes and vmss on azure cloudHow to achieve scalable environments using kubernetes and vmss on azure cloud
How to achieve scalable environments using kubernetes and vmss on azure cloudNoam Shochat
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesClaus Ibsen
 
Deploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean FellowsDeploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean Fellowsconfluent
 
Parallel Running Automation Solution with Docker, Jenkins and Zalenium
Parallel Running Automation Solution with Docker, Jenkins and ZaleniumParallel Running Automation Solution with Docker, Jenkins and Zalenium
Parallel Running Automation Solution with Docker, Jenkins and ZaleniumEvozon Test Lab
 
Peeling back the Lambda layers
Peeling back the Lambda layersPeeling back the Lambda layers
Peeling back the Lambda layersPatrick McCaffrey
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020Ieva Navickaite
 
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...Flink Forward
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right toolRafał Leszko
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBlueData, Inc.
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overviewrajdeep
 

Was ist angesagt? (20)

Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020
Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020
Can Kafka Handle a Lyft Ride? (Andrey Falko & Can Cecen, Lyft) Kafka Summit 2020
 
Introducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaIntroducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache Kafka
 
EVCache at Netflix
EVCache at NetflixEVCache at Netflix
EVCache at Netflix
 
Deliver docker containers continuously on aws
Deliver docker containers continuously on awsDeliver docker containers continuously on aws
Deliver docker containers continuously on aws
 
Service discovery in mesos miguel, Angel Guillen
Service discovery in mesos miguel, Angel GuillenService discovery in mesos miguel, Angel Guillen
Service discovery in mesos miguel, Angel Guillen
 
Deployment topologies for high availability (ha)
Deployment topologies for high availability (ha)Deployment topologies for high availability (ha)
Deployment topologies for high availability (ha)
 
Stacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityStacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High Availability
 
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...
Error Resilient Design: Building Scalable & Fault-Tolerant Microservices with...
 
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 
How to achieve scalable environments using kubernetes and vmss on azure cloud
How to achieve scalable environments using kubernetes and vmss on azure cloudHow to achieve scalable environments using kubernetes and vmss on azure cloud
How to achieve scalable environments using kubernetes and vmss on azure cloud
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
 
Deploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean FellowsDeploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean Fellows
 
Parallel Running Automation Solution with Docker, Jenkins and Zalenium
Parallel Running Automation Solution with Docker, Jenkins and ZaleniumParallel Running Automation Solution with Docker, Jenkins and Zalenium
Parallel Running Automation Solution with Docker, Jenkins and Zalenium
 
Peeling back the Lambda layers
Peeling back the Lambda layersPeeling back the Lambda layers
Peeling back the Lambda layers
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
 
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...
Flink Forward Berlin 2018: Edward Alexander Rojas Clavijo - "Deploying a secu...
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right tool
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 

Andere mochten auch

What and Why and How: Apache Drill ! - Tugdual Grall
What and Why and How: Apache Drill ! - Tugdual GrallWhat and Why and How: Apache Drill ! - Tugdual Grall
What and Why and How: Apache Drill ! - Tugdual Gralldistributed matters
 
ECA Conference Session 4: Palak Raval Nelson
ECA Conference Session 4: Palak Raval NelsonECA Conference Session 4: Palak Raval Nelson
ECA Conference Session 4: Palak Raval NelsonThomas Flaherty
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~nisobe58
 
TopNotch: Systematically Quality Controlling Big Data by David Durst
TopNotch: Systematically Quality Controlling Big Data by David DurstTopNotch: Systematically Quality Controlling Big Data by David Durst
TopNotch: Systematically Quality Controlling Big Data by David DurstSpark Summit
 
Not Your Father's Database by Databricks
Not Your Father's Database by DatabricksNot Your Father's Database by Databricks
Not Your Father's Database by DatabricksCaserta
 
第1回 ネットワーク図について語る会 2015-08-27
第1回 ネットワーク図について語る会  2015-08-27第1回 ネットワーク図について語る会  2015-08-27
第1回 ネットワーク図について語る会 2015-08-27Yasuo Igano
 
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...Spark Summit
 
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会Hajime Ogushi
 
What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)Daisuke Takahashi
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張Ryota Murohoshi
 
H2O World - H2O Rains with Databricks Cloud
H2O World - H2O Rains with Databricks CloudH2O World - H2O Rains with Databricks Cloud
H2O World - H2O Rains with Databricks CloudSri Ambati
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用Satoshi Kamigaki
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。Masahito Zembutsu
 

Andere mochten auch (16)

Rm0582
Rm0582Rm0582
Rm0582
 
Condor
CondorCondor
Condor
 
What and Why and How: Apache Drill ! - Tugdual Grall
What and Why and How: Apache Drill ! - Tugdual GrallWhat and Why and How: Apache Drill ! - Tugdual Grall
What and Why and How: Apache Drill ! - Tugdual Grall
 
ECA Conference Session 4: Palak Raval Nelson
ECA Conference Session 4: Palak Raval NelsonECA Conference Session 4: Palak Raval Nelson
ECA Conference Session 4: Palak Raval Nelson
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
 
TopNotch: Systematically Quality Controlling Big Data by David Durst
TopNotch: Systematically Quality Controlling Big Data by David DurstTopNotch: Systematically Quality Controlling Big Data by David Durst
TopNotch: Systematically Quality Controlling Big Data by David Durst
 
Not Your Father's Database by Databricks
Not Your Father's Database by DatabricksNot Your Father's Database by Databricks
Not Your Father's Database by Databricks
 
第1回 ネットワーク図について語る会 2015-08-27
第1回 ネットワーク図について語る会  2015-08-27第1回 ネットワーク図について語る会  2015-08-27
第1回 ネットワーク図について語る会 2015-08-27
 
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...
ggplot2.SparkR: Rebooting ggplot2 for Scalable Big Data Visualization by Jong...
 
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
WordCamp Tokyo 2015 LT みんな考えて!4択クイズ大会
 
What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張
 
Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
H2O World - H2O Rains with Databricks Cloud
H2O World - H2O Rains with Databricks CloudH2O World - H2O Rains with Databricks Cloud
H2O World - H2O Rains with Databricks Cloud
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。
 

Ähnlich wie 9th docker meetup 2016.07.13

A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...NETWAYS
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankDocker, Inc.
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...NETWAYS
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE
 
Making Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaMaking Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaGregor Heine
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design PatternsBilgin Ibryam
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSLightbend
 
Docker Swarm vs. Kubernetes Which is the best
Docker Swarm vs. Kubernetes Which is the bestDocker Swarm vs. Kubernetes Which is the best
Docker Swarm vs. Kubernetes Which is the bestCalidad Infotech
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at NuxeoNuxeo
 

Ähnlich wie 9th docker meetup 2016.07.13 (20)

A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura Frank
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
Making Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaMaking Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with Nova
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
 
Docker Swarm vs. Kubernetes Which is the best
Docker Swarm vs. Kubernetes Which is the bestDocker Swarm vs. Kubernetes Which is the best
Docker Swarm vs. Kubernetes Which is the best
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

9th docker meetup 2016.07.13

  • 1. Our experiences with Docker! Dr. Piyush Harsh http://piyush-harsh.info/ Senior Researcher, ICCLab Zurich University of Applied Sciences
  • 2. What is Cyclops ➔ Fully open-source (ASL2.0) framework for rating-charging-billing ◆ Highly modular - micro-services architecture with well defined APIs ◆ Generic, model-driven processing logic (enables a very reactive billing strategy) ➔ Pluggable collectors ◆ You can write your own collector module ◆ Already available usage data / billing events collectors for popular IaaS frameworks ● OpenStack and CloudStack ◆ Many more under planning - hadoop, mesos, docker, openshift, cloud foundry etc. ◆ Don’t wait for it to be made available by ICCLab - write your own! ➔ Highly scalable ◆ Autoscaling logic included ◆ Framework scales easily to thousands of billable events / minute
  • 4. Package Dependencies With numerous micro-services controlling the build and test environment is difficult Specific requirements - ➠ Maven 3.0.5 or higher ➠ Java 8 ➠ InfluxDB 0.9.3 or higher ➠ RabbitMQ ➠ PostgresSQL ➠ And there are others ...
  • 5. End to end testing nightmare!! ➔ We work a lot with students and interns, after all ZHAW is an educational institution ◆ They get excited very easily with some *cool* feature in a new release without thinking about the implications of it! ◆ Many are still learning concepts of software development. ◆ They are eager to learn new things and we don’t STOP them! ➔ But this flexibility creates a testing and debugging nightmare!! ◆ Cases where an intern spends 1 day fixing something which was NOT broken at all is more common than anyone would care to admit!
  • 6. Cyclops with Docker ➔ Streamlined testing environment regardless of people’s own base system configuration ➔ We divided all containers into 2 groups ◆ Static - where the base image is fixed, these we published on hub.docker.com ◆ On the fly - containers with untested, under-development code modules ● The images for these are build locally ➔ Faster & predictable environment setup for each test run!
  • 7. Easy composition with docker-compose Docker-compose allows an easy way to stitch together all containers that make up a service! ➔ Containers are created in order! ➔ Linking containers makes the services available by name ◆ Allows configuration file stability Developers and testers can now create and execute the complete Cyclops framework in one step!
  • 8. Why not use cloud (or VM) based techniques? We could have used Heat or AWS CloudFormation, or something similar! ❖ Clouds for testing is costly, docker is free!
  • 9. Why not use cloud based techniques? Even with this highly improbable scenario ...
  • 10. Why not use cloud based techniques? Even if I had gazillions of gold coins, docker allows me full control and the response time is orders of magnitude faster than any VM based deployment strategies.
  • 11. Specific challenges we faced!! ➔ Port conflicts are with external host environments (using Docker for mac) ◆ Easy to fix - change the external mapped port value ◆ Services in containers that are linked are accessible at the internal ports ● Could be useful when working with container images developed by someone else ➔ Order of container start does not ensure that services start in that order too! ◆ Also easy to fix: create a script to check service dependencies before starting self ➔ Logging … ◆ Either send all logs to console - docker-compose picks up and color-codes log outputs ◆ Or send all logs to a logging server ● ELK stack is useful
  • 12. Specific challenges we faced!! ➔ Port conflicts are with external host environments (using Docker for mac) ◆ Easy to fix - change the external mapped port value ◆ Services in containers that are linked are accessible at the internal ports ● Could be useful when working with container images developed by someone else ➔ Order of container start does not ensure that services start in that order too! ◆ Also easy to fix: create a script to check service dependencies before starting self ➔ Logging … ◆ Either send all logs to console - docker-compose picks up and color-codes log outputs ◆ Or send all logs to a logging server ● ELK stack is useful vs
  • 13. Specific challenges we faced!! ➔ Port conflicts are with external host environments (using Docker for mac) ◆ Easy to fix - change the external mapped port value ◆ Services in containers that are linked are accessible at the internal ports ● Could be useful when working with container images developed by someone else ➔ Order of container start does not ensure that services start in that order too! ◆ Also easy to fix: create a script to check service dependencies before starting self ➔ Logging … ◆ Either send all logs to console - docker-compose picks up and color-codes log outputs ◆ Or send all logs to a logging server ● ELK stack is useful vs
  • 14. Cyclops demo: TNova use-case Marketplace and brokerage for VNF developers, users and operators. ➔ Actors ◆ Service providers ◆ Function developers ◆ Service users ➔ Requirements on billing ◆ Revenue sharing reports ● Between SP and FP ● Negotiated billing & SLA models ● SLA Penalty models ◆ Billing reports for users
  • 15. Cyclops demo: TNova use-case Marketplace and brokerage for VNF developers, users and operators. ➔ Cyclops interfaces with external components ◆ Accounting module ● Developed by ATOS ➔ Cyclops µServices used ◆ Udr, rc and billing, rating ◆ Scheduler ● Periodicity: 2 minutes LET’S SEE THE DEMO NOW!!
  • 16. Time for a quick hands-on session now ... Using the TNova use-case - Steps: ➔ Start cyclops framework with docker-compose ➔ Start a service with 2 constituent VNFs via ATOS accounting module ➔ Start their respective SLA enforcements via ATOS SLA manager ➔ Create a bill for customer c1 that is consuming the service ◆ What is owes to provider p1 ➔ Create a revenue sharing report for function provider f1 ◆ What is should get from various “customers” - the service providers
  • 17. Conclusion wrt Cyclops & Docker Docker is sweeeet! ➔ Much more control over development and testing ◆ Core service provisioning is much faster ➔ Better developer experience in the community ◆ The core system just works! With docker orchestration and clustering frameworks such as docker-swarm or kubernetes, it should be easy to test Cyclops under load-balancers and see the effects of elasticity on latencies and consistencies.
  • 18. Further information ... Cyclops Page: http://icclab.github.io/cyclops/ Gatekeeper: http://icclab.github.io/gatekeeper/ ICCLab RCB initiative page: http://bit.ly/1WYC27l @rcb_cyclops - follow us on twitter. Cyclops has been proudly funded by these organizations / projects