SlideShare a Scribd company logo
Docker Swarm secrets
for creating great FIWARE platforms
Federico M. Facca
email: federico.facca@martel-innovate.com
twitter: @chicco785
1
What you will learn?
§ How to deploy enablers using cloud architecture patterns
§ How to apply cloud patterns using Docker
§ How to deploy on multiple hardware architectures
§ Where to find examples for some enablers
2
In case you wanna run the 5 demo at the end of the Talk
§ If internet is good enough...
§ Install VirtualBox
• https://www.virtualbox.org/wiki/Downloads
§ Install Docker
• https://docs.docker.com/engine/installation/
§ Install Docker Machine
• https://docs.docker.com/machine/install-machine/
§ Create a Swarm Cluster (https://github.com/aelsabbahy/miniswarm)
• curl -sSL https://raw.githubusercontent.com/aelsabbahy/miniswarm/master/miniswarm -o
/usr/local/bin/miniswarm
• chmod +rx /usr/local/bin/miniswarm # As root
• miniswarm start 3 # 1 manager 2 workers
§ Clone the recipes
• git clone https://github.com/smartsdk/smartsdk-recipes
3
Does this work only with Docker Swarm?
§ The code you will find in the repository is for Docker
Swarm
§ The principles are generic and can be applied on different
containerized (or not) platforms

Recommended for you

macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan

macvlan and ipvlan allow VMs and containers to have direct exposure to the host network by assigning them their own MAC/IP addresses without requiring a bridge. macvlan uses MAC addresses to separate traffic while ipvlan uses layer 3. Both are lighter weight than bridges. macvlan is commonly used in bridge mode to allow communication between VMs/containers on the same host, while ipvlan may be preferred when MAC limits are in place or for untrusted networks.

underlaynetwork namespaceipvlan
DockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveDockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep dive

Docker networking provides a networking fabric for containers called libnetwork that defines the container networking model and provides features like multi-host networking, service discovery, load balancing, and security. New features in Docker 1.12 include networking in swarm mode without an external key-value store, macvlan driver support, a gossip-based secure control plane, optional IPSec for the data plane, built-in DNS for service discovery and load balancing, and a routing mesh for edge routing.

docker networkingdockercondocker 1.12
OSv at Cassandra Summit
OSv at Cassandra SummitOSv at Cassandra Summit
OSv at Cassandra Summit

OSv is a new, high-performance OS for virtual machines in the cloud. Designed to run one application per guest with minimal overhead, OSv eliminates important bottlenecks for NoSQL applications through improvements in memory management, network I/O, and scheduling. And many important bottlenecks for NoSQL applications are tunable on a conventional OS, but do not require tuning in the OSv environment. OSv is fully stateless and can be configured at runtime with cloud-init or through a REST API, with zero configuration files. OSv offers unified tracing from the application layer through the JVM and the OS kernel. Attendees will learn how to boot Cassandra in one second, and create a simple cluster in a minute.

virtualizationcloudos
4
Why Docker Swarm instead of Kubernetes?
§ K8S is more production ready
• More advanced features (e.g. autoscaling).
§ Swarm is simpler
• It is included in Docker (N.B. K8S will be soon)
• It is more suitable for “educational” purposes
• It runs better on a RasperryPI 0 J
Learn and understand the basics
6
What are cloud patterns? Why it is important to master them?
Virtualization <> Cloudification
7
Cattle vs Pets
Cloud Native Applications Legacy Applications

Recommended for you

Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCP

The document discusses the evolution of XenServer architecture to address scalability limitations. The current architecture works well now but will hit bottlenecks on larger servers. The new "Windsor" architecture uses domain 0 disaggregation to move virtualization functions out of domain 0 and into separate domains for improved performance, scalability, and isolation. Key benefits include better VM density, use of hardware resources, stability, availability, and extensibility. It provides a flexible platform that can scale-out across servers.

disaggregationxensecurity
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0

This presentation, DEFEATING THE NETWORK SECURITY INFRASTRUCTURE v1.0.pdf, was made after some brainstorming with some friends. The techniques used are not new and the tools readily available for download. The purpose of the discussion however is to debate how internal enterprise resources might be (in)adversely exposed to the internet by in an insider using a combination of common techniques such as SSH and SSL.

XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonXPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon

Xen currently has two major mechanisms to maintain security while hosting untrusted VMs without causing disruption to those guests: live patching, and live migration. We introduce a third method: live updating Xen. A live-update operation involves loading of the newly-staged hypervisor into RAM, the currently-running Xen serializing its state, and then transferring control to the newly-staged Xen, all without disrupting running instances, beyond a little downtime when neither hypervisor is running guest vCPUs. We present a proposal on the design of such a feature, and invite comments and feedback.

xen projectxen project developer and design summit 2019security
8
Monolith vs Modern SOA (aka microservices)
§ Monolith architectures run all their services
in a single process
§ Monolith architectures may scale by
replicating all the “monolith” on different
servers
§ Microservice architectures each
functionality in a separate (possibly
stateless) process
§ Microservices scale individually by
distributing on different servers
9
Cloud Architecture Patterns are the path to
§ Move from Pets to Cattle
§ ... i.e. achieve
• Service resiliency
• Flexible scalability
• Lower latency
10
High Availability
11
Scalability
Horizontal Scaling Vertical Scaling

Recommended for you

Swarm mode
Swarm modeSwarm mode
Swarm mode

This document discusses Docker Swarm Mode, which allows managing a cluster of Docker Engines called a swarm. Key features include integrated cluster management, declarative application deployment across nodes, automatic scaling, service discovery, and encryption between nodes. The document demonstrates initializing a swarm on two VMs, adding a worker node, deploying services in replicated and global modes, attaching services to networks, publishing service ports, updating services, and more swarm commands.

swarmdevopslinux
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...

Talk from Docker SF Meetup #50 Abstract: Docker swarm mode enables users to manage their applications with service primitives. In this talk we demonstrate how to do service upgrades without impacting your application. The Healthcheck feature provides health indication for a container. Coming up in Docker 1.13 release, Docker Swarm can connect healthcheck result with load balancer to implement no-loss service upgrade. Speaker Biographies: Nishant Totla is a software engineer at Docker, and works on the core open source team. He is currently working on Docker SwarmKit and Docker Swarm. Prior to Docker, he was a PhD student at UC Berkeley, doing research on programming languages. In his spare time, he enjoys long-distance running, biking, and other outdoor activities. Nishant tweets at @nishanttotla. Dongluo Chen is a software engineer at Docker focusing on orchestration and container development. Before Docker he was software engineer manager at Microsoft Azure building and automating global data centers. He worked at France Telecom (Orange) and the Ohio State University as research scientist in networking area.

dockercontainersdocker swarm
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model

Heart of the SwarmKit: Store, Topology & Object Model by Aaron, Andrea, Stephen D (Docker) Swarmkit repo - https://github.com/docker/swarmkit Liveblogging: http://canopy.mirage.io/Liveblog/SwarmKitDDS2016

swarmkitswarm modedocker
12
Multisite
13
Queue Centric Workflow
Message Queue
Producers Consumers
14
Stateless vs Stateful services
§ Stateless services
• The output of the service depends only on the input
• Easy to scale and distribute
§ Stateful
• The output of the service depends on the input and on a set of information
stored by the service itself
• Not so easy to scale and distribute (maintaining a consistent state)
15
CAP Theorem
§ The CAP theorem states that it is impossible for a distributed computer
system to simultaneously provide all three of the following guarantees:
• Consistency: Every read receives the most recent write or an error
• Availability: Every request receives a response, without guarantee that it contains the
most recent version of the information
• Partition tolerance: The system continues to operate despite an arbitrary number of
messages being dropped by the network between nodes
§ I.e. when you implement HA in a stateful service, you can choose of being CA, AP,
CP. In general you strive to AP and eventually consistent.

Recommended for you

Docker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker SwarmDocker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker Swarm

From the Docker London MeetUp, presented on 27th June 2016. A walkthrough of Swarm Mode in Docker 1.12, the presentation introduces demos for creating a Docker Swarm using Azure virtual machines, and running a distributed application with a Node REST API, feeding analytics into Elasticsearch via a Redis queue.

noderedisazure
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi

Docker 1.12 introduces several new features for managing containerized applications at scale including Docker Swarm mode for native clustering and orchestration. Key features include services that allow defining and updating distributed applications, a built-in routing mesh for load balancing between nodes, and security improvements like cryptographic node identities and TLS encryption by default. The document also discusses plugins, health checks, and distributed application bundles for declaring stacks of services.

container orchestrationcontainersmike goelzer
Kubernetes networking - basics
Kubernetes networking - basicsKubernetes networking - basics
Kubernetes networking - basics

The document discusses Kubernetes networking concepts including pods, services, and ingress. It provides examples of how containers within pods communicate via Docker networking. It also explains how Kubernetes networking solves the problems of pod-to-pod, service-to-pod, and external-to-service communications using services, iptables, and kube-proxy. The document demonstrates creating a deployment, service, and ingress to expose an application externally via a load balancer.

cncfkubernetscloud native network
From concepts to practise
16
17
Context Broker
§ Context Broker is perhaps the most used
GE J
§ It includes to components:
• The API
• The Backend
§ The API is HTTP based
§ The Backend in based on MongoDB
§ How to make it high available?
• An easy crossover mechanism for HTTP
APIs are Load Balancers
• MongoDB has its proprietary HA
mechanism (replica set)
Context Broker
MongoDB
18
Context Broker: Target architecture
Context Broker
MongoDB
Context Broker
MongoDB
Context Broker
MongoDB
LB LB LB
MongoDB replica set
Virtual IP
1. Provide high available and partition tolerant distributed data
2. Eventually consistent
3. MongoDB HA solutions use quora mechanism for evaluate consistency,
so O as to be an odd number (max actually is 7)
1. Provides the reliable cross over (i.e. transparent access to different
instances)
2. Provides the transparent detection failure
3. Relies on virtual IP mechanism
1. N-instances of context broker, removing single point of failure
19
Context Broker: How to implement that in Docker Swarm?
§ The Load Balancer
• It is the easy part: Docker Swarm implements
a simple Load Balancing mechanism
§ Context Broker API HA
• Context Broker is stateless, we don’t have to
worry about data
• We create a service (using replica mode to
scale it up and down)
• We leverage on health checks to evaluate
single instance health
§ MongoDB
• Now things get complex... Recall CAPs
Theorem
version: '3'
services:
orion:
image: fiware/orion:${ORION_VERSION:-1.7.0}
ports:
- "1026:1026”
command: -logLevel DEBUG -dbhost
${MONGO_SERVICE_URI:-"mongo-rs_mongo"} -rplSet
${REPLICASET_NAME:-rs} -dbTimeout 10000
deploy:
replicas: 2
healthcheck:
test: ["CMD", "curl", "-f",
"http://0.0.0.0:1026/version"]
interval: 1m
timeout: 10s
retries: 3
networks:
...

Recommended for you

runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...

With the announcement of the OCI by Solomon Hykes at last summer's DockerCon, a Docker-contributed reference implementation of the OCI spec, called runC, was born. While some of you may have tried runC or have a history of poking at the OS layer integration library to Linux namespaces, cgroups and the like (known as libcontainer), many of you may not know what runC offers. In this talk Phil Estes, Docker engine maintainer who has also contributed to libcontainer and runC, will show what's possible using runC as a lightweight and fast runtime environment to experiment with lower-level features of the container runtime. Phil will introduce a conversion tool called "riddler", which can inspect and convert container configurations from Docker into the proper OCI configuration bundle for easy conversion between the two environments. He'll also demonstrate how to make custom configurations for trying out security features like user namespaces and seccomp profiles.

enginedockeropen container initiative
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015

This document describes a hands-on CloudStack workshop held on June 24th, 2015 in Amsterdam. It provides instructions on setting up a CloudStack development environment on KVM hypervisors to deploy a CloudStack management server and XenServer hosts. Attendees are guided through compiling CloudStack from source, deploying a sample data center configuration, adding VM templates, launching their first VM, exploring the CloudStack API, and using CloudStackOps for operations tasks. Exercises are suggested for working with tenants, networks, VPC, high availability, and observing hypervisor failures.

devopsworkshopcloudstack
Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017

Libnetwork provides a native Go implementation for connecting containers The goal of libnetwork is to deliver a robust Container Network Model that provides a consistent programming interface and the required network abstractions for applications.

docker networkingmoby projectdocker
20
Data Layer HA Management
§ Your distributed data layer has some
level of self discovery
• You can relay on it to automatically
create the “data service cluster”.
• In some cases, you need pass service
names... Luckily you can leverage on
tricks (e.g. DNSRR mode of Docker
Swarm – being VIP the default)
• E.g. elasticsearch / hadoop
§ Your distributed data layer has no self
discovery
• You need a sidecar service that
implements the data cluster
management logic.
• E.g. mongodb / mysql
MongoDB MongoDBMongoDB
MongoDB replica set
ReplicaSet
Controller
Docker Swarm
MongoDB replica
set MongoDB replica set
21
Context Broker: How to implement that in Docker Swarm?
§ MongoDB
• We create a service for mongo (using
global, and volumes if we want persistency)
• We create a service for the sidecar
microservice
• We leverage on health checks to evaluate
single instance health
§ Why global?
• If you want to leverage on volume for data
persistency, you need to deal with the fact
that there can be only 1 volume with a
given name per swarm node.
• How can I scale up / down then?
□ Using placement constraints!
version: '3.2'
mongo:
image: mongo:${MONGO_VERSION:-3.2}
entrypoint: [ "/usr/bin/mongod", "--replSet",
"${REPLICASET_NAME:-rs}", "--journal", "--smallfiles"]
volumes:
- mongodata:/data/db
secrets:
- mongo-healthcheck
healthcheck:
test: ["CMD", "bash", "/run/secrets/mongo-healthcheck"]
interval: 1m
timeout: 10s
retries: 3
deploy:
mode: global
...
controller:
image: martel/mongo-replica-ctrl:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role==manager]
...
22
Scaling Up and Down
§ docker service scale orion_orion=3
§ docker service scale orion_orion=2
§ Global Mode does not support scale up /
down. Using Global Mode you can have as
many mongo as cluster nodes.
§ Add a placement constraint to the mongo
service
• placement:
constraints: [node.labels.mongo == yes]
§ Add/remove label to nodes to be (not) used
for MongoDB
• docker node update --label-add
mongo=yes NODE
Context Broker MongoDB
23
Multi Site (for replicated mode services)
§ In each site, have at least a Docker Swarm master.
• The number of master should be always odd.
§ Add a “site” label to all the nodes part of a given site.
• docker node update --label-add region=us NODE
• docker node update --label-add region=eu NODE
§ Add a placement preference to the service (not supported in compose files!)
• docker service update --placement-pref-add 'spread=node.labels.region’ SERVICE

Recommended for you

What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?

Docker Engine 1.12 can be rightly called ” A Next Generation Docker Clustering & Distributed System”. Though Docker Engine 1.12 Final Release is around corner but the recent RC3 brings lots of improvements and exciting features. One of the major highlight of this release is Docker Swarm Mode which provides powerful yet optional ability to create coordinated groups of decentralized Docker Engines. Swarm Mode combines your engine in swarms of any scale. It’s self-organizing and self-healing. It enables infrastructure-agnostic topology.The newer version democratizes orchestration with out-of-box capabilities for multi-container on multi-host app deployments.

dockerdocker composedocker swarm
GopherFest 2017 - Adding Context to NATS
GopherFest 2017 -  Adding Context to NATSGopherFest 2017 -  Adding Context to NATS
GopherFest 2017 - Adding Context to NATS

This document discusses adding context support to the NATS client library. It begins with an overview of NATS and context in Go. It then describes enhancing the Subscription.NextMsg method to support context, avoiding blocking indefinitely. This allows building a RequestWithContext method for cancelling requests. The key steps are selecting on the subscription channel or context being done, and returning the context's error on cancellation. Learning from standard library patterns like validating contexts helps make the API clearer.

nats golang gopherfest messaging context
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0

This presentation has been given during DevOps Congress in Wrocław. It is about container orchestrations with Docker Swarm and Traefik. It includes the configuration examples of Traefik version 2.0. The source code used in the presentation: https://github.com/jakubhajek/traefik-swarm

