[Fiware-cloud-containers] FIWARE developer experience with Docker

LOPEZ RAMOS Mario mario.lopezramos at thalesgroup.com
Thu Jul 9 09:52:24 CEST 2015


Dear Alex and all,

I agree with your approach:

-          documentation and examples of a CLI-based solution first (with potential simplification/automation tasks),

-          and later a WebUI-based solution that needs to be further discussed.

Could you share with us the list of the potential enhancements you are considering for the CLI-based solution? A Google Doc would be a good way for us to add our suggestions.

I will join the telco on the 20th.

Best regards,

Mario

De : fiware-cloud-containers-bounces at lists.fiware.org [mailto:fiware-cloud-containers-bounces at lists.fiware.org] De la part de Alex Glikson
Envoyé : mercredi 8 juillet 2015 15:42
À : Juanjo Hierro
Cc : fiware-cloud-containers at lists.fiware.org
Objet : Re: [Fiware-cloud-containers] FIWARE developer experience with Docker

Dear Juanjo, Philipp, all,

Tomorrow would be a too short notice for me.
Also, the idea was to iterate on the usage scenarios over email, and schedule a meeting to discuss the outcomes of the discussion, open questions and next steps.

Regarding reuse of FIC2Lab assets, from user experience perspective -- there are two main approaches to consider. CLI-based and WebUI-based.
>From CLI-based usage perspective -- we plan to adopt the approach FIC2Lab is proposing, using docker-machine etc, and make it the 'official' way to get started with Docker on FIWARE Lab (on all the nodes). In parallel, from the cloud hosting enablement perspective, we will start addressing the gaps which can not be easily addressed by this simplistic approach (very briefly outlined on the last slide of Kenneth's deck).
>From WebUI perspective -- we would need to align with the existing FIWARE Portal UI. Also, we would need to choose underlying technologies and APIs for which we are confident enough regarding their long-term sustainability. I am not sure whether the Panamax-based solution developed in FIC2Lab meets these criteria. We can (and should) certainly discuss the options in more detail (here is the first point to discuss, I guess -- but we need to do the 'homework' first, being more precise of what usage scenarios from the list below we are trying to address, etc).

In the very short term, we need to decide on priorities. For example, if our top-priority goal is to make it easy to deploy GEs/SEs and GE/SE bundles on FIWARE Lab using native docker CLI-based tools -- we can document how to do it (leveraging docker-machine and docker-compose, based on [1] and [2]), and then consider various simplification/automation tasks (we have started making a list of such potential enhancements).

Regards,
Alex

[1] http://www.slideshare.net/knagin/simple-docker-hosting-on-fiware-lab
[2] http://fic2.github.io/runner/

====================================================================================
Alex Glikson
Manager, Cloud Infrastructure Solutions, IBM Haifa Research Lab
Email: glikson at il.ibm.com<mailto:glikson at il.ibm.com> | Phone: +972-4-8281085 | Mobile: +972-54-6466667 | Fax: +972-4-8296112





From:        Juanjo Hierro <juanjose.hierro at telefonica.com<mailto:juanjose.hierro at telefonica.com>>
To:        Philipp Slusallek <philipp.slusallek at dfki.de<mailto:philipp.slusallek at dfki.de>>, Alex Glikson/Haifa/IBM at IBMIL, <fiware-cloud-containers at lists.fiware.org<mailto:fiware-cloud-containers at lists.fiware.org>>
Date:        08/07/2015 10:45 AM
Subject:        Re: [Fiware-cloud-containers] FIWARE developer experience with Docker
________________________________




 I would suggest we setup a confcall to coordinate actions.

 Next architects confcall should be devoted to the discussion on POIs.

 We may schedule the next architects confcall on July 20th on this matter or, try to plan a confcall earlier.

 Next week it is going to be difficult for José Manuel and myself.   José Manuel is travelling to Shangai this Friday and will come back Thursday next week.   Then, Friday 17th wouldn't work for Israel

 We could make it on Thursday from 12:00 to 14:00 or from 14:30 on, starting not later than 16:00 ...  otherwise go for the 20th.

 I have setup a doodle poll with the different options:
http://doodle.com/66zyea2kiuh5vy98

 Cheers,

-- Juanjo
______________________________________________________

Coordinator and Chief Architect, FIWARE platform
CTO Industrial IoT, Telefónica

email: juanjose.hierro at telefonica.com<mailto:juanjose.hierro at telefonica.com>
twitter: @JuanjoHierro

You can follow FIWARE at:
 website:  http://www.fiware.org<http://www.fiware.org/>
 twitter:  @FIWARE
 facebook: http://www.facebook.com/pages/FI-WARE/251366491587242
 linkedIn: http://www.linkedin.com/groups/FIWARE-4239932

On 08/07/15 07:46, Philipp Slusallek wrote:
Hi all,

This all sounds good!

But what happened to your planned next meetings. FIC2 is still highly
interested in working with FIWARE to deploy the infrastructure developed
there (running on FIWARE Lab) also for FIWARE.

I thought the idea was to explore these options in a joint next call.

Best,

                Philipp

Am 30.06.2015 um 22:05 schrieb Juanjo Hierro:

Dear all,

 Thanks Alex for launching these discussions tracks.

 Regarding point (1) as anticipated by Alex, here it is the concrete
plan we aim at implementing to promote usage of docker tools by GE/SE
owners and the broader developer community.

1. Make info about Docker images and instruction to setup docker
   containers linked to FIWARE GEris available in the FIWARE Catalogue:
     * We will specify a general template of a new section which will
       be included in the "Creating instances" tab of entries linked to
       FIWARE GEris.   This section will be elaborate on "Deploying a
       dedicated GE instance using Docker technology"
     * Each FIWARE GEri owner will be asked to setup a Docker image for
       their GEs and register it in Docker Hub.   This task can start
       in parallel to the previous one.
     * Each FIWARE GEri owner will be asked to update the "Creating
       instance" tab of the entry linked to the FIWARE GEri so that it
       provides instructions about deploying a dedicated instance of
       the GEri using docker.   For this purpose, the owner will follow
       the template defined in step 1.
2. We will incorporate the description about how to create FIWARE GEri
   instances and try them using docker within the FIWARE Tour Guide for
   developers (which will effectively become the landing page of
   http://developers.fiware.org<http://developers.fiware.org/>) as a mean to shorten the learning
   curve with FIWARE GEris
     * Somewhere at the beginning of the guided tour, we will explain
       the developer how he can setup the basic docker environment
       either locally or on the FIWARE Lab on which he will be able to
       rely to try the different FIWARE GEris (Group 1 scenarios
       described by Alex)
     * A demo application will be developed that will help the
       developer to try each FIWARE GEri instance deployed using docker
       with concrete data.  Developers will be able to deploy this
       application also using docker.  It is the intention that this
       application will be helpful to show how several FIWARE GEris can
       be used in an integrated way.
     * Each of the chapters of the FIWARE Tour guide for developers
       will integrate a "Try it yourself" section which will help the
       developer to create an instance of the FIWARE GEris referred in
       the chapter and try them.   In addition, developers will be able
       to deploy the demo application, in order to learn from a more
       elaborated example how the FIWARE GEris can be used, and
       providing instructions about how to play with the FIWARE GEris,
       also "tweak" the application.
     * Deployment of integrated FIWARE GEris and the demo application
       will be made feasible using docker composition tools


 José-Manuel Cantera will drive the implementation of these concrete
actions.

 Regarding point 2, Bitergia has already developed a first bundle of
FIWARE GEris deployable using Docker compose (as a whole or
individually).   They will work in extending this bundle integrating
additional FIWARE GEris in collaboration with the corresponding FIWARE
GEri owners.   Bitergia and the ULPG will work together in the
development of a first version of the demo application.   Eventually,
additional partners might be incorporated as additional skills and/or
resources are needed.  We will address first those scenarios dealing
with local deployment, then we will incorporate those related to
deployment on other infrastructures such as the FIWARE Lab as soon as
the necessary preliminary work and/or detailed guidelines are completed
(this would be done under coordination by Alex and I assume we will
leverage on experience developed in FI-Content2).

 Feedback is welcome.

 Best regards,

-- Juanjo

______________________________________________________

Coordinator and Chief Architect, FIWARE platform
CTO Industrial IoT, Telefónica

email: juanjose.hierro at telefonica.com<mailto:juanjose.hierro at telefonica.com>
twitter: @JuanjoHierro

You can follow FIWARE at:
 website:  http://www.fiware.org<http://www.fiware.org/>
 twitter:  @FIWARE
 facebook: http://www.facebook.com/pages/FI-WARE/251366491587242
 linkedIn: http://www.linkedin.com/groups/FIWARE-4239932

On 30/06/15 20:34, Alex Glikson wrote:

Dear partners,

Following the initial discussion at the containers task force, we
identified two follow-on (related) discussion tracks:
1) expected FIWARE Lab user/developer experience with Docker
2) Enhancements to FIWARE Cloud Hosting architecture to support Docker
(and enable requirements derived from #1)

This email refers to topic (1).

I will try to summarize the initial set of usage scenarios that we may
want to support. We can then iterate on this over email, and have a
phone call if needed, when we feel that we are close to a convergence
point.

Please, notice that I've subscribed several additional people relevant
for the discussion (who could provide input related to UI, developers
perspectives and operations perspectives).

*Assumptions*:
Notice that a prerequisite for all the usage scenarios is that all the
FIWARE GEs (and SEs) are packages as Docker images and are kept in a
central repository, preferably the docker hub (under a 'to-be-created'
"fiware" namespace). Also, there is an assumption that the
users/developers would want to work with Docker tools as much as
possible (surfacing some or all of the capabilities via the FIWARE
Cloud Portal too). Juanjo will elaborate on the approach we are
thinking of to promote this with GE/SE owners and the broader
developer community.

*Group 1: Basic Docker environment setup*
Usage scenario #1.1:
A user wants a local Docker runtime on his laptop.
He follows the standard instructions on setting up a docker host
(e.g., running within a VirtalBox VM, using docker-machine / boot2docker)

Usage scenario #1.2:
A user/developer wants to deploy a dedicated Docker VM on FIWARE Lab
(where he would then run various Docker containers).
He uses the standard docker-machine tool, specifying the URI of the
OpenStack Keystone in FIWARE Lab (and additional parameters, as
needed). The tool creates a VM using standard OpenStack APIs (natively
supported by FIWARE Lab) and configures Docker within the VM. The VM
would need to have a public IP (naturally).

*Group 2: Basic life cycle of individual containers running GEs/SEs*
Usage scenario #2.1:
A developer wants to publish (a version of) a GE/SE.
After he is done creating the new Docker image, he pushes the new
version of the GE/SE to Docker hub under corresponding FIWARE
namespace (e.g., fiware/GE/cb-orion). Now the 'latest' version of the
image points to the new version.

Usage scenario #2.2:
A user/developer wants to deploy locally an instance of a certain GE/SE.
He uses the standard docker CLI to locally provision a container,
referring to the corresponding image at Docker hub -- e.g.: /"$ docker
-H boot2docker-vm:2376 run fiware/GE/cb-orion"/

Usage scenario #2.3:
A user/developer wants to deploy an instance of a certain GE/SE within
his Docker VM on FIWARE Lab
He uses the standard docker CLI to provision a container, referring to
the location of his Docker VM as well as the corresponding image at
Docker hub -- e.g.: /"$ docker -H mydocker-vm37.lab.fiware.org:2376
run fiware/GE/cb-orion". /ISSUE: the user would need to open the
corresponding firewall ports in his VM (same as those of the GE/SE, or
following the mapping performed during container provisioning) in
order to make the GE/SE accessible. Ideally, this should be done in a
scalable but secure manner. An easy solution is to open up-front
(during VM provisioning) a range of ports (via setting up
corresponding security group). A more advanced solution is to update
the security group dynamically.

Usage scenario #2.4:
A user/developer wants to update a container comprising certain GE/SE
with the latest version recently published in the dedicated namespace
of the Docker Hub.
He pulls the latest version from the Docker Hub, kills the old
container, and starts a new one (attaching to the same resources).
Note that this would work well when the application is properly
designed for Docker (e.g., the container itself is stateless), and
when the previous version of the container has been provisioned
manually (as in #2, #4 above) by the developer (and he knows which
resources to connect to).

*Group 3: Support for 'bundles' of GEs/SEs that together perform a
certain complex function*
Usage scenario #3.1:
A developer wants to publish (a version of) a 'bundle' of GEs/SEs that
together perform a certain complex function.
He creates a 'template' (e.g., following the format of
docker-compose), referring to the individual GE/SE images as well as
their interdependencies (e.g., links) and other composition
properties. This might be done using a text editor, a Web UI provided
by the FIWARE Cloud (conceptually similar to today's UI for creation
of blueprints), or other tools from Docker ecosystem. He then uploads
the template to the centralized templats repository. Note: it is
likely that docker-compose will be able to use Docker Registry/Hub as
a repository for templates (including versioning, push/pull, etc).

Usage scenario #3.2:
A user wants to provision locally a set of GEs/SEs, using a
pre-defined template (comprising a 'bundle')
He uses the standard docker-compose tool referring to the 'template'
artifcat as well as the local Docker URL.

Usage scenario #3.3:
A user wants to provision a set of GEs/SEs in FIWARE Lab, using a
pre-defined template (comprising a 'bundle')
He uses the standard docker-compose tool referring to the 'template'
artifcat as well as the target Docker URL in FIWARE Lab.
Alternatively, he uses the FIWARE Portal UI to do the same (e.g., with
Murano backend invoking docker-compose).

Usage scenario #3.4:
A user wants to update his Docker environment (local or on FIWARE Lab)
with the latest version of a certain 'bundle'
Note: may require enancements to docker-compose

*Group 4: Advanced scenarios*
Usage scenario #4.1:
A user/developer wants to provision a cluster of VMs on FIWARE Lab
that would host his Docker cluster (managed with Swarm or Kubernetes)
He uses corresponding Murano/Heat template to provision the VMs and to
configure the Docker/Swarm/Kubernetes cluster.

Usage scenario #4.2:
A user/developer wants to access a global instance of a Docker service
in FIWARE Lab (shared, scalable, managed), so that he doesn't need to
manage the corresponding VM(s) by himself.
He authenticates with FIWARE Lab, and starts accessing the FIWARE Lab
Docker API endpoint with the standard Docker tools or FIWARE-specific
tools (as outlined above ).

Usage scenario #4.3:
A user/developer wants to manage access control for Docker images
among FIWARE Lab users.
He starts using the Docker Registry/Hub deployed within the FIWARE Lab.


Notice that this is a very initial list -- I am sure that there are
many inaccuracies and gaps. Feel free to comment.

Thanks,
Alex

====================================================================================
Alex Glikson
Manager, Cloud Infrastructure Solutions, IBM Haifa Research Lab
Email: glikson at il.ibm.com<mailto:glikson at il.ibm.com> | Phone: +972-4-8281085 | Mobile:
+972-54-6466667 | Fax: +972-4-8296112



_______________________________________________
Fiware-cloud-containers mailing list
Fiware-cloud-containers at lists.fiware.org<mailto:Fiware-cloud-containers at lists.fiware.org>
https://lists.fiware.org/listinfo/fiware-cloud-containers



------------------------------------------------------------------------

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario,
puede contener información privilegiada o confidencial y es para uso
exclusivo de la persona o entidad de destino. Si no es usted. el
destinatario indicado, queda notificado de que la lectura, utilización,
divulgación y/o copia sin autorización puede estar prohibida en virtud
de la legislación vigente. Si ha recibido este mensaje por error, le
rogamos que nos lo comunique inmediatamente por esta misma vía y proceda
a su destrucción.

The information contained in this transmission is privileged and
confidential information intended only for the use of the individual or
entity named above. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution
or copying of this communication is strictly prohibited. If you have
received this transmission in error, do not read it. Please immediately
reply to the sender that you have received this communication in error
and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu
destinatário, pode conter informação privilegiada ou confidencial e é
para uso exclusivo da pessoa ou entidade de destino. Se não é vossa
senhoria o destinatário indicado, fica notificado de que a leitura,
utilização, divulgação e/ou cópia sem autorização pode estar proibida em
virtude da legislação vigente. Se recebeu esta mensagem por erro,
rogamos-lhe que nos o comunique imediatamente por esta mesma via e
proceda a sua destruição


_______________________________________________
Fiware-cloud-containers mailing list
Fiware-cloud-containers at lists.fiware.org<mailto:Fiware-cloud-containers at lists.fiware.org>
https://lists.fiware.org/listinfo/fiware-cloud-containers





________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fiware.org/private/fiware-cloud-containers/attachments/20150709/0663d283/attachment.html>


More information about the Fiware-cloud-containers mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy