SlideShare une entreprise Scribd logo
1  sur  41
How to deploy a Smart City Platform
(Terraform + Ansible + Docker Swarm)
Fernando López
FIWARE Cloud & Platform Senior Expert
fernando.lopez@fiware.org
@flopezaguilar
https://www.slideshare.net/flopezaguilar
https://github.com/flopezag
About me
▪ More than 35 years of programming experience (more than 12 programming languages)
▪ More than 10 years working with OpenStack and AWS
▪ Web Development, Message Queues, Functional Programming, Big Data and Data
Engineering
▪ Developer, Team Leader, QA Manager, Project & Product Manager
▪ DevOps(Secs) activities with more than 6 years
▪ Now Cloud and IoT Platform Senior Expert in FF
▪ Principal Cloud Architect in FIWARE Lab
▪ Evangelist of FIWARE Technology and TSC Member of FIWARE Technology
▪ Love Coding, CI & CD and AI/ML
1
Why this presentation
▪ I am here to spread the awareness of FIWARE Lab & OpenStack
▪ I want you to use Docker Swarm (or K8S/K3S for other session…)
▪ I want you to love Terraform
▪ I want you to feel my passion with Ansible
▪ I want to show you how to deploy and scale a Smart Solution using all the above
(in 40 minutes… )
2
3
In this talk, we will see how to deploy
a Smart City platform…
Hands up
▪ Who’s using Docker (… yet)?
▪ Who’s using Docker Swarm or Kubernetes?
▪ Who’s using Terraform?
▪ Who’s using Ansible?
▪ Who’s not played with any of them, and would love to?
4
5
Docker allow you to build
and run code in containers
6
Containers are like lightweight
Virtual Machines
7
Like an isolated process that happens to be an
Operating System
Architecture solution of a Smart City Platform (beta…)
8
▪ IoT Agent to transform IoT
Devices to NGSI-[v2, LD]
protocol.
▪ Orion Context Broker ->
Keystone Broker Message
▪ Data persistency into historical
Database using Cygnus
▪ PEP Proxy support with Wilma
▪ Identity Management with
Keyrock.
Architectural issues or the Nightmare of the deployments
9
▪ Manual deployment.
▪ Security, security, security….
▪ Manual provision of infrastructure
▪ Manual configuration of
infrastructure
▪ HA, scaling, replication
▪ Persistency of data in ephemeral
environments
10
Docker Compose
Docker Compose
▪ Define multi-container setup
▪ docker-compose.yml
▪ Beats running multiple docker run commands
▪ Can specify multiple Dockerfiles
▪ docker-compose up … iacta alea est
11
12
Running N containers on M machines?
Independent Docker hosts?
Containers manually allocated on multiple nodes
▪ Non-linear resources usage
▪ No service discovery, hardcoded configurations
▪ Manual reaction to failures… OMG!!!
▪ Storage on a node? on several?
▪ Manually integrate to network storage?
▪ Security …
▪ How is the deployment process?
13
14
Orchestration
What is Container Orchestration?
▪ Cluster management
▪ Scaling
▪ Service discovery
▪ Load balancing
▪ Networking
▪ Security
▪ Rolling updates
▪ Storage
15
▪ Configuration
▪ Secrets
▪ …
16
Docker Swarm
Docker Swarm
▪ Cluster management integrated with Docker Engine
▪ Decentralized design
▪ Declarative service model
▪ Scaling
▪ Desired state reconciliation
▪ Multi-host networking
▪ Service discovery
▪ Load balancing
▪ Secure by default
▪ Rolling updates
17
Core concepts
▪ Swarm
▪ Node
▪ Service
▪ Tasks
▪ Load balancing
18
How nodes work
19 Source: https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
How services work
20 Source: https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
swarm manager
3 Orion CB
replicas
service orion.1 orion:latest
orion.2 orion:latest
orion.3 orion:latest
swarm worker 1
swarm worker 2
swarm worker 3
• Image
▪ Exposing external ports
▪ Overlay network for connecting to
other services
▪ CPU and memory limits and
reservations
▪ Update policy
▪ Number of replicas
▪ Global services
Docker Swarm network
21
Manager Manager Manager
Worker Worker Worker
Overlay 10.0.0.0/24
Develop edition Production edition
Docker secrets
22
23
24
Immutable infrastructure
25
Changing servers in production produce
inconsistencies and complex problems
26
Infrastructure as Code
Infrastructure as Code
▪ Rotate machines in and out of service
• Create process to create new servers quickly
• Use the code to destroy and replace them
whenever it is needed
▪ How
• Base images (cloud provider)
• Infrastructure Management Tool (Terraform)
• Configuration Management Tool (Ansible)
27
28
Terraform is a tool for
provisioning infrastructure
Terraform
▪ Tool to create and destroy
infrastructure component
▪ Describe all infrastructure
components by text
• Virtual Machines
• Networks
• Firewalls, Load Balancers, …
• …
▪ Multi-Clouds provider support
29
Benefits
▪ Reproducible infrastructure
▪ Versioned infrastructure
▪ Validated infrastructure
▪ Documented infrastructure
▪ Infrastructure changes become
visible
▪ Reusable infrastructure
▪ Use a declarative language
▪ Incremental changes to existing
infrastructure
30
31
Ansible allows automatic configuration
of infrastructure
Ansible
▪ Idempotent machine setup
▪ Define how things should be
▪ Support parallel execution
▪ Only needed python and ssh connectivity
▪ The same config is used for dev, test, and
production.
▪ Ensures consistency and a known working
config.
▪ Apps and environments are provisioned on
demand.
▪ Reduces the potential for human error
32
33
Put all together
34
Dockerfile
Playbook Terraform Plan
Docker Compose
push
Docker Image
Server 1
GitHub
Server 2 Server 3
…
TLS TLS TLS
HA deployments
35
Problems and barriers in the development and
implementation phase of the platform
Problems and barriers
▪ Environment provisioning
▪ Manual testing
▪ Manual deployments
▪ Planning in a DevOps environment
▪ DevOps and suppliers
▪ DevOps and governance
▪ No integrated tools architecture
▪ Manual releases
▪ No service virtualization
▪ Large releases
▪ Inconsistent environments
36
▪ Limited transparency
▪ Manual processes
▪ Collaboration between development
and operations
▪ No DevOps vision or strategy
▪ No production-like environments
▪ Waste in existing processes
▪ No standard SCM repository
▪ …
Problems and barriers
▪ There are overlapping between some of them (e.g. manual operations).
▪ Some challenges focus on people, some on process, and some on technology.
▪ Others focus on the enterprise rather than a team.
▪ Majority of the issues are DevOps related operations
• Automate where appropriate
• Automated deployments
• Automated testing
• Standardized DevOps ecosystem
37
PoC
▪ GitHub project
https://github.com/flopezag/fiware-university
▪ Steps:
• Automatic deployment of virtual machines
• Automatic configuration of them
• Provision of Docker Engines
• Configuration of Docker Swarm
38
39
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
Fernando López
FIWARE Cloud & Platform Senior Expert
fernando.lopez@fiware.org
@flopezaguilar
https://www.slideshare.net/flopezaguilar
https://github.com/flopezag

Contenu connexe

Tendances

Hitachi datasheet-universal-replicator
Hitachi datasheet-universal-replicatorHitachi datasheet-universal-replicator
Hitachi datasheet-universal-replicatorHitachi Vantara
 
cLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHousecLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHouseAltinity Ltd
 
Webinar how to build a highly available time series solution with kairos-db (1)
Webinar  how to build a highly available time series solution with kairos-db (1)Webinar  how to build a highly available time series solution with kairos-db (1)
Webinar how to build a highly available time series solution with kairos-db (1)Julia Angell
 
Expert Roundtable: The Future of Metadata After Hive Metastore
Expert Roundtable: The Future of Metadata After Hive MetastoreExpert Roundtable: The Future of Metadata After Hive Metastore
Expert Roundtable: The Future of Metadata After Hive MetastorelakeFS
 
OpenStack Swift的性能调优
OpenStack Swift的性能调优OpenStack Swift的性能调优
OpenStack Swift的性能调优Hardway Hou
 
Opa gatekeeper
Opa gatekeeperOpa gatekeeper
Opa gatekeeperRita Zhang
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On DemandBogdan Kyryliuk
 
Going from three nines to four nines using Kafka | Tejas Chopra, Netflix
Going from three nines to four nines using Kafka | Tejas Chopra, NetflixGoing from three nines to four nines using Kafka | Tejas Chopra, Netflix
Going from three nines to four nines using Kafka | Tejas Chopra, NetflixHostedbyConfluent
 