dockertraefikcontainer
Quick Demo
24
25
§ cd tools/
§ sh create_networks.sh
§ cd ../data-management/context-broker/ha/
§ sh deploy_back.sh
§ docker service ls
§ docker service logs -f orion-backend_controller
§ sh deploy_front.sh
§ docker service ls
§ curl http://192.168.99.101:1026/version
Advanced topics
26
27
Multi Site and Edge
§ Edge devices may not have a Public IP
§ Can we create a cluster connecting such devices?
§ OpenVPN is your friend!
• Configure OpenVPN server on all the master nodes
in the cloud using a multipoint configuration.
• Configure OpenVPN clients on all the edge nodes.
• Unfortunately, due to the fact that docker service
does not support privileged mode, you cannot run
OpenVPN as a container to create a Docker Swarm
cluster
§ What if my edge nodes are based on a different
architecture (e.g. ARM)?
• Develop image manifests that implements v2.2
spec, this allows to redirect an image version to
specific version per hardware platform.
image:
myprivreg:5000/someimage:latest
manifests:
- image:
myprivreg:5000/someimage:ppc64le
platform:
architecture: ppc64le
os: linux
- image:
myprivreg:5000/someimage:amd64
platform:
architecture: amd64
features:
- sse
os: linux

Recommended for you

Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3

