SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Iguane Solutions | Public
Iguane Solutions ©2019
Iguane Solutions
Iguane Solutions ©2019 - all rights reserved
2
Our contribution to “Goca”
Jean-Philippe Fourès
Iguane Solutions
Agenda
3
Iguane Solutions ©2019 - all rights reserved
● Iguane Solutions small introduction
● Goca contribution
○ Goca introduction
○ Details of our contribution
○ Roadmap
● Example of applications using Goca
1. Company Introduction
4
Iguane Solutions
Iguane Solutions ©2019 - all rights reserved
Iguane Solutions
5
•Network & CDN
•>200 racks in 3 DCs
•OpenNebula clusters
• Infrastructure Expert (Network, Hardware, Storage)
• “DevOps” culture: everything is automated
• Our tools are Open Source based:
CI/CD, Infra as code, metrology, Cloud
• 1 OpenNebula cluster (2 very soon ☺) in Paris:
○ 10 KVM nodes (580 vCPU, 3.6 TB RAM)
○ Storpool for performance Storage
• Cloud Hybridation specialist:
Public / Private or Physical / Virtual
•Network & CDN
•>5 racks
•Network & CDN
•>10 racks
•Network & CDN
•>5 racks
•Network & CDN
•>10 racks
1.1 Who are we ?
Founded in 2000, HQ in Paris, France
Iguane Solutions ©2019 - all rights reserved
66
Iguane Solutions
● For 7 years, IG1 cloud has been using VMware but:
○ Licence are expensive
○ Troubleshooting VSAN is a nightmare (and it is a black box)
○ VMware has lots of features => complexity
1.2 Iguane and One
Iguane Solutions ©2019 - all rights reserved
}
● In 2018, development of a new cloud service
○ Simpler than VMware
○ API friendly
○ Easy to deploy, to extend, to manage, to maintain and to hack
around
○ Able to manage: VMware clusters and Public clouds
=> End of 2018: deployment of our first cluster based on OpenNebula
In parallel to the deployment: Contribution to Goca and development tools using it
7
Iguane Solutions
2. Goca
Iguane Solutions ©2019 - all rights reserved
88
Iguane Solutions
2.1 Introduction to Goca
Iguane Solutions ©2019 - all rights reserved
OCA (OpenNebula Cloud API)
(ruby, java, python, golang)
99
Iguane Solutions
2.1 Introduction to Goca
Iguane Solutions ©2019 - all rights reserved
What is Goca ? Why Goca instead of Ruby or
Python API ?
Golang
Wrapper on top of XML RPC
API
Written in Golang
Go + OCA = GOCA
Add helpers to ease XML RPC
instructions
Python API not maintained
Not Ruby friendly:
Sorry Guys
Golang: growing language in
area of backend development
https://talks.golang.org/2014/gocon-tokyo.slide#16
1010
Iguane Solutions
2.2 Our contribution
Iguane Solutions ©2019 - all rights reserved
Rewrite XML mapping to parse and build
entities data
● Change the XML handling package and add
structures to map XML content
● Add dynamic management of template parts
Rework Architecture: adding a controller layer
● Better split of concerns, client and controller
● Modify the API to access the resources in a
controller centric way
Rework of the XML-RPC client
● Give the control of the client to the user:
○ Client externalization,
○ Possible to extend it
● Leverage the use of the initial XML-RPC:
○ Manage only XML-RPC in XML-RPC package
○ Manage HTTP in the client directly
Rewrite the error management
● Enable fine-grained management of errors with
types and codes
● Better error handling:
Don’t kill everyone on a package error
1111
Iguane Solutions
2.3 Goca Organization
Iguane Solutions ©2019 - all rights reserved
Goca subpackages
OpenNebula cluster
“errors”:
Error management package
“schema”:
Package containing all XML
structures defined in
different packages. Each
package matches an
OpenNebula object
“goca”:
It contains a file per
object family api call.
client.go manages
HTTP connection
controller.go
manages resources
1212
Iguane Solutions
2.4 Goca workflow
Iguane Solutions ©2019 - all rights reserved
How it works ?
OpenNebula
/RPC2
client
Model
VM
Controller
group
...
ask client to call
one.vm.info
with value ‘42’
Controller eases objects manipulation
and parsing.
An application only needs to “play”
with the controller to perform queries
to OpenNebula
Model, here is the client which
performs HTTP requests to
OpenNebula.
It builds XML requests (session, XML
formatting) and HTTP layer.
# application code to get
# info for VM 42
cli = goca.NewClient(...)
c =
goca.NewController(cli)
vm = c.VM(42).Info() HTTP request to
OpenNebula XML
RPC endpoint
Goca
1313
Iguane Solutions
2.5 Roadmap Ideas
Iguane Solutions ©2019 - all rights reserved
Improve Tests - CI/CD
● Add more test cases to improve reliability and code
coverage on missing entities
● Rewrite existing tests according to Go coding style, and
consistently across entities
● Add a complete CI to test some scenarios with HTTP
request to a miniOne in a container
Increase the coverage of the XML-RPC API
● Highlights non-covered methods (missing tests case)
● Highlights unimplemented methods (dead code)
● Detect breaking changes, implement fallback methods
● Bug fixes
Increase the user friendliness of the code
● Make the code more readable, improve code comments
● Try to minimize boilerplate code on developer side.
For instance: type conversions
● Minimize the user need to read the documentation.
For instance: remove variable parameters handling
New functionalities
● Allow to filter entities on various criterias as template
elements for instance
● Contribute to the development of OpenNebula new
functionalities
Suggestions are welcomed
3. Applications
Iguane Solutions
14
Iguane Solutions ©2019 - all rights reserved
1515
Iguane Solutions
3.1 Terraform Provider
Iguane Solutions ©2019 - all rights reserved
Important note:
Runtastic and Blackberry developed an OpenNebula provider using XML RPC calls directly before
goca merge into One repository.
● Software developed by Hashicorp:
Commonly used to deploy
Infrastructure on Public clouds thanks
to a large ecosystem of providers:
AWS, GCP, Azure, …
● Written in Golang, it offers APIs to
write custom providers easily
Thanks to the Goca, we initiated the
development of the OpenNebula Provider.
Tested with
● Terraform version: 0.12+
● OpenNebula 5.8
+
Official OpenNebula Add-on since June 2019!
1616
Iguane Solutions
3.1 Terraform Provider
Iguane Solutions ©2019 - all rights reserved
Group Image Virtual
Network
Security
Group
VDC VM
Template
VM
For more details, issues, roadmap, contribution are welcomed:
https://github.com/OpenNebula/terraform-provider-opennebula
October 2018 June 2019 September 2019
Major steps history
Internal beta release
Added as
OpenNebula Add-on
Submission to
Terraform
Contribution to Goca
Validation of first resources
Resources currently supported:
Official in Terraform
Hopefully:
December 2019
1717
Iguane Solutions
3.1 Terraform Provider
Iguane Solutions ©2019 - all rights reserved
Goca used subpackages
OpenNebula cluster
schema:
Terraform provider uses schema
packages linked to goca files and
permissions.go to manage object
permissions
quota.goto manage group quotas
lock.goto manage lock on images
“goca”:
Each terraform resources
matches with an
OpenNebula object
1818
Iguane Solutions
Sismograf:
● Metrology agent, developed
internally, deployed on each
monitored host or VM
● Metrics are then collected by our
Metrology tool: Sismology
● Several plugins available to
monitor system and common
application metrics:
Sismograf plugin for OpenNebula
has been developed to get usage
metrics of our OpenNebula
clusters
3.2 Sismograf Plugin
Iguane Solutions ©2019 - all rights reserved
OpenNebula Metrics into Iguane Solutions Metrology
OpenNebula Fronts
Sismograf agents to
collect OpenNebula
metrics
VMs
on OpenNebula
Sismograf agents to
collect VM metrics
Iguane Sismology:
Metrology system
1919
Iguane Solutions
3.2 Sismograf Plugin
Iguane Solutions ©2019 - all rights reserved
Goca used subpackages
OpenNebula cluster
“goca”:
It is used in the Sismograf
plugin dedicated to
OpenNebula.
It gets all metrics of our
cloud.
It mainly use Info API calls.
schema:
Sismograf OpenNebula plugin uses
schema packages linked to goca to get
metrics on the various objects
it also uses quota.goand snapshot.go
because we also have metrics on quotas
and size of a snapshot.
Questions ?
Iguane Solutions
20
Iguane Solutions ©2019 - all rights reserved
Iguane Solutions ©2019