lakeFS Community Call no. 2
lakeFS Community Call no. 2lakeFS Community Call no. 2
lakeFS Community Call no. 2lakeFS
 
Dynamic Object Routing
Dynamic Object RoutingDynamic Object Routing
Dynamic Object RoutingCloudian
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Andrew Leung
 
Initial presentation of openstack (for montreal user group)
Initial presentation of openstack (for montreal user group)Initial presentation of openstack (for montreal user group)
Initial presentation of openstack (for montreal user group)Marcos García
 
FIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE
 
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)Igalia
 
NATS Connect Live!
NATS Connect Live!NATS Connect Live!
NATS Connect Live!NATS
 
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid CloudRafał Leszko
 

Tendances (20)

Zabbix at scale with Elasticsearch
Zabbix at scale with ElasticsearchZabbix at scale with Elasticsearch
Zabbix at scale with Elasticsearch
 
Hitachi datasheet-universal-replicator
Hitachi datasheet-universal-replicatorHitachi datasheet-universal-replicator
Hitachi datasheet-universal-replicator
 
cLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHousecLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHouse
 
Graph Databases at Netflix
Graph Databases at NetflixGraph Databases at Netflix
Graph Databases at Netflix
 
Webinar how to build a highly available time series solution with kairos-db (1)
Webinar  how to build a highly available time series solution with kairos-db (1)Webinar  how to build a highly available time series solution with kairos-db (1)
Webinar how to build a highly available time series solution with kairos-db (1)
 
Expert Roundtable: The Future of Metadata After Hive Metastore
Expert Roundtable: The Future of Metadata After Hive MetastoreExpert Roundtable: The Future of Metadata After Hive Metastore
Expert Roundtable: The Future of Metadata After Hive Metastore
 
OpenStack Swift的性能调优
OpenStack Swift的性能调优OpenStack Swift的性能调优
OpenStack Swift的性能调优
 
Opa gatekeeper
Opa gatekeeperOpa gatekeeper
Opa gatekeeper
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On Demand
 
Going from three nines to four nines using Kafka | Tejas Chopra, Netflix
Going from three nines to four nines using Kafka | Tejas Chopra, NetflixGoing from three nines to four nines using Kafka | Tejas Chopra, Netflix
Going from three nines to four nines using Kafka | Tejas Chopra, Netflix
 
lakeFS Community Call no. 2
lakeFS Community Call no. 2lakeFS Community Call no. 2
lakeFS Community Call no. 2
 
Open ebs 101
Open ebs 101Open ebs 101
Open ebs 101
 
Kubernetes2
Kubernetes2Kubernetes2
Kubernetes2
 
Dynamic Object Routing
Dynamic Object RoutingDynamic Object Routing
Dynamic Object Routing
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017
 
Initial presentation of openstack (for montreal user group)
Initial presentation of openstack (for montreal user group)Initial presentation of openstack (for montreal user group)
Initial presentation of openstack (for montreal user group)
 
FIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
 
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)
Upstream Consultancy and Ceph RadosGW/S3 (AMTEGA Ceph Day 2018)
 
NATS Connect Live!
NATS Connect Live!NATS Connect Live!
NATS Connect Live!
 
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
 