Do any VM's contain a particular indicator of compromise? E.g. Run a YARA signature over all executables on my virtual machines and tell me which ones match.

Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing

My talk in Bessemer VP R&D / CTO yearly event (Jan 2020). The presentation discusses major concept in resilience testing and MyHeritage's path to Chaos Engineering.

resilience testingchaos engineeringgremlin
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero

présentation de l'utilisation de Docker, du niveau 0 "je joue avec sur mon poste" au niveau Docker Hero "je tourne en prod". Ce talk fait suite à l'intro de @dgageot et ne comporte donc pas l'intro "c'est quoi Docker ?".

docker jugsummercamp
Træfik: advanced load balancing
§ Docker Swarm proxy is not configurable, for
example it does not support sticky sessions
§ Traefik listens to backend /orchestrator API’s
and detects any changes, applying it
§ Routes are dynamically managed
§ You can create / update / destroy routes at
any time
§ Traefik reads service metadata on Docker /
Kubernetes / etcd / etc
• Hosts, ports, load balancing algorithm etc
§ You can configure SSL certifications
• Let’s Encrypt integration requires a key-value
storage
• Let’s Encrypt integration requires public IP
29
Testing your dockerized platform
§ Learn from the GURU’s of micro service architectures!
§ Chaos Monkey
§ https://github.com/gaia-adm/pumba
Netflix picture or /logo
On going and future activities in FIWARE
30
Did it look complex? I hope not J
31

Recommended for you

9th docker meetup 2016.07.13
9th docker meetup 2016.07.139th docker meetup 2016.07.13
9th docker meetup 2016.07.13

Dr. Piyush Harsh discusses using Docker to streamline the testing environment for Cyclops, an open-source rating, charging, and billing microservices framework. Key benefits of Docker include predictable, standardized environment setup and faster response times compared to virtual machine-based deployments. Some challenges included port conflicts and ensuring service start order, but these were easy to address. A demo of Cyclops integrating with external components for a telecom network virtualization use case is also mentioned.