Más contenido relacionado

La actualidad más candente

Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 

La actualidad más candente (20)

Kubernetes SDN performance and architecture
Kubernetes SDN performance and architectureKubernetes SDN performance and architecture
Kubernetes SDN performance and architecture
 
VOID19 Cloud Transformation at Viettel accelerate faster with open infrastru...
VOID19 Cloud Transformation at Viettel  accelerate faster with open infrastru...VOID19 Cloud Transformation at Viettel  accelerate faster with open infrastru...
VOID19 Cloud Transformation at Viettel accelerate faster with open infrastru...
 
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
 
Networking For Nested Containers: Magnum, Kuryr, Neutron Integration
Networking For Nested Containers: Magnum, Kuryr, Neutron IntegrationNetworking For Nested Containers: Magnum, Kuryr, Neutron Integration
Networking For Nested Containers: Magnum, Kuryr, Neutron Integration
 
Let's Talk about Packet
Let's Talk about PacketLet's Talk about Packet
Let's Talk about Packet
 
Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016
 
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
 
OpenStack Journey in Tieto Elastic Cloud
OpenStack Journey in Tieto Elastic CloudOpenStack Journey in Tieto Elastic Cloud
OpenStack Journey in Tieto Elastic Cloud
 
8.cncf en
8.cncf  en8.cncf  en
8.cncf en
 