Similaire à How to deploy a smart city platform?

DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteMatt Ray
 
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfImmutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfnull - The Open Security Community
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platformMichael Stephenson
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraDaniel Palstra
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSFrank Munz
 
Docker 1.9 Feature Overview
Docker 1.9 Feature OverviewDocker 1.9 Feature Overview
Docker 1.9 Feature OverviewSreenivas Makam
 
NixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxNixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxRob Vermaas
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Laure Vergeron
 
Dockerizing Rails
Dockerizing RailsDockerizing Rails
Dockerizing RailsiGbanam
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedDataStax Academy
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on dockerWei Ting Chen
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Chris Ciborowski
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformStefan Oehrli
 

Similaire à How to deploy a smart city platform? (20)

DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat Ignite
 
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfImmutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
 
Docker 1.9 Feature Overview
Docker 1.9 Feature OverviewDocker 1.9 Feature Overview
Docker 1.9 Feature Overview
 
NixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxNixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBlox
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
 
Docker. General overview
Docker. General overviewDocker. General overview
Docker. General overview
 
Dockerizing Rails
Dockerizing RailsDockerizing Rails
Dockerizing Rails
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with Terraform
 

Plus de Fernando Lopez Aguilar

Building the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE LabBuilding the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE LabFernando Lopez Aguilar
 
Operational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloudOperational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloudFernando Lopez Aguilar
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoFernando Lopez Aguilar
 
FIWARE Identity Management and Access Control
FIWARE Identity Management and Access ControlFIWARE Identity Management and Access Control
FIWARE Identity Management and Access ControlFernando Lopez Aguilar
 
Cloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sectorCloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sectorFernando Lopez Aguilar
 
Context Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basicsContext Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basicsFernando Lopez Aguilar
 
Setting up your virtual infrastructure using FIWARE Lab Cloud
Setting up your virtual infrastructure using FIWARE Lab CloudSetting up your virtual infrastructure using FIWARE Lab Cloud
Setting up your virtual infrastructure using FIWARE Lab CloudFernando Lopez Aguilar
 

Plus de Fernando Lopez Aguilar (20)

Introduction to FIWARE technology
Introduction to FIWARE  technologyIntroduction to FIWARE  technology
Introduction to FIWARE technology
 
DW2020 Data Models - FIWARE Platform
DW2020 Data Models - FIWARE PlatformDW2020 Data Models - FIWARE Platform
DW2020 Data Models - FIWARE Platform
 
FIWARE and Smart Data Models
FIWARE and Smart Data ModelsFIWARE and Smart Data Models
FIWARE and Smart Data Models
 
Building the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE LabBuilding the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE Lab
 
Data Modeling with NGSI, NGSI-LD
Data Modeling with NGSI, NGSI-LDData Modeling with NGSI, NGSI-LD
Data Modeling with NGSI, NGSI-LD
 
FIWARE and Robotics
FIWARE and RoboticsFIWARE and Robotics
FIWARE and Robotics
 
Operational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloudOperational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloud
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
 
FIWARE Identity Management and Access Control
FIWARE Identity Management and Access ControlFIWARE Identity Management and Access Control
FIWARE Identity Management and Access Control
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
Core Context Management
Core Context ManagementCore Context Management
Core Context Management
 
What is an IoT Agent
What is an IoT AgentWhat is an IoT Agent
What is an IoT Agent
 
FIWARE Overview
FIWARE OverviewFIWARE Overview
FIWARE Overview
 
Overview of the FIWARE Ecosystem
Overview of the FIWARE EcosystemOverview of the FIWARE Ecosystem
Overview of the FIWARE Ecosystem
 
Cloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sectorCloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sector
 
Berlin OpenStack Summit'18
Berlin OpenStack Summit'18Berlin OpenStack Summit'18
Berlin OpenStack Summit'18
 
Context Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basicsContext Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basics
 
FIWARE IoT Introduction 1
FIWARE IoT Introduction 1FIWARE IoT Introduction 1
FIWARE IoT Introduction 1
 