dockerrating-charging-billingmeetup
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications

The document discusses strategies for scaling LAMP applications on cloud computing platforms like AWS. It recommends: 1) Moving static files to scalable services like S3 and using a CDN to distribute load. 2) Using dedicated caching systems like Memcache instead of local caches and storing sessions in Memcache or DynamoDB for scalability. 3) Scaling databases horizontally using master-slave replication or sharding across multiple availability zones for high availability and read scaling. 4) Leveraging auto-scaling and load balancing on AWS with tools like Elastic Load Balancers, CloudWatch, and scaling alarms to dynamically scale application instances based on metrics.

php cloudlampaws
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice

This document discusses microservices architecture compared to a monolithic architecture. A microservices architecture breaks an application into smaller, independent services that each perform discrete functions. This allows for more rapid development and improved scalability. However, a microservices architecture is also more complex to deploy and manage. The document provides an example of how a VoIP application could use a microservices approach by breaking components like billing, fraud detection, and call analytics into separate services. It also discusses using Docker containers and services to deploy and scale the microservices architecture.

freeswitchdockeradhearsion
32
Smart Security
• Common architecture patterns: e.g. scalability pattern
• Common generic enablers: e.g. orion context-broker
• Common data models: e.g. geo-location
• Specific architecture patterns: e.g. secured data access
pattern
• Specific and customised generic enablers: e.g. security risk
detection filters for kurento media server
• Specific data models: e.g. security’s events
Smart Security
Application
“recipe”
1. Analyse	HA	architectures	for	the	different	Data	and	IoT Management	enablers
2. Creating	Docker	compose	recipes	to	allow	easy	deployment	of	HA	enablers
3. Making	them	available	in	FIWARE	Lab	to	experimenters
Do you have questions?
Do you want to contribute?
33
Contact Us
www.martel-innovate.com
Federico M. Facca
Head of Martel Lab
federico.facca@martel-innovate.com
Dorfstrasse 73 – 3073
Gümligen (Switzerland)
0041 78 807 58 38
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
34
35
Docker Swarm architecture

Recommended for you

What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017

This document provides an overview of Container as a Service (CaaS) with Docker. It discusses key concepts like Docker containers, images, and orchestration tools. It also covers DevOps practices like continuous delivery that are enabled by Docker. Specific topics covered include Docker networking, volumes, and orchestration with Docker Swarm and compose files. Examples are provided of building and deploying Java applications with Docker, including Spring Boot apps, Java EE apps, and using Docker for builds. Security features of Docker like content trust and scanning are summarized. The document concludes by discussing Docker use cases across different industries and how Docker enables critical transformations around cloud, DevOps, and application modernization.

containersenterprisecloud
FIWARE Data Management in High Availability
FIWARE Data Management in High AvailabilityFIWARE Data Management in High Availability
FIWARE Data Management in High Availability

This presentation overviews basic principles of high availability architectures and presents how to deploy in high availability FIWARE data management services.

datafiwarecloud computing
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016

Thomas and James from Demonware discussed their company's evolution to using containers for testing. They started with "fat containers" containing all services, then separated services into containers defined in YAML files. Now they use Docker Swarm to run tests in scalable services across a cluster, addressing issues like limited resources and test parallelization. The talk provided an example of optimizing a testing pipeline through containerization.

demonware docker swarm testing python continuous
36

More Related Content

What's hot

Apache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse ProxyApache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse Proxy
Jim Jagielski
 
Docker 對傳統 DevOps ���具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
William Yeh
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
Ajeet Singh Raina
 
macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan
Suraj Deshmukh
 
DockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveDockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep dive
Madhu Venugopal
 
OSv at Cassandra Summit
OSv at Cassandra SummitOSv at Cassandra Summit
OSv at Cassandra Summit
Don Marti
 
Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCP
The Linux Foundation
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
Philippe Bogaerts
 
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonXPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
The Linux Foundation
 
Swarm mode
Swarm modeSwarm mode
Swarm mode
Dharmit Shah
 
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Docker, Inc.
 
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model
Docker, Inc.
 
Docker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker SwarmDocker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker Swarm
Elton Stoneman
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Mike Goelzer
 
Kubernetes networking - basics
Kubernetes networking - basicsKubernetes networking - basics
Kubernetes networking - basics
Juraj Hantak
 
runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...
Docker, Inc.
 
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
Remi Bergsma
 
Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017
Docker, Inc.
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
Ajeet Singh Raina
 
GopherFest 2017 - Adding Context to NATS
GopherFest 2017 -  Adding Context to NATSGopherFest 2017 -  Adding Context to NATS
GopherFest 2017 - Adding Context to NATS
wallyqs
 

What's hot (20)

Apache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse ProxyApache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse Proxy
 
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
 
macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan
 
DockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveDockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep dive
 
OSv at Cassandra Summit
OSv at Cassandra SummitOSv at Cassandra Summit
OSv at Cassandra Summit
 
Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCP
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
 
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonXPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
 