Nova Updates - Liberty Edition
Nova Updates - Liberty EditionNova Updates - Liberty Edition
Nova Updates - Liberty Edition
 
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
 
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
 
Onug lunch talk may 12 2015 no video
Onug lunch talk may 12 2015 no videoOnug lunch talk may 12 2015 no video
Onug lunch talk may 12 2015 no video
 
'Dockerizing' within enterprises
'Dockerizing' within enterprises'Dockerizing' within enterprises
'Dockerizing' within enterprises
 
OpenNebula Conf 2014 | Practical experiences with OpenNebula for cloudifying ...
OpenNebula Conf 2014 | Practical experiences with OpenNebula for cloudifying ...OpenNebula Conf 2014 | Practical experiences with OpenNebula for cloudifying ...
OpenNebula Conf 2014 | Practical experiences with OpenNebula for cloudifying ...
 
How we built Packet's bare metal cloud platform
How we built Packet's bare metal cloud platformHow we built Packet's bare metal cloud platform
How we built Packet's bare metal cloud platform
 
What's Next in OpenStack? A Glimpse At The Roadmap
What's Next in OpenStack? A Glimpse At The RoadmapWhat's Next in OpenStack? A Glimpse At The Roadmap
What's Next in OpenStack? A Glimpse At The Roadmap
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Welcome talk unleashing the future of open-source enterprise cloud computing
Welcome talk   unleashing the future of open-source enterprise cloud computingWelcome talk   unleashing the future of open-source enterprise cloud computing
Welcome talk unleashing the future of open-source enterprise cloud computing
 

Similar a OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Philippe Fourès - Iguane Solutions

Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Chris Jang
 

Similar a OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Philippe Fourès - Iguane Solutions (20)

GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
Microservices at Mercari
Microservices at MercariMicroservices at Mercari
Microservices at Mercari
 