Introduction to FIWARE IoT
Introduction to FIWARE IoTIntroduction to FIWARE IoT
Introduction to FIWARE IoT
 
Setting up your virtual infrastructure using FIWARE Lab Cloud
Setting up your virtual infrastructure using FIWARE Lab CloudSetting up your virtual infrastructure using FIWARE Lab Cloud
Setting up your virtual infrastructure using FIWARE Lab Cloud
 

Dernier

Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceDelhi Call girls
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...SUHANI PANDEY
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.soniya singh
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 

Dernier (20)

Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 

How to deploy a smart city platform?

  • 1. How to deploy a Smart City Platform (Terraform + Ansible + Docker Swarm) Fernando López FIWARE Cloud & Platform Senior Expert fernando.lopez@fiware.org @flopezaguilar https://www.slideshare.net/flopezaguilar https://github.com/flopezag
  • 2. About me ▪ More than 35 years of programming experience (more than 12 programming languages) ▪ More than 10 years working with OpenStack and AWS ▪ Web Development, Message Queues, Functional Programming, Big Data and Data Engineering ▪ Developer, Team Leader, QA Manager, Project & Product Manager ▪ DevOps(Secs) activities with more than 6 years ▪ Now Cloud and IoT Platform Senior Expert in FF ▪ Principal Cloud Architect in FIWARE Lab ▪ Evangelist of FIWARE Technology and TSC Member of FIWARE Technology ▪ Love Coding, CI & CD and AI/ML 1
  • 3. Why this presentation ▪ I am here to spread the awareness of FIWARE Lab & OpenStack ▪ I want you to use Docker Swarm (or K8S/K3S for other session…) ▪ I want you to love Terraform ▪ I want you to feel my passion with Ansible ▪ I want to show you how to deploy and scale a Smart Solution using all the above (in 40 minutes… ) 2
  • 4. 3 In this talk, we will see how to deploy a Smart City platform…
  • 5. Hands up ▪ Who’s using Docker (… yet)? ▪ Who’s using Docker Swarm or Kubernetes? ▪ Who’s using Terraform? ▪ Who’s using Ansible? ▪ Who’s not played with any of them, and would love to? 4
  • 6. 5 Docker allow you to build and run code in containers
  • 7. 6 Containers are like lightweight Virtual Machines
  • 8. 7 Like an isolated process that happens to be an Operating System
  • 9. Architecture solution of a Smart City Platform (beta…) 8 ▪ IoT Agent to transform IoT Devices to NGSI-[v2, LD] protocol. ▪ Orion Context Broker -> Keystone Broker Message ▪ Data persistency into historical Database using Cygnus ▪ PEP Proxy support with Wilma ▪ Identity Management with Keyrock.
  • 10. Architectural issues or the Nightmare of the deployments 9 ▪ Manual deployment. ▪ Security, security, security…. ▪ Manual provision of infrastructure ▪ Manual configuration of infrastructure ▪ HA, scaling, replication ▪ Persistency of data in ephemeral environments
  • 12. Docker Compose ▪ Define multi-container setup ▪ docker-compose.yml ▪ Beats running multiple docker run commands ▪ Can specify multiple Dockerfiles ▪ docker-compose up … iacta alea est 11
  • 13. 12 Running N containers on M machines? Independent Docker hosts?
  • 14. Containers manually allocated on multiple nodes ▪ Non-linear resources usage ▪ No service discovery, hardcoded configurations ▪ Manual reaction to failures… OMG!!! ▪ Storage on a node? on several? ▪ Manually integrate to network storage? ▪ Security … ▪ How is the deployment process? 13
  • 16. What is Container Orchestration? ▪ Cluster management ▪ Scaling ▪ Service discovery ▪ Load balancing ▪ Networking ▪ Security ▪ Rolling updates ▪ Storage 15 ▪ Configuration ▪ Secrets ▪ …
  • 18. Docker Swarm ▪ Cluster management integrated with Docker Engine ▪ Decentralized design ▪ Declarative service model ▪ Scaling ▪ Desired state reconciliation ▪ Multi-host networking ▪ Service discovery ▪ Load balancing ▪ Secure by default ▪ Rolling updates 17
  • 19. Core concepts ▪ Swarm ▪ Node ▪ Service ▪ Tasks ▪ Load balancing 18
  • 20. How nodes work 19 Source: https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
  • 21. How services work 20 Source: https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/ swarm manager 3 Orion CB replicas service orion.1 orion:latest orion.2 orion:latest orion.3 orion:latest swarm worker 1 swarm worker 2 swarm worker 3 • Image ▪ Exposing external ports ▪ Overlay network for connecting to other services ▪ CPU and memory limits and reservations ▪ Update policy ▪ Number of replicas ▪ Global services
  • 22. Docker Swarm network 21 Manager Manager Manager Worker Worker Worker Overlay 10.0.0.0/24 Develop edition Production edition
  • 24. 23
  • 26. 25 Changing servers in production produce inconsistencies and complex problems
  • 28. Infrastructure as Code ▪ Rotate machines in and out of service • Create process to create new servers quickly • Use the code to destroy and replace them whenever it is needed ▪ How • Base images (cloud provider) • Infrastructure Management Tool (Terraform) • Configuration Management Tool (Ansible) 27
  • 29. 28 Terraform is a tool for provisioning infrastructure
  • 30. Terraform ▪ Tool to create and destroy infrastructure component ▪ Describe all infrastructure components by text • Virtual Machines • Networks • Firewalls, Load Balancers, … • … ▪ Multi-Clouds provider support 29
  • 31. Benefits ▪ Reproducible infrastructure ▪ Versioned infrastructure ▪ Validated infrastructure ▪ Documented infrastructure ▪ Infrastructure changes become visible ▪ Reusable infrastructure ▪ Use a declarative language ▪ Incremental changes to existing infrastructure 30
  • 32. 31 Ansible allows automatic configuration of infrastructure
  • 33. Ansible ▪ Idempotent machine setup ▪ Define how things should be ▪ Support parallel execution ▪ Only needed python and ssh connectivity ▪ The same config is used for dev, test, and production. ▪ Ensures consistency and a known working config. ▪ Apps and environments are provisioned on demand. ▪ Reduces the potential for human error 32
  • 35. 34 Dockerfile Playbook Terraform Plan Docker Compose push Docker Image Server 1 GitHub Server 2 Server 3 … TLS TLS TLS HA deployments
  • 36. 35 Problems and barriers in the development and implementation phase of the platform
  • 37. Problems and barriers ▪ Environment provisioning ▪ Manual testing ▪ Manual deployments ▪ Planning in a DevOps environment ▪ DevOps and suppliers ▪ DevOps and governance ▪ No integrated tools architecture ▪ Manual releases ▪ No service virtualization ▪ Large releases ▪ Inconsistent environments 36 ▪ Limited transparency ▪ Manual processes ▪ Collaboration between development and operations ▪ No DevOps vision or strategy ▪ No production-like environments ▪ Waste in existing processes ▪ No standard SCM repository ▪ …
  • 38. Problems and barriers ▪ There are overlapping between some of them (e.g. manual operations). ▪ Some challenges focus on people, some on process, and some on technology. ▪ Others focus on the enterprise rather than a team. ▪ Majority of the issues are DevOps related operations • Automate where appropriate • Automated deployments • Automated testing • Standardized DevOps ecosystem 37
  • 39. PoC ▪ GitHub project https://github.com/flopezag/fiware-university ▪ Steps: • Automatic deployment of virtual machines • Automatic configuration of them • Provision of Docker Engines • Configuration of Docker Swarm 38
  • 40. 39
  • 41. Thank you! http://fiware.org Follow @FIWARE on Twitter Fernando López FIWARE Cloud & Platform Senior Expert fernando.lopez@fiware.org @flopezaguilar https://www.slideshare.net/flopezaguilar https://github.com/flopezag