Swarm mode
Swarm modeSwarm mode
Swarm mode
 
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
 
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model
 
Docker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker SwarmDocker Swarm Is Dead: Long Live Docker Swarm
Docker Swarm Is Dead: Long Live Docker Swarm
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
 
Kubernetes networking - basics
Kubernetes networking - basicsKubernetes networking - basics
Kubernetes networking - basics
 
runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...
 
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
 
Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017Libnetwork update at Moby summit June 2017
Libnetwork update at Moby summit June 2017
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
 
GopherFest 2017 - Adding Context to NATS
GopherFest 2017 -  Adding Context to NATSGopherFest 2017 -  Adding Context to NATS
GopherFest 2017 - Adding Context to NATS
 

Similar to FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms

Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
Jakub Hajek
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
Velocidex Enterprises
 
Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing
Ran Levy
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
Nicolas De Loof
 
9th docker meetup 2016.07.13
9th docker meetup 2016.07.139th docker meetup 2016.07.13
9th docker meetup 2016.07.13
Amrita Prasad
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
Corley S.r.l.
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
Evan McGee
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
FIWARE Data Management in High Availability
FIWARE Data Management in High AvailabilityFIWARE Data Management in High Availability
FIWARE Data Management in High Availability
Federico Michele Facca
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016
Thomas Shaw
 
Docker Swarm Mode Orchestration
Docker Swarm Mode OrchestrationDocker Swarm Mode Orchestration
Docker Swarm Mode Orchestration
Alican Akkuş
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
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
Lightbend
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
clayton_oneill
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
Sreenivas Makam
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
SF Bay Cloud Native Open Infra Meetup
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
Hiroshi SHIBATA
 
Containers explained as for cook and a mecanics
 Containers explained as for cook and a mecanics  Containers explained as for cook and a mecanics
Containers explained as for cook and a mecanics
Rachid Zarouali
 
Corley scalability
Corley scalabilityCorley scalability
Corley scalability
Corley S.r.l.
 
Ippevent : openshift Introduction
Ippevent : openshift IntroductionIppevent : openshift Introduction
Ippevent : openshift Introduction
kanedafromparis
 

Similar to FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms (20)

Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
9th docker meetup 2016.07.13
9th docker meetup 2016.07.139th docker meetup 2016.07.13
9th docker meetup 2016.07.13
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
FIWARE Data Management in High Availability
FIWARE Data Management in High AvailabilityFIWARE Data Management in High Availability
FIWARE Data Management in High Availability
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016
 
Docker Swarm Mode Orchestration
Docker Swarm Mode OrchestrationDocker Swarm Mode Orchestration
Docker Swarm Mode Orchestration
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
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
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
Containers explained as for cook and a mecanics
 Containers explained as for cook and a mecanics  Containers explained as for cook and a mecanics
Containers explained as for cook and a mecanics
 
Corley scalability
Corley scalabilityCorley scalability
Corley scalability
 
Ippevent : openshift Introduction
Ippevent : openshift IntroductionIppevent : openshift Introduction
Ippevent : openshift Introduction
 

More from FIWARE

Behm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxBehm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptx
FIWARE
 
Katharina Hogrebe Herne Digital Days.pdf
 Katharina Hogrebe Herne Digital Days.pdf Katharina Hogrebe Herne Digital Days.pdf
Katharina Hogrebe Herne Digital Days.pdf
FIWARE
 
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxChristoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
FIWARE
 
Behm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxBehm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptx
FIWARE
 
Evangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxEvangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptx
FIWARE
 
Lukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxLukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptx
FIWARE
 
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxPierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
FIWARE
 
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxDennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptx
FIWARE
 
Ulrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxUlrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptx
FIWARE
 
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxAleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
FIWARE
 
Water Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfWater Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdf
FIWARE
 
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
FIWARE
 
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FIWARE
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
FIWARE
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
FIWARE
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
FIWARE
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FIWARE
 
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxHTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
FIWARE
 
WE_LoRaWAN _ IoT.pptx
WE_LoRaWAN  _ IoT.pptxWE_LoRaWAN  _ IoT.pptx
WE_LoRaWAN _ IoT.pptx
FIWARE
 
EU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxEU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptx
FIWARE
 

More from FIWARE (20)

Behm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxBehm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptx
 
Katharina Hogrebe Herne Digital Days.pdf
 Katharina Hogrebe Herne Digital Days.pdf Katharina Hogrebe Herne Digital Days.pdf
Katharina Hogrebe Herne Digital Days.pdf
 
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxChristoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
 
Behm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxBehm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptx
 
Evangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxEvangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptx
 
Lukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxLukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptx
 
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxPierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
 
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxDennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptx
 
Ulrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxUlrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptx
 
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxAleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
 
Water Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfWater Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdf
 
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
 
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
 
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxHTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
 
WE_LoRaWAN _ IoT.pptx
WE_LoRaWAN  _ IoT.pptxWE_LoRaWAN  _ IoT.pptx
WE_LoRaWAN _ IoT.pptx
 
