 Bonjour, je suis Antoine Thomas et avec Angel Boho, nous allons présenter un approche sympathique pour les déploiements de conteneurs. L'idée générale est de faire un produit disponible pour tous, être technique, non-technique, clou, ou autre chose. Je vais commencer avec une présentation de Highland et Alphresco. Nous allons parler d'utilisateurs et d'utiliser des casiers, et d'introduire une solution d'utilisateur, basée sur cela. En tout cas, nous allons faire une présentation plus technique sur comment faire des choses. Je vais revenir avec des conclusions et des questions si nous avons le temps. Highland est une nouvelle membre de la Fondation Linux. Nous avons été un membre de l'Auguste de l'année. Nous sommes un professeur d'utilisateurs de conteneurs. Nous offerterons des services pour retirer tout le papier et tous les problèmes avec l'utilisation des documents et les conteneurs. Nous offerterons des moyens pour les automater. La compagnie est 13 ans. Nous sommes basés à Clive-Land, en Ohio, et nous sommes close à 5000 personnes, avec des offices au monde. Nous avons beaucoup d'utilisateurs, mais l'éducation, l'insurance, le gouvernement et le financement sont le principal marché pour nous, où il y a beaucoup d'actualités, documents et contents. Nous travaillons avec les contrats, les services, etc. Nous avons aussi un nouveau marché, des fabricants, des manufacteurs, et nous savons qu'il y a plein de nouveaux contenus, des vidéos, etc. Nous nous concentrons sur les produits natifs. Nous avons une solution d'open source, les principales sont Alfresco et Nuxio. Nous sommes leaders dans l'électronique, le financement des contenus, et nous travaillons sur une autre solution, une autre solution à l'avenir. Nous sommes aussi un utilisateur d'open source pour un long temps, pour construire des services et des solutions customaires, et nous avons une culture de compréhension légale pour qu'il y ait un récréage pour les clients. Qu'est-ce que l'Alfresco ? Nous utilisons l'Alfresco dans cette démonstration. Nous allons montrer comment déployer le dépannequin. Mais je pense que c'est intéressant pour l'introduction de ce qu'il fait. C'est une solution d'open source pour documents et contenus, c'est décalable. Il y a des performances de search. Vous pouvez ajouter des solutions de process, et vous pouvez intégrer la solution dans votre système d'information. Les solutions comme SharePoint, ACIP, etc. Vous pouvez store, archive, retrieve, search, modifier all your content over time, including a very long period of time. The really interesting fact is that it's improving collaboration between company department, between people. It removes all the low-value tasks around managing content. Let's go into the core of this presentation. To deploy Alfresco, you have some containers. We are using Linux containers. You can also use a solution like Ansible and some to deploy. The purpose of this store is to speak about Docker. As you can see, you have a certain amount of container, so indeed you need a database and stuff like that. The main component is repository, and then you have services around for search, transform, and so on. So depending on your use case, I mean if you think about the customer journey at first, you have some business analysts that would like to evaluate your product. They don't know how to code, they don't know how to deploy some common line stuff into a virtual machine, but they need to take a decision whether Alfresco is a good solution for their business case. In this case, Docker extension is a desktop solution that would allow you to run all the stack of containers and then let your accesses from your browser. This is really for people who are not technical at all. Then you have the tech evaluation. So some tech guy will use Docker occasionally and would like to see how difficult it is or to test some different configuration stuff using Docker Compos. So the left part of the slide are mainly for evaluation of the solution. And on the right side of the slide, you have a production, I mean DevOps mainly. People will actually run Alfresco for your company and for your end users and scale it depending on how many content you add, how many users you add and these kind of things. And then the last case is indeed Alfresco is a really useful solution but it really makes sense if you integrate it into your information system. So at one point you will have to develop components, extensions, use APIs to retrieve and work on content. So Docker Compos SDK in this case is really a good way to provide a software development kit around Alfresco so that your developers can do this integration work. I will let the voice to Angel. Thanks, Antoine. So we are going to try to solve all the different use cases that Antoine described. So the first one is the Docker extension. So we are using this for people that really the most important things is the time to evaluate the project, the easiness to deploy that so I want just to click and test the features of the product without no many dependencies and so on. So this is why we are choosing the Docker extension for that. Remember that Docker extension is still in beta status so we need to wait a bit before providing that for production environments but we are starting to test that. And the only requirement is to have Docker desktop. With that you are able to run Alfresco and just click in a single button you are able to test the platform. So this extension is not yet available in the official marketplace because as I said we are experimenting with that it's working and it's something that you can test but it's not yet official I said. So we are going to run a small demo on that video not because I am refusing cowardly to do it live but I want to skip you the waiting part of that. So just the first thing is to have extensions enabled on your Docker desktop. This works for Linux, for Mac, for Windows and then you have the Alfresco extension and in this Alfresco extension you have only this run button so you don't have anything else. Just click the run button wait for minutes in order to get all the different containers that Antoine was describing running because you know that we need to wait a bit since everything synchronizes enough so we can wait a bit we can also inspect the status of the different containers and after this time Alfresco needs to be tested. So we have all the containers ready and at this point we can start to test the product. So with this single button we are able to deploy a complex product with different containers with relations between all the components and so on. So with that we are able to test the product, we are testing now that this has been deployed as expected and once we finish our evaluation of the product we can restore the system back to the Docker desktop to the original status so we can just go back to the Docker desktop to the extension, click the stop button and everything is as before we started with that. So that is again very easy for the people just to test that with a single button just to get all the features of Alfresco on containers. Once again this is VETA you have the source code tab by label at the end of the presentation the slides are on the application so at the end of the slides you have all the links for all the source code for all the application that we are seeing today so you can go and play with that but remember that this is VETA we develop a UI application the recommendation of Docker is to develop that with React and that material UI components so we are doing in that way and we are using part of the SDK the Docker client part and the navigation part and this allow us to control all the different status of the containers and all the different lifecycle of the different containers the relationships and so on so since we are still developing that we are missing some features like the support for the new Apple Silicon chips we are still working on that we are not deploying all the containers we still need to deploy all the UI containers with the tool and we need also to increase the verbosity we provide more feedback to the user just to guess what is happening on the background and finally the ability to reuse the extension with the time so I want to play that today and tomorrow I want to see exactly the same thing in the same way I left that before so we are working on that and also if you are not still playing with Docker extensions I recommend you to follow this Docker extension pre-cutting guidelines this is what you need to do before pushing your Docker extension in the end is a Docker image to put your Docker image to the Docker marketplace so you can follow that and once that is ready you can be also part of this marketplace ok that was the first one with that we are covering that first use case and now we are moving to the Docker compose so this kind of users want to evaluate the product and they want also something easy to deploy but they don't mind much about the dependencies because they want to like to test that with a technical deployment it has no persistent storage no support for customization but it's something that can be used to test also the product with something that is like opinionated because we are providing the full configuration but you can still deploy that in real life so for that we are providing instructions in the alfresco community download page mainly what you are what you are getting with that is a docker compose jam file and you need to start that but you need docker desktop you need also docker compose install git client and probably the command line so we are creating more barriers for users to test the product so again I am going back to the second video if I am able to find that perfect so this should be the process for evaluating the for a technical evaluation of alfresco just cloning the repository again you have this repository with all the different deployment templates we are cloning the repository then we need to choose the right docker compose configuration that includes some out of the box configurations and default configuration so once we have that we can just the regular command docker compose app and the product is again ready to be used so in this case we are also deploying all the UI part of the product we include reverse proxy so you can access to all the services using the same port so it's a bit more easy for a technical evaluation just to use this kind of method so again we are checking that everything is up and running and in this case we are using the UI in order to test that before I was using the repository right how alfresco looks this is the UI and we can give the credentials and we are in the system so in this use case we require a bit more technical skills but you are still able to evaluate the platform with one single file in the end ok that is enough for this use case I guess and what we are doing in alfresco is just to create a set of docker hub of docker images in the docker hub and we are getting that on a docker compose we are trying also to apply some memory limits just to have some kind of requirement for the final user just to say ok you need at least a gigawatt of run to run this docker compose but it's so simple as that so that was the second method and now we are moving to a different to the docker compose installer to a different requirements from the use case so in this case the people want to use that probably to customize alfresco to deploy some customization on it and many people using that also to deploy alfresco in production we are also supporting some other deployments as Antoine said many community users just with that is enough for them so we are providing persistent storage we are supporting adult deployment customization and we are also recommending this for production environments so in this case the user experience is just again the command line but we are providing then a set of questions in order to customize the docker compose taking that and we are creating a docker compose and a set of files in order to produce this configuration so you can get the amount for 40,000 combinations and customization of the product with that but you need docker desktop, docker compose and this is a geoman generator so you need also Node.js geoman and the generator we are providing but the better is to see that leaf so let me go again with this and we are again in the command line but in this case we are going to use the geoman generator so with that we are just trying to identify the options that the users want to deploy in the system so we have like the version the first is important in the version of the product you can choose that also the amount of memory you want to allocate to docker if you want a web proxy with mtls or not the name of the server the default password for the admin user the port that you want to use for all the services some additional assistant iftp, you can use another database instead of the default positive SQL what else so you can use configuration for the searching engine again more configuration for communications we have also a message queue and you can define credentials for that if you want SMT service and that for authentication you can also deploy some out of the box customizations on the product and with all that options also if you are running Windows we are doing the volumes in a different way with all that options we are creating a set of files that includes all the configuration that is required it's a docker compose again but this docker compose includes that customize docker files that are extending the official alfresco docker image with the customization and the same for alfresco, serre and configure for these three applications so once we have that again docker compose up configuration and now we are getting alfresco but with a specific set of subsistence configuration password, ports and so on so it's also easy for the people just to use this one because they can also just use the customization with this kind of of deployment and again we are testing that is working fine so this is something easy to do for the for the users and also you can use that to have like a deeper technical evaluation and even to to use that in your production environment ok let's move on how we did that so we were using german for that german you can write german generator so we have like a template a set of templates and we are combining all the different templates with code in order to produce again a docker compose but with extensions with persistence on the services that require persistence and so on so again you have also the source code for the german generator it's available if you want to inspect that also with the ability to deploy customization so in this stage you have something like very flexible to deploy and finally we are also thinking of people that is developing for the platform so in this case you don't have like requirement to deploy that for production you don't want to customize the deployment of the application to deploy your own extension your own source code into the product so for that what we have is an archetype of Maven and with that archetype we are providing a set of tools to include your code into the application so for that you need docker desktop docker compose and mainly the customization in alfresco is done with Maven Java so with that again if we go to the to the final demo I promise you we are going to see how that works so we are creating a project this is a base project to customize alfresco in both alfresco and serre the repository and the UI layer so with that we are creating the base project and this base project is including all these kind of tools so in this case we are selecting the only one that includes the customization for the repository and also for the UI that is the option 2 yeah so we are choosing this one we are choosing also the version of the product that we are developing for we have the group ID the artifact ID this is a regular Maven artifact and with that we are creating a set of resources with a set of folders that are prepared to develop your customization and also to deploy both a platform that is alfresco the repository and serre so you can see a platform serre, platform docker, serre docker so this all includes the different resources for you but in the end you are just creating your customization so you don't need to take care about the docker, the extension about building the docker compose so are just coding in java on a regular ID and that is enough so with that we are starting again with this tool with this specific tool we are starting again the product and this time you get the product with the customizations on it so you can test and it has also some something that allows you to include additional configuration if you want to but mainly this is the easiest way to deploy that with alfresco ok so once we did that this is really more simple conceptually so we have the platform and the serre maybem projects we are including the artifact of this folder into the platform docker that is a docker file that is modified in order to include this code and we are using this for the docker file that is in the docker compose file that is in the docker folder and with that we are building again a docker compose that is reading the docker images the docker image with the customizations and we are deploying that we have also some persistence on that because when you are testing probably you want to keep your date between one test and the other test ok and I guess that was everything so Antoine I cover all your use cases and I thank so last case is when you need to scale I would say at large so it's not covered by this talk today but indeed we provide solution for people who want to have that much amount of content and processes that you need to really scale so we provide solution with Kubernetes and Helm and this is already available on the GitHub repositories so I will provide some additional resources if you want to hack a bit on that as I told everything is on GitHub I was thinking it would be cool to add the actual link at the end I mean it's streamed but it is recorded if you want to make let's say a screenshot of this one so you have the actual link to go to the SES deployment repositories this kind of things so you can play with it after the presentation pictures in the slide stable diffusion you should play with that it's crazy at the end of the presentation we have a booth in the exhibition area so if you want to chat with us or ask for a demonstration I mean you're welcome we will be there in a few minutes so I was I'm on 20 of us you can also follow us or get into Twitter LinkedIn and maybe follow our blog for more content so thank you very much no questions we have time for a few questions I guess so the question is what value we can get from using the extension I will let on the hell give them so we we are delivering a fresco with Docker Compost for years and we found many users many community users mainly trained to evaluate the product and having problems to deploy that because you need a bit of skills to use Docker Compost it's not that hard but you need at least git to download the Docker Compost probably you are in another directory so it's hard for them so we discovered that with that Docker extension you just need one single program you can just search that on the marketplace you just hit the run button and at the end you just hit again another button and it's open fresco on your browser and you are ready to go so it's a way of delivering all this complexity on a simpler way on the simplest possible way right so this is we have the product this open source so anyone we don't know about the background of that people trying to test the product so we are trying to limit all the barriers to test the product I would say an interesting use case for people that are not DevOps or developers all but maybe a lot of people using al fresco are actually business analysts they will actually create in al fresco all the kind of content all the processes, the roles use BPM solutions to organize that and those guys will not use command light at all so using for example docker desktop is a good way to actually ship the actual containers and make it available to a very advanced and user but that will no code at all but at least they can evaluate and test and choose al fresco at the end and then I mean well they will start to deploy it in production some technical people will use I would say more classic ways to scale it so al fresco is a content repository it's a content repository so you can actually store, retrieve, search create value added around your content the paper for example invoices, contracts and then around that you can create processes that's what I use I spoke about BPM business process management notification so that actually you can make automation I would say low added value task so that can be done by al fresco you can also add roles depending on I don't know your company department your managing roles put business rules for decisions and so al fresco is organizing all that yeah but I guess sorry Anton I guess that the question is why to do all that things if I have everything ready and running in Kubernetes right I have all my stuff it's running in Kubernetes why I need to care about that what are you providing with that ok so we are just decreasing the complexity right so if you choose al fresco then you can move to the Kubernetes deployment with the cell with the scale now with so on but you need to know the product before that if you are not able if you need to spend a lot of time to deploy the product and to test the product then probably you are not going to reach to the Kubernetes stage so we need to we are aiming to provide something very simple to test the product just to see if that fits to your requirements right so these are the different stages so we we are approaching to the to the final stage just to give you the ability to test the different features of the product from the docker extension that is mainly the features the docker compose that is just choosing your configuration your database, your authentication or whatever so you are able to do that to the development and if you can test everything and you say ok it's good for me then you can move to the Kubernetes deployment but probably you are not investing much time right to evaluate the product so it's not a final solution for the users ok so this is our strategy because as I said this is a product and we have like thousands of people trying to find out what are we doing so this is our way to give them the easy solution to approach the product is that better test and evaluation so we have also some hot reloading on some parts of the product so you are able to test in docker with some ability of hot reloading so we are also working on that and everything is you have the source code for that so you can just pick whatever you need to apply to your problem ok ok so I think we are good thank you very much very interesting conversation