1 00:00:00,000 --> 00:00:08,000 Hi Massimo, can you hear me? 2 00:00:08,000 --> 00:00:10,000 Perfect, thanks Ronan. 3 00:00:10,000 --> 00:00:30,000 Let's play the video you sent us and then we'll take all the questions we receive on the chat. 4 00:00:30,000 --> 00:00:34,000 Would you like to do it in another way? 5 00:00:34,000 --> 00:00:47,000 Perfect, thank you. 6 00:00:47,000 --> 00:00:51,000 Greetings and thanks for taking the invitation to follow this session in Italian. 7 00:00:51,000 --> 00:00:56,000 My name is Massimo Campone and I have been working professionally in IT since 1990. 8 00:00:56,000 --> 00:01:07,000 Since 1996 I have been focused on the Internet. In these decades I have accumulated experiences very different from the development of management to entrepreneurship, to systemic management in small and medium-sized enterprises. 9 00:01:07,000 --> 00:01:19,000 I am pleased to support the spread of software that enters the name FOSS, Free Open Source Software, with public code and maintained by the community and without direct license costs. 10 00:01:19,000 --> 00:01:26,000 All this demo has been recorded and edited with free Open Source tools, therefore projects like Matomo. 11 00:01:26,000 --> 00:01:32,000 Matomo offers the possibility of doing web tracking without the data being ceded to third parties. 12 00:01:32,000 --> 00:01:39,000 In addition, the same data can be ceded in Europe and therefore meet the requirements requested by privacy and GDPR regulations. 13 00:01:39,000 --> 00:01:51,000 In the non-premise version that we see today, it is assured that no other subject can have access to our data, as well as the ability to anonymize them to ensure an absence of profiling outside of statistical use. 14 00:01:51,000 --> 00:01:59,000 I want to underline that there are many ways to reach the same installation, configuration and maintenance goal of a service platform, 15 00:01:59,000 --> 00:02:10,000 which depend on the dimensions to be faced and from the logistics inside the company, for example if there are developers who use DevOps methodology for managing the CI-CD chain. 16 00:02:10,000 --> 00:02:17,000 It is obvious that a systemist does not need a demo like this to be able to install, it certainly does better than me. 17 00:02:17,000 --> 00:02:29,000 Exactly the destination of this short encounter, which I underline is not a course but a pretext to suggest and start the use of Matomo in a production platform, like that of Service Manager Kubernetes, 18 00:02:29,000 --> 00:02:33,000 but which remains scalable and can face a production level. 19 00:02:33,000 --> 00:02:39,000 I would like to bring the audience of small and medium-sized companies closer, which in Italy are the largest percentage, 20 00:02:39,000 --> 00:02:48,000 so the agencies and companies that want to return in possession of their own autonomy on tracking, as well as to disconnect from the large commercial groups 21 00:02:48,000 --> 00:02:53,000 and return to the requirements of the requests for tracking in Italy and the European regulations. 22 00:02:53,000 --> 00:02:58,000 All this then to increase the cable diffusion in the adoption towards the low of Matomo. 23 00:02:58,000 --> 00:03:08,000 I have therefore chosen a mix between graphic interface and command line to be able to introduce the service functions of the cloud providers at the didactic level. 24 00:03:08,000 --> 00:03:14,000 All scripted, so as to constitute integrity of the images and the correlations between the services. 25 00:03:14,000 --> 00:03:21,000 Probably many of you have already tried the server version, or even tried to run the images for Docker Container, 26 00:03:21,000 --> 00:03:29,000 and are interested in the next step, that is, distribution from an orchestrator for the need for a price-performance ratio. 27 00:03:29,000 --> 00:03:34,000 Managing many sites to be able to face scalability and Kubernetes is the solution. 28 00:03:34,000 --> 00:03:40,000 We will see the installation then on managed services of the platform and services formula, 29 00:03:40,000 --> 00:03:44,000 so as not to load us in the management of the orchestrator service itself. 30 00:03:44,000 --> 00:03:51,000 The level of access to understanding is to know the principles of operation of the distribution of applications through images Container. 31 00:03:51,000 --> 00:04:00,000 Let's start from the Matomo site, then, 32 00:04:00,000 --> 00:04:09,000 to which you can provide free cloud service on European servers and with costs in resorts. 33 00:04:09,000 --> 00:04:17,000 It starts from 19 euros per month for 30 websites on 50,000 hits, which are SEO events, 34 00:04:17,000 --> 00:04:24,000 therefore not HTTP hits, which are instead the objects that transit for the construction of web pages. 35 00:04:24,000 --> 00:04:29,000 So it's about link page, link download, set search, this type of events. 36 00:04:29,000 --> 00:04:35,000 50,000 hits, which roughly correspond to 17,000 visitors per month on 30 sites. 37 00:04:35,000 --> 00:04:43,000 Then, of course, there are different packages, and as hits grow, the formula is increasingly economically more advantageous. 38 00:04:43,000 --> 00:04:49,000 Meanwhile, today we see the Unpremise version, that is, it can be installed for free, 39 00:04:49,000 --> 00:04:53,000 but with some Canon plugins, including the updates themselves. 40 00:04:53,000 --> 00:04:56,000 There is still a good base totally free. 41 00:04:56,000 --> 00:05:03,000 I remind you that today we will not see the product, but its ability to be distributed on cloud provider, 42 00:05:03,000 --> 00:05:13,000 bringing us exclusively to the installation phase, exclusive, I repeat, then the following configuration steps to put it in place, 43 00:05:13,000 --> 00:05:16,000 there would not have been even the time available. 44 00:05:16,000 --> 00:05:21,000 Installation on the server, the product has a malfunction management panel, 45 00:05:21,000 --> 00:05:26,000 and size to correct, to best meet the performance. 46 00:05:26,000 --> 00:05:29,000 Find guides, documentation, videos, community, 47 00:05:29,000 --> 00:05:35,000 and even if it is not mentioned, a last search on github to find the developers, 48 00:05:35,000 --> 00:05:38,000 many tips and codes ready. 49 00:05:44,000 --> 00:05:47,000 We see the two parts of the demo, 50 00:05:47,000 --> 00:05:53,000 then the creation of a Kubernetes cluster on two cloud providers completely different, 51 00:05:53,000 --> 00:05:56,000 I chose them precisely for the different offer size, 52 00:05:56,000 --> 00:06:02,000 very different from them, obviously at completely different costs, services and potential. 53 00:06:02,000 --> 00:06:05,000 Also note the debt formulas, which are very different, 54 00:06:05,000 --> 00:06:10,000 for example on Azure it is possible to allocate the resources of the cluster 55 00:06:14,000 --> 00:06:19,000 without destroying it, and this will not lead to debts while staying. 56 00:06:19,000 --> 00:06:26,000 On DigitalOcean you have to destroy it to abolish debts. 57 00:06:30,000 --> 00:06:34,000 DigitalOcean, which today presents a good base of cloud services, 58 00:06:34,000 --> 00:06:39,000 there are servers called droplets, droplet, backup and snapshot services, 59 00:06:39,000 --> 00:06:45,000 database and access through CLI, command line, interface, 60 00:06:45,000 --> 00:06:52,000 owner to services and configurations, functions and apps, metrics a little on everything, 61 00:06:52,000 --> 00:06:57,000 a marketplace with third-party integration and also the API. 62 00:06:59,000 --> 00:07:02,000 Let's start immediately with creating the cluster, 63 00:07:02,000 --> 00:07:05,000 choosing in which region to position the machines, 64 00:07:05,000 --> 00:07:11,000 obviously we choose the European ones to be adherent to the GDPR requests, 65 00:07:11,000 --> 00:07:16,000 the number of nodes and dimensions are obviously changeable, 66 00:07:16,000 --> 00:07:21,000 there is the option Autoscale for the automatic horizontal requirement from requests, 67 00:07:21,000 --> 00:07:23,000 in production I recommend this, 68 00:07:23,000 --> 00:07:27,000 being able to enlarge the maximum number of nodes to your liking, 69 00:07:27,000 --> 00:07:33,000 the option High availability to ask for app time at 99.95% 70 00:07:33,000 --> 00:07:39,000 and at the time of this registration, still in beta, Legend for the database. 71 00:07:39,000 --> 00:07:46,000 Ok, we give a name, position it in a project to find it and launch the Deploy. 72 00:07:46,000 --> 00:07:48,000 This operation lasts a few minutes, 73 00:07:48,000 --> 00:07:51,000 so I interrupt the registration and resume as soon as it is completed. 74 00:07:51,000 --> 00:07:55,000 After a while, the resources for the node pool are already visible, 75 00:07:55,000 --> 00:07:58,000 I close tips and recommendations, 76 00:07:58,000 --> 00:08:05,000 we are curious about the marketplace reserved for the third-party resources for Kubernetes, 77 00:08:05,000 --> 00:08:08,000 we are interested in how it works, 78 00:08:08,000 --> 00:08:11,000 we are interested in how it works, 79 00:08:11,000 --> 00:08:14,000 we are interested in how it works, 80 00:08:14,000 --> 00:08:17,000 we are interested in how it works, 81 00:08:17,000 --> 00:08:21,000 and also the third party Kubernetes, 82 00:08:24,000 --> 00:08:26,000 some cluster settings, 83 00:08:26,000 --> 00:08:33,000 obviously, we recommend modifying only via client kubecontrol, 84 00:08:33,000 --> 00:08:39,000 the liexама updates that we recommend letting run automatically. 85 00:08:39,000 --> 00:08:43,000 turns on a cluster, we can download the configuration file, 86 00:08:43,000 --> 00:08:46,000 First operation, we install the portable Meet control site 87 00:08:46,000 --> 00:08:52,320 called Doctl, then Digital Ocean Control, available on all the main 88 00:08:52,320 --> 00:08:58,560 operating system architectures. The documentation is available, it allows us to read 89 00:08:58,560 --> 00:09:05,920 all the sequence of necessary operations. We then create the apyToken, 90 00:09:05,920 --> 00:09:11,280 name and duration, and we install kubecontrol by adding it to the system part 91 00:09:11,280 --> 00:09:18,440 of our client. Once these operations are done, we can use the shell on our 92 00:09:18,440 --> 00:09:26,640 client to access the cluster. For the tutorial I download the configuration file, 93 00:09:26,640 --> 00:09:32,160 this is the token, I'm not worrying about hiding these codes because the 94 00:09:32,160 --> 00:09:35,880 cluster has already been destroyed at the end of this registration. 95 00:09:35,880 --> 00:09:41,400 Ok, we connect to the cluster and these are the nodes. 96 00:09:42,960 --> 00:09:47,800 This is the list of the client Kubernetes contexts, there are several 97 00:09:47,800 --> 00:09:52,080 tests that I have done previously of already destroyed clusters, you can 98 00:09:52,080 --> 00:09:56,840 always eliminate what you do not need. We make sure that the current one is 99 00:09:56,840 --> 00:10:04,800 the right one, oops, error in the response of the interface, I repeat for clarity. 100 00:10:04,800 --> 00:10:09,720 Now, before proceeding with the installation, I want to present you an 101 00:10:09,720 --> 00:10:14,320 application dashboard, that is, a panel for the installation of Kubernetes applications, 102 00:10:14,320 --> 00:10:21,600 which is kubeapp. Another open source software, this is WMWare, a subsidiary of Dell. You can 103 00:10:21,600 --> 00:10:25,360 install it on any cluster to be able to have a web management interface 104 00:10:25,360 --> 00:10:31,680 of the applications. Both to be able to install kubeapp and other applications, 105 00:10:31,680 --> 00:10:36,600 but in command line we use Helm, which is available both as a package manager, 106 00:10:36,600 --> 00:10:43,400 such as Chocolatay, Homebrew, Snap or by downloading the binary, as we are now, 107 00:10:43,400 --> 00:10:47,480 skipping its resource on the github, to be able to be curious about the 108 00:10:47,480 --> 00:10:52,600 features of the latest updates. Once this is done, we can proceed to 109 00:10:52,600 --> 00:11:01,960 add the bitnami repository, on which then we come back with that to install kubeapp. 110 00:11:07,960 --> 00:11:12,800 Just for curiosity, we move for a moment to another Kubernetes cluster, where I already have 111 00:11:12,800 --> 00:11:17,920 the installation of kubeapp and launch the port forward to be able to redirect the 112 00:11:17,920 --> 00:11:22,720 remote server to my local port. On this other cluster I already have a matomo 113 00:11:22,720 --> 00:11:27,880 that is running, in addition to an ingress and gx controller and a platform for 114 00:11:27,880 --> 00:11:35,720 the local code, such as Red, based on a Node.js. The bitnami repository is very wide and gives us 115 00:11:35,720 --> 00:11:39,760 access to updated images in configurations that already implement a 116 00:11:39,760 --> 00:11:48,640 good level of security. We will use just a matomo managed by bitnami. 117 00:11:52,640 --> 00:11:58,000 Since we are in the web interface, for the management, for those who do not know it, I recommend 118 00:11:58,000 --> 00:12:03,680 portainer, of which I am enthusiastic. Very comfortable both for images and container docker, 119 00:12:03,680 --> 00:12:10,240 both local and remote, which precisely for the management of Kubernetes cluster. 120 00:12:22,240 --> 00:12:27,240 Always this other cluster, here is the kubeapp that we saw a while ago, and obviously the 121 00:12:27,240 --> 00:12:44,400 unmissable matomo. I hope I have provided some useful information and let's go back to our 122 00:12:44,400 --> 00:12:49,480 installation. A nice update of the repositories to ensure we have the latest 123 00:12:49,480 --> 00:12:55,320 updates and proceed. Unfortunately I am not in an area with high coverage and 4G signal, 124 00:12:55,320 --> 00:13:00,840 so here is the possible error in theme, but it does not matter, it does not concern us 125 00:13:00,840 --> 00:13:03,960 something that will interest us at the moment. 126 00:13:09,320 --> 00:13:17,480 Ok, elm install matomo. Let's go immediately launch the cluster management shortcut and check the 127 00:13:17,480 --> 00:13:46,760 deploys in action. Officially it is finished and in the post there is a message for the 128 00:13:46,760 --> 00:13:51,440 free assets like me, that is, even if everything has been launched, it is not said that it has already 129 00:13:51,440 --> 00:14:00,000 finished and therefore you have to wait patiently for a moment. The application username and the 130 00:14:00,000 --> 00:14:05,560 password are notified in the meantime. Since I have my Windows station, I do not have the utility base of 64, 131 00:14:05,560 --> 00:14:18,640 so I remove it and in the meantime we can have access to the decrypted password. So for 132 00:14:18,640 --> 00:14:31,080 didactic we can also go to decrypt online. In the meantime it is all on foot. On the 133 00:14:31,080 --> 00:14:38,920 cloud provider shortcut we check. Here is the last process that is updated and we finally have the 134 00:14:38,920 --> 00:14:47,160 load balancer that exposes the resource on a public IP. We open browser, password and finally we enter. 135 00:14:47,160 --> 00:15:01,560 At this point we are suggested the code to be implemented for the tracking, but note that 136 00:15:01,560 --> 00:15:07,720 an IP is the one that directs to the server, so we have to take care of the resolution of the name. 137 00:15:07,720 --> 00:15:19,480 Let's go back to the DigitalOcean shortcut where I am managing the DNS record and we are going to update the record. 138 00:15:23,960 --> 00:15:28,400 Comfortably, the interface is offered the possibility of selecting from the available 139 00:15:28,400 --> 00:15:35,720 resources. Only now that we have the load balancer pointed by a record, we can 140 00:15:35,720 --> 00:15:42,760 create the certificate for the HTTPS exposure. Here too there are many ways to get the 141 00:15:42,760 --> 00:15:49,320 same result, we see the more didactic one, even if it is a bit vanilla. So we use very comfortable 142 00:15:49,320 --> 00:15:54,560 the DigitalOcean interface that allows us to manage the creation of the certificate using the 143 00:15:54,560 --> 00:16:03,120 command line. I always remember that the API access operation and the web interface are also available. 144 00:16:03,120 --> 00:16:08,080 Obviously we can import a certificate of our own purchased from other channels with a 145 00:16:08,080 --> 00:16:14,600 higher level of tracking than the one created using the encrypted service. We close the certificate, 146 00:16:14,600 --> 00:16:23,600 we check that the resolution has been verified and we capture the ID. We always go 147 00:16:23,600 --> 00:16:30,120 didactically and manually to modify on the load balancer also the other annotations below are 148 00:16:30,120 --> 00:16:36,400 not necessary. Obviously this is a demo approach, the correct one instead asks for a service 149 00:16:36,400 --> 00:16:41,480 such as ChartManager that takes care of the request and distributes the certified cluster 150 00:16:41,480 --> 00:16:45,920 requests of the various issuers and load balancer and that allows you to integrate the entire 151 00:16:45,920 --> 00:17:13,920 relational service cluster into the YAML file that the Deploy allows. At this point 152 00:17:13,920 --> 00:17:19,400 we receive a response bad request and the reason is that we are working without a 153 00:17:19,400 --> 00:17:24,120 ChartManager or another service that is assimilable, so another certificate is missing 154 00:17:24,120 --> 00:17:29,960 to the pod that is running with the web server. Also here we act with an ECNON recommended 155 00:17:29,960 --> 00:17:35,320 in production. We simply go to use HTTP to access the port and it guarantees 156 00:17:35,320 --> 00:17:44,360 that an answer returns to the load balancer. This time we look for the password in 157 00:17:44,360 --> 00:18:05,720 Secrets where it is unclear. Now we can proceed with a trivial action of integration 158 00:18:05,720 --> 00:18:11,200 of the code necessary for tracking in a page. Let's go then to recover the code 159 00:18:11,200 --> 00:18:15,920 from javascript for retracking, now updated with the name of the domain and update the 160 00:18:15,920 --> 00:18:42,240 source of the web page and reload. 161 00:18:45,920 --> 00:19:00,720 Here we are in the control panel of the pages in real time and we check the tracking. 162 00:19:00,720 --> 00:19:18,240 Matomo offers a very useful management panel to control the functional setting of 163 00:19:18,240 --> 00:19:24,680 performance. In the demo just installed are already present the recommendations to 164 00:19:24,680 --> 00:19:29,640 solve, but as I said the configuration is not the subject of this summary exhibition. 165 00:19:29,640 --> 00:19:34,800 Very important is the mechanism of building the funds, the statistical values ​​that for 166 00:19:34,800 --> 00:19:39,200 a modesto site are executed at the moment the dashboard is interrogated and they are solved 167 00:19:39,200 --> 00:19:43,880 in a few seconds, but for sites that have high traffic, Matomo would cost the 168 00:19:43,880 --> 00:19:48,000 reconstruction of each opening of the statistical panel, which would require many resources 169 00:19:48,000 --> 00:19:53,160 continuously. But then implemented a cron job that follows at regular intervals 170 00:19:53,160 --> 00:19:58,760 like every hour or less depending on the frequency of graphics visualization and of importance 171 00:19:58,760 --> 00:20:03,040 that are updated for the social media manager who is using them. 172 00:20:03,040 --> 00:20:09,560 Another very interesting tool for the administrators is that both Matomo and the plugins are updated 173 00:20:09,560 --> 00:20:15,160 very easily and semi-automatically. The admin receives an email with a link to 174 00:20:15,160 --> 00:20:19,160 perform the update, I found it very comfortable even when in motion. 175 00:20:19,160 --> 00:20:25,080 There is a nice assortment of plugins already included and free, while in marketplace 176 00:20:25,080 --> 00:20:29,840 there are further plugins that can provide an annual canon, which in this case 177 00:20:29,840 --> 00:20:33,680 includes its updates. Many also offer the test period. 178 00:20:33,680 --> 00:20:38,680 Very comfortable are the Matomo APIs that allow you to control the management environment 179 00:20:38,680 --> 00:20:42,040 or external events that can be customized with any language. 180 00:20:42,040 --> 00:20:47,000 A few weeks ago, for example, I published on LinkedIn a demo of a endpoint that allows 181 00:20:47,000 --> 00:20:51,480 you to add your own connection to the filters so as not to pollute the statistics, even 182 00:20:51,480 --> 00:20:55,560 if you are in mobility, using the code red based on Node.js. 183 00:20:55,560 --> 00:21:00,080 The demo ends here. I hope I have given enough elements to be able to create 184 00:21:00,080 --> 00:21:04,840 interests and stimulate the adoption of Kubernetes in production environments for Matomo. 185 00:21:04,840 --> 00:21:10,600 An orchestrator allows you to dynamically scale the number of nodes on which to distribute 186 00:21:10,600 --> 00:21:16,200 Matomo pods and to be able to absorb very high traffic peaks, although temporary, 187 00:21:16,200 --> 00:21:19,320 and to be able to save when the management numbers have gone down. 188 00:21:19,320 --> 00:21:24,360 And a demo of introduction, many elements are missing, there would have been no time 189 00:21:24,360 --> 00:21:28,040 to be able to see them all and the training is not even the purpose of this video. 190 00:21:28,040 --> 00:21:31,880 I hope it is only the starting point with which a community in the Italian language can 191 00:21:31,880 --> 00:21:36,160 start by sharing their experiences and the complete configuration files also for 192 00:21:36,160 --> 00:21:41,280 other cloud providers, with servers in Europe, and push so that Matomo is adopted 193 00:21:41,280 --> 00:21:46,440 in the various templates and marketplaces. I will be happy to be able to participate 194 00:21:46,440 --> 00:21:51,960 with my own experience. If you want, you can contact me at the email in superimpression 195 00:21:51,960 --> 00:21:54,880 or connect with me on LinkedIn to stay in touch. 196 00:21:54,880 --> 00:21:57,680 Good tracking and autonomy, see you on the net. 197 00:22:05,680 --> 00:22:14,400 Wow, thank you very much Massimo for this historical moment, I would say, because as I have already 198 00:22:14,400 --> 00:22:26,240 announced on the social network, it is the first time that we have a 100% conference in Italian. 199 00:22:26,240 --> 00:22:37,000 In fact, last year we had the pleasure of receiving the team from the region of 200 00:22:37,000 --> 00:22:45,160 Emilia-Romagna, the talk was in English and this time it is really the first time that we have it 201 00:22:45,160 --> 00:22:56,600 in the fourth language of MatomoCampo, then Italian, then English, German and French, 202 00:22:56,600 --> 00:23:02,480 so I don't know if Massimo can hear me. Yes, yes, perfectly, thank you. 203 00:23:02,480 --> 00:23:15,080 Yes, I would also like to thank you because you did all this work of recording the video 204 00:23:15,080 --> 00:23:24,120 to ensure that the conference will be of quality and that there will be no problems in the explanations 205 00:23:24,120 --> 00:23:32,640 that you are going to give, so unfortunately, as you know, I don't know much about the 206 00:23:32,640 --> 00:23:40,000 configuration of the servers, so the question that I am asking you now, which is really about 207 00:23:40,000 --> 00:23:53,600 what no one knows, so I know Docker and I understand the need to use Docker, 208 00:23:53,600 --> 00:24:03,920 but I am not the first person to say that I have it in a very professional way, 209 00:24:03,920 --> 00:24:11,200 that in fact uses Kubernetes and I don't understand the difference between using Docker 210 00:24:11,200 --> 00:24:20,280 and using Kubernetes, I don't understand anything about Kubernetes, so I'm sorry to ask you 211 00:24:20,280 --> 00:24:28,000 this question, but what is the advantage of using Kubernetes to install Matomo? 212 00:24:28,000 --> 00:24:36,920 Yes, you have practically raised the question, I think it is more normal that it can be done, 213 00:24:36,920 --> 00:24:44,200 especially for those who have to install and manage an online service such as web tracking, 214 00:24:44,200 --> 00:24:56,840 which is a bit of a special service because it needs to adapt the resources that are allocated 215 00:24:56,840 --> 00:25:02,000 for the distribution of the service temporarily, so not in a programmed way. I mean this because, 216 00:25:02,000 --> 00:25:08,320 if there is a web marketing commercial campaign and obviously there is a phase in which, 217 00:25:08,320 --> 00:25:20,680 suddenly, also because of a technical aspect of viral marketing, it is not easily predictable, 218 00:25:20,680 --> 00:25:28,080 and therefore sites, landing pages suddenly ask for very high resources, 219 00:25:28,080 --> 00:25:35,080 this if it has not been organized before with Docker, the resources have not been allocated, 220 00:25:35,080 --> 00:25:42,600 so you can obviously run the risk of not being able to have a service at the same level 221 00:25:42,600 --> 00:25:49,280 with the performance. An orchestrator allows you to run Docker images on multiple nodes, 222 00:25:49,280 --> 00:26:00,280 not only, but these nodes can be, as I mentioned, with the Autoscale option that offers 223 00:26:00,280 --> 00:26:08,560 the ability of a dynamic adjustment, so by increasing the resources, the orchestrator 224 00:26:08,560 --> 00:26:15,240 is concerned with executing the pods, which are the containers, the images that are running on other nodes, 225 00:26:15,240 --> 00:26:20,960 and this also allocates other nodes, so more nodes are allocated horizontally and the pods, 226 00:26:20,960 --> 00:26:30,920 therefore the executions are distributed, so as to be able to manage the load. This, since it is dynamic, 227 00:26:30,920 --> 00:26:37,040 this operation also allows you to save, because I can have at my disposal three, 228 00:26:37,040 --> 00:26:45,240 four, five nodes, which are machines, servers, as long as it is necessary, then when the numbers 229 00:26:45,240 --> 00:26:51,360 are reshaped, the architecture also reshapes and this allows you to save, 230 00:26:51,360 --> 00:26:59,840 because the machines have an average hourly cost, and this is the reason why 231 00:26:59,840 --> 00:27:06,080 an orchestrator is preferred. I don't know if I answered. 232 00:27:06,080 --> 00:27:16,240 Okay, I don't know, in fact, I'll give you my answer, which I have understood, 233 00:27:16,240 --> 00:27:31,320 so with Docker, in fact, the container is fixed and Kubernetes allows you to orchestrate, 234 00:27:31,320 --> 00:27:39,360 so to make the container dynamic, or at least you can, I don't know, 235 00:27:39,360 --> 00:27:46,920 replace it with another container that has more capacity to allow your system to work, 236 00:27:46,920 --> 00:27:56,320 so Docker, in fact, only allows you to take a site that has a traffic that is always the same, 237 00:27:56,320 --> 00:28:04,400 in which you have already thought that you can do a hundred visits a day, 238 00:28:04,400 --> 00:28:10,320 and in fact the way of Kubernetes, in fact, a security to allow, as you said, 239 00:28:10,320 --> 00:28:17,640 that there is a web marketing company that will bring you, I don't know, two million visits in more, 240 00:28:17,640 --> 00:28:23,280 and that will then destroy your container, and then Kubernetes allows you, in a dynamic way, 241 00:28:23,280 --> 00:28:30,000 to give more resources to the container to allow the site to live with Matomo, is that it? 242 00:28:30,000 --> 00:28:36,760 Yes, and it also obviously guarantees continuous availability of the service, 243 00:28:36,760 --> 00:28:43,800 because all the updates, both the host, so the various nodes in this case, 244 00:28:43,800 --> 00:28:50,960 and the docker, in short, the executions, are always guaranteed, 245 00:28:50,960 --> 00:28:59,960 so I can have a node that, for any reason, can be an update or an unavailability, 246 00:28:59,960 --> 00:29:06,680 maybe physical, therefore, or logical, however, the whole service is standing, 247 00:29:06,680 --> 00:29:13,120 and it is always at the maximum of the performance, so the dynamic performance, 248 00:29:13,120 --> 00:29:20,640 we said, are the main point for the need to use an orchestrator 249 00:29:20,640 --> 00:29:27,440 like Kubernetes, because obviously there are also other orchestrators, 250 00:29:27,440 --> 00:29:33,360 so my choice was that of the most widespread system, 251 00:29:33,360 --> 00:29:38,880 the most flexible system, more accessible also for a small company, 252 00:29:38,880 --> 00:29:45,080 this is because it is very widespread on all the cloud, the simplest, most economical thing, 253 00:29:45,080 --> 00:29:49,400 and what I wanted to show with this presentation was just this, 254 00:29:49,400 --> 00:29:55,480 that thanks to the distribution of the Matomo images by Bitnami, 255 00:29:55,480 --> 00:30:00,720 as obviously the digitalist charts that have been presented yesterday, 256 00:30:00,720 --> 00:30:04,200 of which I am very interested, in short, I will certainly do some tests, 257 00:30:04,200 --> 00:30:11,120 this allows, let's say, a capacity to be able to install easily, 258 00:30:11,120 --> 00:30:18,040 this I want to show, the production environment at a certain level, 259 00:30:18,040 --> 00:30:24,720 also as a minimum experience, so without worrying about anything else, 260 00:30:24,720 --> 00:30:29,960 then obviously there is always the possibility of starting, 261 00:30:29,960 --> 00:30:35,600 and clearly putting the methodology in place, to make the necessary experience, 262 00:30:35,600 --> 00:30:42,320 the goal of my demo is in Italian, it was carried out in Italian, 263 00:30:42,320 --> 00:30:50,000 just to open up to the small and medium-sized company, let's say, to try to increase the spread. 264 00:30:50,000 --> 00:30:51,000 Ok. 265 00:30:51,000 --> 00:30:54,000 Thank you. 266 00:30:54,000 --> 00:31:00,000 Great, I also have some questions that are not secret, because they are in the chat, 267 00:31:00,000 --> 00:31:05,400 but only for people who are going to watch this video in the future, 268 00:31:05,400 --> 00:31:07,760 it is important for me that I ask you. 269 00:31:07,760 --> 00:31:15,440 So another question would be, in Italy, how do the server administrators work? 270 00:31:15,440 --> 00:31:19,960 In fact, do they work with an English or Italian interpreter? 271 00:31:19,960 --> 00:31:29,520 Because to tell you the truth, we don't know it very well, in fact, the Italian market, 272 00:31:29,520 --> 00:31:40,240 so I want to know if in fact there is the language of work for the server administrators, what is it? 273 00:31:40,240 --> 00:31:51,200 Yes, unfortunately, let's say in 30 years I could write a book on the anecdotes of unpleasant things 274 00:31:51,200 --> 00:31:55,720 that I have seen, even in companies of a certain size, 275 00:31:55,720 --> 00:32:06,480 we are talking about several hundred cars, unfortunately, let's say, I also find server installations in Italian, 276 00:32:06,480 --> 00:32:14,120 this is not very convenient, because obviously the ability to debug on system messages, 277 00:32:14,120 --> 00:32:24,680 errors, logs, etc., is quite complicated, because the translations are obviously not perfectly identical. 278 00:32:24,680 --> 00:32:34,520 Personally, I also find it difficult to find in a Windows server the name of the service, 279 00:32:34,520 --> 00:32:45,160 because it is not really a thing that I always tell, let's say, a Windows certification exam that I tried in Italian, 280 00:32:45,160 --> 00:32:51,240 so I said, surely I find it easier, now I had to repeat it in English and I passed it right away, 281 00:32:51,240 --> 00:33:00,200 but if not in Italian it was really indecent, unfortunately, let's say, the assortment is very different, 282 00:33:00,200 --> 00:33:08,840 the language does not have a degree of social penetration as deep as it happens in other countries, 283 00:33:08,840 --> 00:33:16,200 I have also lived abroad, let's say in Italy, English is not spoken, not even in the work environment, 284 00:33:16,200 --> 00:33:26,120 let's say, it is rare, it is really rare, that's why I said, to try to expand the target, 285 00:33:26,120 --> 00:33:35,480 I preferred to try to do an Italian session, so to see if there is more curiosity and attention. 286 00:33:35,480 --> 00:33:46,680 Another question that I did not put in the chat, I thought, according to you, that there was no documentation in Italian, 287 00:33:46,680 --> 00:33:54,040 I speak more about the end user documentation, so today when you go to matomo.org, 288 00:33:54,040 --> 00:34:03,800 what you see is a 100% documentation in English, they have made translations in French, 289 00:34:03,800 --> 00:34:13,400 but I know that, for example, for France it is really a break for a part of the population to go to matomo, 290 00:34:13,400 --> 00:34:21,720 and I would like to know if, according to you, it is the same thing in Italy, that there is a big market, 291 00:34:21,720 --> 00:34:27,960 but that in the population in Italy, typically, there is really a documentation in English, 292 00:34:27,960 --> 00:34:34,120 that is not possible, and indeed there is a market that is lost at this moment, 293 00:34:34,120 --> 00:34:39,000 and that matomo cannot go to learn, because the documentation is in English. 294 00:34:39,000 --> 00:34:50,360 Look, I'm sorry, because yesterday I was very confused, because there was your presentation on the aspect of translation, 295 00:34:50,360 --> 00:35:00,440 and so, in fact, I can't wait to see it again, because I'm interested if there is a field in which I can collaborate and participate, 296 00:35:00,440 --> 00:35:04,360 with Italian translations, I'm very happy. 297 00:35:04,360 --> 00:35:11,800 Surely, let's say, the Italian market is a bit particular from this point of view, 298 00:35:11,800 --> 00:35:20,680 just think that even in cinema there is no cinema that comes in language, with subtitles, 299 00:35:20,680 --> 00:35:27,720 where you have the ability to appreciate, how to say, the execution of the original actors. 300 00:35:27,720 --> 00:35:37,320 Here everything is translated, it is just a typical thing, a typical behavior, a bit anomalous. 301 00:35:37,320 --> 00:35:44,680 Surely having a document, of the documentation in Italian, can facilitate this penetration towards the bottom, 302 00:35:44,680 --> 00:35:55,560 this horizontal diffusion, here, maybe you can open the project if there is the possibility, 303 00:35:55,560 --> 00:36:01,720 and obviously ask a community to squeeze in, to find themselves, then it is obvious that at a certain level, 304 00:36:01,720 --> 00:36:15,640 as Tassimo is saying in the chat, we all work in English, I don't want to see anything in Italian on the machines, etc., 305 00:36:15,640 --> 00:36:24,520 otherwise it is impossible, but maybe it can be an approach, a way to be able to open more horizontally, 306 00:36:24,520 --> 00:36:26,520 to increase the diffusion a little more. 307 00:36:26,520 --> 00:36:34,600 Excellent. In your presentation, we saw that you use Digital Ocean, 308 00:36:34,600 --> 00:36:46,200 so I wanted to know if there are services in Italy that, I don't know, that you use, like us in France, 309 00:36:46,200 --> 00:36:58,200 certainly we go on Amazon, AWS, there are all these American services that we use, 310 00:36:58,200 --> 00:37:05,160 but we also have OVH, we also have, let's say, beautiful companies, 311 00:37:05,160 --> 00:37:23,080 I wanted to know if there are Italian companies in Italy that have the power to face, to fight all the United States, 312 00:37:23,080 --> 00:37:33,480 and I also wanted to know where the main data centers are in Italy and if there are, from the point of view of the law, 313 00:37:33,480 --> 00:37:42,440 if there are obligations to have the data where there is hosting in Italy at 100%. 314 00:37:42,440 --> 00:37:53,000 Look, since everything is obviously quite dynamic, I am not very updated, obviously, on the legal aspect, 315 00:37:53,000 --> 00:38:02,200 I have remained to the fact that the need is that the servers are in Europe, because we follow the European regulations, 316 00:38:02,200 --> 00:38:11,960 indeed, fortunately there is, because it is also faster than the Italian Pachydermic, 317 00:38:11,960 --> 00:38:18,680 which is notoriously very slow, there is a lot of inertia in the reactions, 318 00:38:18,680 --> 00:38:27,960 so fortunately, let's say, the European Community has the ability to be faster in meeting the requirements 319 00:38:27,960 --> 00:38:38,440 for the emission of the regulations, and this helps us a lot, in short, the server farming, 320 00:38:38,440 --> 00:38:44,920 Italy has a slightly particular geography and therefore has this vertical development, 321 00:38:44,920 --> 00:38:53,960 so the point of contact with the continent is obviously Milan, and as far as I remember, 322 00:38:53,960 --> 00:39:03,240 I have been working on the network since the early 1990s, when there was no internet, but there was the ITAPAC X25, 323 00:39:03,240 --> 00:39:06,440 for those who remember it, the first network of Pachydermic accounts, 324 00:39:06,440 --> 00:39:12,760 and the first nodes have always been geographically, obviously, in Milan, where there is the MIX, 325 00:39:12,760 --> 00:39:22,600 where the main European global hubs converge, then obviously the Italian back in the years 326 00:39:22,600 --> 00:39:36,360 has improved, and another important hub is in Rome, where connections converge through the Mediterranean. 327 00:39:36,360 --> 00:39:43,720 Server farming has always been, historically, before Milan, and some in Rome, 328 00:39:43,720 --> 00:39:53,800 but then there are a couple of cases in central Italy, Marche and Umbria, but nothing spectacular, 329 00:39:53,800 --> 00:40:05,480 let's say, the resources in Italy are only for geophysical reasons, just in contact with the continent, 330 00:40:05,480 --> 00:40:19,400 and that's about it. Now it's 9.42, so maybe we still have time for one last question, 331 00:40:19,400 --> 00:40:28,040 I'm looking in the chat if there's anything, otherwise my question would be that. 332 00:40:28,040 --> 00:40:35,880 So the use of Google Analytics has been denied, I would say, or I would say illegal, 333 00:40:35,880 --> 00:40:42,760 from what I understand by looking at the social networks, and I wanted to know if in fact in Italy, 334 00:40:42,760 --> 00:40:54,280 companies still take it as a joke, so let's continue to use Google Analytics 335 00:40:54,280 --> 00:41:07,480 because the possibility of having a fine is about zero, or really it's a concern of the companies, 336 00:41:07,480 --> 00:41:15,240 and so they go to do, I would say, migration, to go to Matomo, or to another solution, 337 00:41:15,240 --> 00:41:24,520 or it could also be interesting if there are analytical solutions in Italy that we don't know, 338 00:41:24,520 --> 00:41:34,280 I would say, in Europe, which are 100% Italian, that we need to know. 339 00:41:34,280 --> 00:41:45,560 Look, you've said the right thing, and unfortunately you've raised an unpleasant issue, 340 00:41:45,560 --> 00:41:55,800 because unfortunately, also me, working in collaboration with companies that deal with privacy and GDPR, 341 00:41:55,800 --> 00:42:02,520 I must confess that the situation is dramatic, to say the least. 342 00:42:02,520 --> 00:42:09,480 Obviously there is very little interest, very little adherence to the normative aspect, 343 00:42:09,480 --> 00:42:12,600 but there is even in the technical aspect. 344 00:42:12,600 --> 00:42:21,240 So the average of the achievements is so low that there would be a lot to work on, 345 00:42:21,240 --> 00:42:29,240 I would say, with the necessary cultural literacy, 346 00:42:29,240 --> 00:42:35,320 not only in the capacity of the technology solution, 347 00:42:35,320 --> 00:42:40,760 because obviously it is taken a lot in the background, 348 00:42:40,760 --> 00:42:50,200 that of security, that of the capacity to create and distribute a product technologically, 349 00:42:50,200 --> 00:42:55,560 also from the point of view of the law, adequate. 350 00:42:55,560 --> 00:43:02,920 Unfortunately, this is the reality, it is useless to hide behind a finger. 351 00:43:02,920 --> 00:43:17,000 Let's just say that there is a lot of work to be done when a company starts to have a certain degree of visibility, 352 00:43:17,000 --> 00:43:27,880 and then the exposure is obviously broadened, and then there is really talk of insecurity, 353 00:43:27,880 --> 00:43:37,640 as well as of incapacity, because I suppose that companies that are not able, 354 00:43:37,640 --> 00:43:43,960 and are not up to it, but not only with the law, but also with technology and with a vision 355 00:43:43,960 --> 00:43:52,920 in the capacity to create and distribute services, the problem is fundamentally cultural. 356 00:43:52,920 --> 00:43:59,960 I hope that there will be more and more attention. 357 00:43:59,960 --> 00:44:11,160 At the time, I am talking about the early 2000s, I had also collaborated with the association of webmasters in Italy, IWA, 358 00:44:11,160 --> 00:44:21,400 for what concerns all the capacity to create accessible web content. 359 00:44:21,400 --> 00:44:32,920 It was already a struggle not long ago, but in fact, if we look closely at the average of publications, etc., 360 00:44:32,920 --> 00:44:49,400 it is still low-level, there are still improvised graphics that write in yellow on white, so there is still a lot to work on. 361 00:44:49,400 --> 00:45:06,680 Thank you very much, it's 9.47, I looked in the chat and there are no other questions, so once again I would like to thank you for this historical moment, 362 00:45:06,680 --> 00:45:24,200 the first conference in Italian, I hope that there will be others in the next Matamocamp editions, thank you very much Massimo. 363 00:45:24,200 --> 00:45:30,840 Thank you for the opportunity, thank you also to Lukas who followed us backstage, 364 00:45:30,840 --> 00:45:45,640 obviously all the collaborations and participations are very open, let's go inside because there is a lot to do here, also for the quality of the services delivered. 365 00:45:45,640 --> 00:45:47,640 Thank you, thank you all. 366 00:45:47,640 --> 00:46:01,640 Great, thank you very much, see you soon, ciao!