EU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxEU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptx
 

Recently uploaded

UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 

Recently uploaded (20)

UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 

FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms

  • 1. Docker Swarm secrets for creating great FIWARE platforms Federico M. Facca email: federico.facca@martel-innovate.com twitter: @chicco785
  • 2. 1 What you will learn? § How to deploy enablers using cloud architecture patterns § How to apply cloud patterns using Docker § How to deploy on multiple hardware architectures § Where to find examples for some enablers
  • 3. 2 In case you wanna run the 5 demo at the end of the Talk § If internet is good enough... § Install VirtualBox • https://www.virtualbox.org/wiki/Downloads § Install Docker • https://docs.docker.com/engine/installation/ § Install Docker Machine • https://docs.docker.com/machine/install-machine/ § Create a Swarm Cluster (https://github.com/aelsabbahy/miniswarm) • curl -sSL https://raw.githubusercontent.com/aelsabbahy/miniswarm/master/miniswarm -o /usr/local/bin/miniswarm • chmod +rx /usr/local/bin/miniswarm # As root • miniswarm start 3 # 1 manager 2 workers § Clone the recipes • git clone https://github.com/smartsdk/smartsdk-recipes
  • 4. 3 Does this work only with Docker Swarm? § The code you will find in the repository is for Docker Swarm § The principles are generic and can be applied on different containerized (or not) platforms
  • 5. 4 Why Docker Swarm instead of Kubernetes? § K8S is more production ready • More advanced features (e.g. autoscaling). § Swarm is simpler • It is included in Docker (N.B. K8S will be soon) • It is more suitable for “educational” purposes • It runs better on a RasperryPI 0 J
  • 6. Learn and understand the basics
  • 7. 6 What are cloud patterns? Why it is important to master them? Virtualization <> Cloudification
  • 8. 7 Cattle vs Pets Cloud Native Applications Legacy Applications
  • 9. 8 Monolith vs Modern SOA (aka microservices) § Monolith architectures run all their services in a single process § Monolith architectures may scale by replicating all the “monolith” on different servers § Microservice architectures each functionality in a separate (possibly stateless) process § Microservices scale individually by distributing on different servers
  • 10. 9 Cloud Architecture Patterns are the path to § Move from Pets to Cattle § ... i.e. achieve • Service resiliency • Flexible scalability • Lower latency
  • 14. 13 Queue Centric Workflow Message Queue Producers Consumers
  • 15. 14 Stateless vs Stateful services § Stateless services • The output of the service depends only on the input • Easy to scale and distribute § Stateful • The output of the service depends on the input and on a set of information stored by the service itself • Not so easy to scale and distribute (maintaining a consistent state)
  • 16. 15 CAP Theorem § The CAP theorem states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: • Consistency: Every read receives the most recent write or an error • Availability: Every request receives a response, without guarantee that it contains the most recent version of the information • Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped by the network between nodes § I.e. when you implement HA in a stateful service, you can choose of being CA, AP, CP. In general you strive to AP and eventually consistent.
  • 17. From concepts to practise 16
  • 18. 17 Context Broker § Context Broker is perhaps the most used GE J § It includes to components: • The API • The Backend § The API is HTTP based § The Backend in based on MongoDB § How to make it high available? • An easy crossover mechanism for HTTP APIs are Load Balancers • MongoDB has its proprietary HA mechanism (replica set) Context Broker MongoDB
  • 19. 18 Context Broker: Target architecture Context Broker MongoDB Context Broker MongoDB Context Broker MongoDB LB LB LB MongoDB replica set Virtual IP 1. Provide high available and partition tolerant distributed data 2. Eventually consistent 3. MongoDB HA solutions use quora mechanism for evaluate consistency, so O as to be an odd number (max actually is 7) 1. Provides the reliable cross over (i.e. transparent access to different instances) 2. Provides the transparent detection failure 3. Relies on virtual IP mechanism 1. N-instances of context broker, removing single point of failure
  • 20. 19 Context Broker: How to implement that in Docker Swarm? § The Load Balancer • It is the easy part: Docker Swarm implements a simple Load Balancing mechanism § Context Broker API HA • Context Broker is stateless, we don’t have to worry about data • We create a service (using replica mode to scale it up and down) • We leverage on health checks to evaluate single instance health § MongoDB • Now things get complex... Recall CAPs Theorem version: '3' services: orion: image: fiware/orion:${ORION_VERSION:-1.7.0} ports: - "1026:1026” command: -logLevel DEBUG -dbhost ${MONGO_SERVICE_URI:-"mongo-rs_mongo"} -rplSet ${REPLICASET_NAME:-rs} -dbTimeout 10000 deploy: replicas: 2 healthcheck: test: ["CMD", "curl", "-f", "http://0.0.0.0:1026/version"] interval: 1m timeout: 10s retries: 3 networks: ...
  • 21. 20 Data Layer HA Management § Your distributed data layer has some level of self discovery • You can relay on it to automatically create the “data service cluster”. • In some cases, you need pass service names... Luckily you can leverage on tricks (e.g. DNSRR mode of Docker Swarm – being VIP the default) • E.g. elasticsearch / hadoop § Your distributed data layer has no self discovery • You need a sidecar service that implements the data cluster management logic. • E.g. mongodb / mysql MongoDB MongoDBMongoDB MongoDB replica set ReplicaSet Controller Docker Swarm MongoDB replica set MongoDB replica set
  • 22. 21 Context Broker: How to implement that in Docker Swarm? § MongoDB • We create a service for mongo (using global, and volumes if we want persistency) • We create a service for the sidecar microservice • We leverage on health checks to evaluate single instance health § Why global? • If you want to leverage on volume for data persistency, you need to deal with the fact that there can be only 1 volume with a given name per swarm node. • How can I scale up / down then? □ Using placement constraints! version: '3.2' mongo: image: mongo:${MONGO_VERSION:-3.2} entrypoint: [ "/usr/bin/mongod", "--replSet", "${REPLICASET_NAME:-rs}", "--journal", "--smallfiles"] volumes: - mongodata:/data/db secrets: - mongo-healthcheck healthcheck: test: ["CMD", "bash", "/run/secrets/mongo-healthcheck"] interval: 1m timeout: 10s retries: 3 deploy: mode: global ... controller: image: martel/mongo-replica-ctrl:latest volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: mode: replicated replicas: 1 placement: constraints: [node.role==manager] ...
  • 23. 22 Scaling Up and Down § docker service scale orion_orion=3 § docker service scale orion_orion=2 § Global Mode does not support scale up / down. Using Global Mode you can have as many mongo as cluster nodes. § Add a placement constraint to the mongo service • placement: constraints: [node.labels.mongo == yes] § Add/remove label to nodes to be (not) used for MongoDB • docker node update --label-add mongo=yes NODE Context Broker MongoDB
  • 24. 23 Multi Site (for replicated mode services) § In each site, have at least a Docker Swarm master. • The number of master should be always odd. § Add a “site” label to all the nodes part of a given site. • docker node update --label-add region=us NODE • docker node update --label-add region=eu NODE § Add a placement preference to the service (not supported in compose files!) • docker service update --placement-pref-add 'spread=node.labels.region’ SERVICE
  • 26. 25 § cd tools/ § sh create_networks.sh § cd ../data-management/context-broker/ha/ § sh deploy_back.sh § docker service ls § docker service logs -f orion-backend_controller § sh deploy_front.sh § docker service ls § curl http://192.168.99.101:1026/version
  • 28. 27 Multi Site and Edge § Edge devices may not have a Public IP § Can we create a cluster connecting such devices? § OpenVPN is your friend! • Configure OpenVPN server on all the master nodes in the cloud using a multipoint configuration. • Configure OpenVPN clients on all the edge nodes. • Unfortunately, due to the fact that docker service does not support privileged mode, you cannot run OpenVPN as a container to create a Docker Swarm cluster § What if my edge nodes are based on a different architecture (e.g. ARM)? • Develop image manifests that implements v2.2 spec, this allows to redirect an image version to specific version per hardware platform. image: myprivreg:5000/someimage:latest manifests: - image: myprivreg:5000/someimage:ppc64le platform: architecture: ppc64le os: linux - image: myprivreg:5000/someimage:amd64 platform: architecture: amd64 features: - sse os: linux
  • 29. Træfik: advanced load balancing § Docker Swarm proxy is not configurable, for example it does not support sticky sessions § Traefik listens to backend /orchestrator API’s and detects any changes, applying it § Routes are dynamically managed § You can create / update / destroy routes at any time § Traefik reads service metadata on Docker / Kubernetes / etcd / etc • Hosts, ports, load balancing algorithm etc § You can configure SSL certifications • Let’s Encrypt integration requires a key-value storage • Let’s Encrypt integration requires public IP
  • 30. 29 Testing your dockerized platform § Learn from the GURU’s of micro service architectures! § Chaos Monkey § https://github.com/gaia-adm/pumba Netflix picture or /logo
  • 31. On going and future activities in FIWARE 30
  • 32. Did it look complex? I hope not J 31
  • 33. 32 Smart Security • Common architecture patterns: e.g. scalability pattern • Common generic enablers: e.g. orion context-broker • Common data models: e.g. geo-location • Specific architecture patterns: e.g. secured data access pattern • Specific and customised generic enablers: e.g. security risk detection filters for kurento media server • Specific data models: e.g. security’s events Smart Security Application “recipe” 1. Analyse HA architectures for the different Data and IoT Management enablers 2. Creating Docker compose recipes to allow easy deployment of HA enablers 3. Making them available in FIWARE Lab to experimenters
  • 34. Do you have questions? Do you want to contribute? 33 Contact Us www.martel-innovate.com Federico M. Facca Head of Martel Lab federico.facca@martel-innovate.com Dorfstrasse 73 – 3073 Gümligen (Switzerland) 0041 78 807 58 38
  • 37. 36