Google Cloud Platform Solutions for DevOps Engineers
Google Cloud Platform Solutions  for DevOps EngineersGoogle Cloud Platform Solutions  for DevOps Engineers
Google Cloud Platform Solutions for DevOps Engineers
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
Grilo
GriloGrilo
Grilo
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
Session 4 GCCP.pptx
Session 4 GCCP.pptxSession 4 GCCP.pptx
Session 4 GCCP.pptx
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Secure Infrastructure Provisioning with Terraform Cloud, Vault + GitLab CI
Secure Infrastructure Provisioning with Terraform Cloud, Vault + GitLab CISecure Infrastructure Provisioning with Terraform Cloud, Vault + GitLab CI
Secure Infrastructure Provisioning with Terraform Cloud, Vault + GitLab CI
 
Oracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native AppOracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native App
 
How google cloud platform can benefit devops?
How google cloud platform can benefit devops?How google cloud platform can benefit devops?
How google cloud platform can benefit devops?
 

Más de OpenNebula Project

OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebula Project
 

Más de OpenNebula Project (20)

OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
 
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
 
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
 
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
 
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAFOpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
 
Replacing vCloud with OpenNebula
Replacing vCloud with OpenNebulaReplacing vCloud with OpenNebula
Replacing vCloud with OpenNebula
 
NTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do ItNTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do It
 
OpenNebula from the Perspective of an ISP
OpenNebula from the Perspective of an ISPOpenNebula from the Perspective of an ISP
OpenNebula from the Perspective of an ISP
 
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
NTS CAPTAIN / OpenNebula at Julius Blum GmbHNTS CAPTAIN / OpenNebula at Julius Blum GmbH
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
 
Performant and Resilient Storage: The Open Source & Linux Way
Performant and Resilient Storage: The Open Source & Linux WayPerformant and Resilient Storage: The Open Source & Linux Way
Performant and Resilient Storage: The Open Source & Linux Way
 
NetApp Hybrid Cloud with OpenNebula
NetApp Hybrid Cloud with OpenNebulaNetApp Hybrid Cloud with OpenNebula
NetApp Hybrid Cloud with OpenNebula
 
NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10
 
Security for Private Cloud Environments
Security for Private Cloud EnvironmentsSecurity for Private Cloud Environments
Security for Private Cloud Environments
 
CheckPoint R80.30 Installation on OpenNebula
CheckPoint R80.30 Installation on OpenNebulaCheckPoint R80.30 Installation on OpenNebula
CheckPoint R80.30 Installation on OpenNebula
 
DE-CIX: CloudConnectivity
DE-CIX: CloudConnectivityDE-CIX: CloudConnectivity
DE-CIX: CloudConnectivity
 
DDC Demo
DDC DemoDDC Demo
DDC Demo
 
Cloud Disaggregation with OpenNebula
Cloud Disaggregation with OpenNebulaCloud Disaggregation with OpenNebula
Cloud Disaggregation with OpenNebula
 
OpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful CloudsOpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful Clouds
 
Nested virtualization & PCI pass-through
Nested virtualization & PCI pass-throughNested virtualization & PCI pass-through
Nested virtualization & PCI pass-through
 
A Data Pro - Project Serendipity
A Data Pro - Project Serendipity A Data Pro - Project Serendipity
A Data Pro - Project Serendipity
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Philippe Fourès - Iguane Solutions

  • 1. Iguane Solutions | Public Iguane Solutions ©2019
  • 2. Iguane Solutions Iguane Solutions ©2019 - all rights reserved 2 Our contribution to “Goca” Jean-Philippe Fourès
  • 3. Iguane Solutions Agenda 3 Iguane Solutions ©2019 - all rights reserved ● Iguane Solutions small introduction ● Goca contribution ○ Goca introduction ○ Details of our contribution ○ Roadmap ● Example of applications using Goca
  • 4. 1. Company Introduction 4 Iguane Solutions Iguane Solutions ©2019 - all rights reserved
  • 5. Iguane Solutions 5 •Network & CDN •>200 racks in 3 DCs •OpenNebula clusters • Infrastructure Expert (Network, Hardware, Storage) • “DevOps” culture: everything is automated • Our tools are Open Source based: CI/CD, Infra as code, metrology, Cloud • 1 OpenNebula cluster (2 very soon ☺) in Paris: ○ 10 KVM nodes (580 vCPU, 3.6 TB RAM) ○ Storpool for performance Storage • Cloud Hybridation specialist: Public / Private or Physical / Virtual •Network & CDN •>5 racks •Network & CDN •>10 racks •Network & CDN •>5 racks •Network & CDN •>10 racks 1.1 Who are we ? Founded in 2000, HQ in Paris, France Iguane Solutions ©2019 - all rights reserved
  • 6. 66 Iguane Solutions ● For 7 years, IG1 cloud has been using VMware but: ○ Licence are expensive ○ Troubleshooting VSAN is a nightmare (and it is a black box) ○ VMware has lots of features => complexity 1.2 Iguane and One Iguane Solutions ©2019 - all rights reserved } ● In 2018, development of a new cloud service ○ Simpler than VMware ○ API friendly ○ Easy to deploy, to extend, to manage, to maintain and to hack around ○ Able to manage: VMware clusters and Public clouds => End of 2018: deployment of our first cluster based on OpenNebula In parallel to the deployment: Contribution to Goca and development tools using it
  • 7. 7 Iguane Solutions 2. Goca Iguane Solutions ©2019 - all rights reserved
  • 8. 88 Iguane Solutions 2.1 Introduction to Goca Iguane Solutions ©2019 - all rights reserved OCA (OpenNebula Cloud API) (ruby, java, python, golang)
  • 9. 99 Iguane Solutions 2.1 Introduction to Goca Iguane Solutions ©2019 - all rights reserved What is Goca ? Why Goca instead of Ruby or Python API ? Golang Wrapper on top of XML RPC API Written in Golang Go + OCA = GOCA Add helpers to ease XML RPC instructions Python API not maintained Not Ruby friendly: Sorry Guys Golang: growing language in area of backend development https://talks.golang.org/2014/gocon-tokyo.slide#16
  • 10. 1010 Iguane Solutions 2.2 Our contribution Iguane Solutions ©2019 - all rights reserved Rewrite XML mapping to parse and build entities data ● Change the XML handling package and add structures to map XML content ● Add dynamic management of template parts Rework Architecture: adding a controller layer ● Better split of concerns, client and controller ● Modify the API to access the resources in a controller centric way Rework of the XML-RPC client ● Give the control of the client to the user: ○ Client externalization, ○ Possible to extend it ● Leverage the use of the initial XML-RPC: ○ Manage only XML-RPC in XML-RPC package ○ Manage HTTP in the client directly Rewrite the error management ● Enable fine-grained management of errors with types and codes ● Better error handling: Don’t kill everyone on a package error
  • 11. 1111 Iguane Solutions 2.3 Goca Organization Iguane Solutions ©2019 - all rights reserved Goca subpackages OpenNebula cluster “errors”: Error management package “schema”: Package containing all XML structures defined in different packages. Each package matches an OpenNebula object “goca”: It contains a file per object family api call. client.go manages HTTP connection controller.go manages resources
  • 12. 1212 Iguane Solutions 2.4 Goca workflow Iguane Solutions ©2019 - all rights reserved How it works ? OpenNebula /RPC2 client Model VM Controller group ... ask client to call one.vm.info with value ‘42’ Controller eases objects manipulation and parsing. An application only needs to “play” with the controller to perform queries to OpenNebula Model, here is the client which performs HTTP requests to OpenNebula. It builds XML requests (session, XML formatting) and HTTP layer. # application code to get # info for VM 42 cli = goca.NewClient(...) c = goca.NewController(cli) vm = c.VM(42).Info() HTTP request to OpenNebula XML RPC endpoint Goca
  • 13. 1313 Iguane Solutions 2.5 Roadmap Ideas Iguane Solutions ©2019 - all rights reserved Improve Tests - CI/CD ● Add more test cases to improve reliability and code coverage on missing entities ● Rewrite existing tests according to Go coding style, and consistently across entities ● Add a complete CI to test some scenarios with HTTP request to a miniOne in a container Increase the coverage of the XML-RPC API ● Highlights non-covered methods (missing tests case) ● Highlights unimplemented methods (dead code) ● Detect breaking changes, implement fallback methods ● Bug fixes Increase the user friendliness of the code ● Make the code more readable, improve code comments ● Try to minimize boilerplate code on developer side. For instance: type conversions ● Minimize the user need to read the documentation. For instance: remove variable parameters handling New functionalities ● Allow to filter entities on various criterias as template elements for instance ● Contribute to the development of OpenNebula new functionalities Suggestions are welcomed
  • 14. 3. Applications Iguane Solutions 14 Iguane Solutions ©2019 - all rights reserved
  • 15. 1515 Iguane Solutions 3.1 Terraform Provider Iguane Solutions ©2019 - all rights reserved Important note: Runtastic and Blackberry developed an OpenNebula provider using XML RPC calls directly before goca merge into One repository. ● Software developed by Hashicorp: Commonly used to deploy Infrastructure on Public clouds thanks to a large ecosystem of providers: AWS, GCP, Azure, … ● Written in Golang, it offers APIs to write custom providers easily Thanks to the Goca, we initiated the development of the OpenNebula Provider. Tested with ● Terraform version: 0.12+ ● OpenNebula 5.8 + Official OpenNebula Add-on since June 2019!
  • 16. 1616 Iguane Solutions 3.1 Terraform Provider Iguane Solutions ©2019 - all rights reserved Group Image Virtual Network Security Group VDC VM Template VM For more details, issues, roadmap, contribution are welcomed: https://github.com/OpenNebula/terraform-provider-opennebula October 2018 June 2019 September 2019 Major steps history Internal beta release Added as OpenNebula Add-on Submission to Terraform Contribution to Goca Validation of first resources Resources currently supported: Official in Terraform Hopefully: December 2019
  • 17. 1717 Iguane Solutions 3.1 Terraform Provider Iguane Solutions ©2019 - all rights reserved Goca used subpackages OpenNebula cluster schema: Terraform provider uses schema packages linked to goca files and permissions.go to manage object permissions quota.goto manage group quotas lock.goto manage lock on images “goca”: Each terraform resources matches with an OpenNebula object
  • 18. 1818 Iguane Solutions Sismograf: ● Metrology agent, developed internally, deployed on each monitored host or VM ● Metrics are then collected by our Metrology tool: Sismology ● Several plugins available to monitor system and common application metrics: Sismograf plugin for OpenNebula has been developed to get usage metrics of our OpenNebula clusters 3.2 Sismograf Plugin Iguane Solutions ©2019 - all rights reserved OpenNebula Metrics into Iguane Solutions Metrology OpenNebula Fronts Sismograf agents to collect OpenNebula metrics VMs on OpenNebula Sismograf agents to collect VM metrics Iguane Sismology: Metrology system
  • 19. 1919 Iguane Solutions 3.2 Sismograf Plugin Iguane Solutions ©2019 - all rights reserved Goca used subpackages OpenNebula cluster “goca”: It is used in the Sismograf plugin dedicated to OpenNebula. It gets all metrics of our cloud. It mainly use Info API calls. schema: Sismograf OpenNebula plugin uses schema packages linked to goca to get metrics on the various objects it also uses quota.goand snapshot.go because we also have metrics on quotas and size of a snapshot.
  • 20. Questions ? Iguane Solutions 20 Iguane Solutions ©2019 - all rights reserved