Hi Massimo, can you hear me?
Perfect, thanks Ronan.
Let's play the video you sent us and then we'll take all the questions we receive on the chat.
Would you like to do it in another way?
Perfect, thank you.
Greetings and thanks for taking the invitation to follow this session in Italian.
My name is Massimo Campone and I have been working professionally in IT since 1990.
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.
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.
All this demo has been recorded and edited with free Open Source tools, therefore projects like Matomo.
Matomo offers the possibility of doing web tracking without the data being ceded to third parties.
In addition, the same data can be ceded in Europe and therefore meet the requirements requested by privacy and GDPR regulations.
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.
I want to underline that there are many ways to reach the same installation, configuration and maintenance goal of a service platform,
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.
It is obvious that a systemist does not need a demo like this to be able to install, it certainly does better than me.
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,
but which remains scalable and can face a production level.
I would like to bring the audience of small and medium-sized companies closer, which in Italy are the largest percentage,
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
and return to the requirements of the requests for tracking in Italy and the European regulations.
All this then to increase the cable diffusion in the adoption towards the low of Matomo.
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.
All scripted, so as to constitute integrity of the images and the correlations between the services.
Probably many of you have already tried the server version, or even tried to run the images for Docker Container,
and are interested in the next step, that is, distribution from an orchestrator for the need for a price-performance ratio.
Managing many sites to be able to face scalability and Kubernetes is the solution.
We will see the installation then on managed services of the platform and services formula,
so as not to load us in the management of the orchestrator service itself.
The level of access to understanding is to know the principles of operation of the distribution of applications through images Container.
Let's start from the Matomo site, then,
to which you can provide free cloud service on European servers and with costs in resorts.
It starts from 19 euros per month for 30 websites on 50,000 hits, which are SEO events,
therefore not HTTP hits, which are instead the objects that transit for the construction of web pages.
So it's about link page, link download, set search, this type of events.
50,000 hits, which roughly correspond to 17,000 visitors per month on 30 sites.
Then, of course, there are different packages, and as hits grow, the formula is increasingly economically more advantageous.
Meanwhile, today we see the Unpremise version, that is, it can be installed for free,
but with some Canon plugins, including the updates themselves.
There is still a good base totally free.
I remind you that today we will not see the product, but its ability to be distributed on cloud provider,
bringing us exclusively to the installation phase, exclusive, I repeat, then the following configuration steps to put it in place,
there would not have been even the time available.
Installation on the server, the product has a malfunction management panel,
and size to correct, to best meet the performance.
Find guides, documentation, videos, community,
and even if it is not mentioned, a last search on github to find the developers,
many tips and codes ready.
We see the two parts of the demo,
then the creation of a Kubernetes cluster on two cloud providers completely different,
I chose them precisely for the different offer size,
very different from them, obviously at completely different costs, services and potential.
Also note the debt formulas, which are very different,
for example on Azure it is possible to allocate the resources of the cluster
without destroying it, and this will not lead to debts while staying.
On DigitalOcean you have to destroy it to abolish debts.
DigitalOcean, which today presents a good base of cloud services,
there are servers called droplets, droplet, backup and snapshot services,
database and access through CLI, command line, interface,
owner to services and configurations, functions and apps, metrics a little on everything,
a marketplace with third-party integration and also the API.
Let's start immediately with creating the cluster,
choosing in which region to position the machines,
obviously we choose the European ones to be adherent to the GDPR requests,
the number of nodes and dimensions are obviously changeable,
there is the option Autoscale for the automatic horizontal requirement from requests,
in production I recommend this,
being able to enlarge the maximum number of nodes to your liking,
the option High availability to ask for app time at 99.95%
and at the time of this registration, still in beta, Legend for the database.
Ok, we give a name, position it in a project to find it and launch the Deploy.
This operation lasts a few minutes,
so I interrupt the registration and resume as soon as it is completed.
After a while, the resources for the node pool are already visible,
I close tips and recommendations,
we are curious about the marketplace reserved for the third-party resources for Kubernetes,
we are interested in how it works,
and also the third party Kubernetes,
some cluster settings,
obviously, we recommend modifying only via client kubecontrol,
the liexама updates that we recommend letting run automatically.
turns on a cluster, we can download the configuration file,
First operation, we install the portable Meet control site
called Doctl, then Digital Ocean Control, available on all the main
operating system architectures. The documentation is available, it allows us to read
all the sequence of necessary operations. We then create the apyToken,
name and duration, and we install kubecontrol by adding it to the system part
of our client. Once these operations are done, we can use the shell on our
client to access the cluster. For the tutorial I download the configuration file,
this is the token, I'm not worrying about hiding these codes because the
cluster has already been destroyed at the end of this registration.
Ok, we connect to the cluster and these are the nodes.
This is the list of the client Kubernetes contexts, there are several
tests that I have done previously of already destroyed clusters, you can
always eliminate what you do not need. We make sure that the current one is
the right one, oops, error in the response of the interface, I repeat for clarity.
Now, before proceeding with the installation, I want to present you an
application dashboard, that is, a panel for the installation of Kubernetes applications,
which is kubeapp. Another open source software, this is WMWare, a subsidiary of Dell. You can
install it on any cluster to be able to have a web management interface
of the applications. Both to be able to install kubeapp and other applications,
but in command line we use Helm, which is available both as a package manager,
such as Chocolatay, Homebrew, Snap or by downloading the binary, as we are now,
skipping its resource on the github, to be able to be curious about the
features of the latest updates. Once this is done, we can proceed to
add the bitnami repository, on which then we come back with that to install kubeapp.
Just for curiosity, we move for a moment to another Kubernetes cluster, where I already have
the installation of kubeapp and launch the port forward to be able to redirect the
remote server to my local port. On this other cluster I already have a matomo
that is running, in addition to an ingress and gx controller and a platform for
the local code, such as Red, based on a Node.js. The bitnami repository is very wide and gives us
access to updated images in configurations that already implement a
good level of security. We will use just a matomo managed by bitnami.
Since we are in the web interface, for the management, for those who do not know it, I recommend
portainer, of which I am enthusiastic. Very comfortable both for images and container docker,
both local and remote, which precisely for the management of Kubernetes cluster.
Always this other cluster, here is the kubeapp that we saw a while ago, and obviously the
unmissable matomo. I hope I have provided some useful information and let's go back to our
installation. A nice update of the repositories to ensure we have the latest
updates and proceed. Unfortunately I am not in an area with high coverage and 4G signal,
so here is the possible error in theme, but it does not matter, it does not concern us
something that will interest us at the moment.
Ok, elm install matomo. Let's go immediately launch the cluster management shortcut and check the
deploys in action. Officially it is finished and in the post there is a message for the
free assets like me, that is, even if everything has been launched, it is not said that it has already
finished and therefore you have to wait patiently for a moment. The application username and the
password are notified in the meantime. Since I have my Windows station, I do not have the utility base of 64,
so I remove it and in the meantime we can have access to the decrypted password. So for
didactic we can also go to decrypt online. In the meantime it is all on foot. On the
cloud provider shortcut we check. Here is the last process that is updated and we finally have the
load balancer that exposes the resource on a public IP. We open browser, password and finally we enter.
At this point we are suggested the code to be implemented for the tracking, but note that
an IP is the one that directs to the server, so we have to take care of the resolution of the name.
Let's go back to the DigitalOcean shortcut where I am managing the DNS record and we are going to update the record.
Comfortably, the interface is offered the possibility of selecting from the available
resources. Only now that we have the load balancer pointed by a record, we can
create the certificate for the HTTPS exposure. Here too there are many ways to get the
same result, we see the more didactic one, even if it is a bit vanilla. So we use very comfortable
the DigitalOcean interface that allows us to manage the creation of the certificate using the
command line. I always remember that the API access operation and the web interface are also available.
Obviously we can import a certificate of our own purchased from other channels with a
higher level of tracking than the one created using the encrypted service. We close the certificate,
we check that the resolution has been verified and we capture the ID. We always go
didactically and manually to modify on the load balancer also the other annotations below are
not necessary. Obviously this is a demo approach, the correct one instead asks for a service
such as ChartManager that takes care of the request and distributes the certified cluster
requests of the various issuers and load balancer and that allows you to integrate the entire
relational service cluster into the YAML file that the Deploy allows. At this point
we receive a response bad request and the reason is that we are working without a
ChartManager or another service that is assimilable, so another certificate is missing
to the pod that is running with the web server. Also here we act with an ECNON recommended
in production. We simply go to use HTTP to access the port and it guarantees
that an answer returns to the load balancer. This time we look for the password in
Secrets where it is unclear. Now we can proceed with a trivial action of integration
of the code necessary for tracking in a page. Let's go then to recover the code
from javascript for retracking, now updated with the name of the domain and update the
source of the web page and reload.
Here we are in the control panel of the pages in real time and we check the tracking.
Matomo offers a very useful management panel to control the functional setting of
performance. In the demo just installed are already present the recommendations to
solve, but as I said the configuration is not the subject of this summary exhibition.
Very important is the mechanism of building the funds, the statistical values ​​that for
a modesto site are executed at the moment the dashboard is interrogated and they are solved
in a few seconds, but for sites that have high traffic, Matomo would cost the
reconstruction of each opening of the statistical panel, which would require many resources
continuously. But then implemented a cron job that follows at regular intervals
like every hour or less depending on the frequency of graphics visualization and of importance
that are updated for the social media manager who is using them.
Another very interesting tool for the administrators is that both Matomo and the plugins are updated
very easily and semi-automatically. The admin receives an email with a link to
perform the update, I found it very comfortable even when in motion.
There is a nice assortment of plugins already included and free, while in marketplace
there are further plugins that can provide an annual canon, which in this case
includes its updates. Many also offer the test period.
Very comfortable are the Matomo APIs that allow you to control the management environment
or external events that can be customized with any language.
A few weeks ago, for example, I published on LinkedIn a demo of a endpoint that allows
you to add your own connection to the filters so as not to pollute the statistics, even
if you are in mobility, using the code red based on Node.js.
The demo ends here. I hope I have given enough elements to be able to create
interests and stimulate the adoption of Kubernetes in production environments for Matomo.
An orchestrator allows you to dynamically scale the number of nodes on which to distribute
Matomo pods and to be able to absorb very high traffic peaks, although temporary,
and to be able to save when the management numbers have gone down.
And a demo of introduction, many elements are missing, there would have been no time
to be able to see them all and the training is not even the purpose of this video.
I hope it is only the starting point with which a community in the Italian language can
start by sharing their experiences and the complete configuration files also for
other cloud providers, with servers in Europe, and push so that Matomo is adopted
in the various templates and marketplaces. I will be happy to be able to participate
with my own experience. If you want, you can contact me at the email in superimpression
or connect with me on LinkedIn to stay in touch.
Good tracking and autonomy, see you on the net.
Wow, thank you very much Massimo for this historical moment, I would say, because as I have already
announced on the social network, it is the first time that we have a 100% conference in Italian.
In fact, last year we had the pleasure of receiving the team from the region of
Emilia-Romagna, the talk was in English and this time it is really the first time that we have it
in the fourth language of MatomoCampo, then Italian, then English, German and French,
so I don't know if Massimo can hear me. Yes, yes, perfectly, thank you.
Yes, I would also like to thank you because you did all this work of recording the video
to ensure that the conference will be of quality and that there will be no problems in the explanations
that you are going to give, so unfortunately, as you know, I don't know much about the
configuration of the servers, so the question that I am asking you now, which is really about
what no one knows, so I know Docker and I understand the need to use Docker,
but I am not the first person to say that I have it in a very professional way,
that in fact uses Kubernetes and I don't understand the difference between using Docker
and using Kubernetes, I don't understand anything about Kubernetes, so I'm sorry to ask you
this question, but what is the advantage of using Kubernetes to install Matomo?
Yes, you have practically raised the question, I think it is more normal that it can be done,
especially for those who have to install and manage an online service such as web tracking,
which is a bit of a special service because it needs to adapt the resources that are allocated
for the distribution of the service temporarily, so not in a programmed way. I mean this because,
if there is a web marketing commercial campaign and obviously there is a phase in which,
suddenly, also because of a technical aspect of viral marketing, it is not easily predictable,
and therefore sites, landing pages suddenly ask for very high resources,
this if it has not been organized before with Docker, the resources have not been allocated,
so you can obviously run the risk of not being able to have a service at the same level
with the performance. An orchestrator allows you to run Docker images on multiple nodes,
not only, but these nodes can be, as I mentioned, with the Autoscale option that offers
the ability of a dynamic adjustment, so by increasing the resources, the orchestrator
is concerned with executing the pods, which are the containers, the images that are running on other nodes,
and this also allocates other nodes, so more nodes are allocated horizontally and the pods,
therefore the executions are distributed, so as to be able to manage the load. This, since it is dynamic,
this operation also allows you to save, because I can have at my disposal three,
four, five nodes, which are machines, servers, as long as it is necessary, then when the numbers
are reshaped, the architecture also reshapes and this allows you to save,
because the machines have an average hourly cost, and this is the reason why
an orchestrator is preferred. I don't know if I answered.
Okay, I don't know, in fact, I'll give you my answer, which I have understood,
so with Docker, in fact, the container is fixed and Kubernetes allows you to orchestrate,
so to make the container dynamic, or at least you can, I don't know,
replace it with another container that has more capacity to allow your system to work,
so Docker, in fact, only allows you to take a site that has a traffic that is always the same,
in which you have already thought that you can do a hundred visits a day,
and in fact the way of Kubernetes, in fact, a security to allow, as you said,
that there is a web marketing company that will bring you, I don't know, two million visits in more,
and that will then destroy your container, and then Kubernetes allows you, in a dynamic way,
to give more resources to the container to allow the site to live with Matomo, is that it?
Yes, and it also obviously guarantees continuous availability of the service,
because all the updates, both the host, so the various nodes in this case,
and the docker, in short, the executions, are always guaranteed,
so I can have a node that, for any reason, can be an update or an unavailability,
maybe physical, therefore, or logical, however, the whole service is standing,
and it is always at the maximum of the performance, so the dynamic performance,
we said, are the main point for the need to use an orchestrator
like Kubernetes, because obviously there are also other orchestrators,
so my choice was that of the most widespread system,
the most flexible system, more accessible also for a small company,
this is because it is very widespread on all the cloud, the simplest, most economical thing,
and what I wanted to show with this presentation was just this,
that thanks to the distribution of the Matomo images by Bitnami,
as obviously the digitalist charts that have been presented yesterday,
of which I am very interested, in short, I will certainly do some tests,
this allows, let's say, a capacity to be able to install easily,
this I want to show, the production environment at a certain level,
also as a minimum experience, so without worrying about anything else,
then obviously there is always the possibility of starting,
and clearly putting the methodology in place, to make the necessary experience,
the goal of my demo is in Italian, it was carried out in Italian,
just to open up to the small and medium-sized company, let's say, to try to increase the spread.
Ok.
Thank you.
Great, I also have some questions that are not secret, because they are in the chat,
but only for people who are going to watch this video in the future,
it is important for me that I ask you.
So another question would be, in Italy, how do the server administrators work?
In fact, do they work with an English or Italian interpreter?
Because to tell you the truth, we don't know it very well, in fact, the Italian market,
so I want to know if in fact there is the language of work for the server administrators, what is it?
Yes, unfortunately, let's say in 30 years I could write a book on the anecdotes of unpleasant things
that I have seen, even in companies of a certain size,
we are talking about several hundred cars, unfortunately, let's say, I also find server installations in Italian,
this is not very convenient, because obviously the ability to debug on system messages,
errors, logs, etc., is quite complicated, because the translations are obviously not perfectly identical.
Personally, I also find it difficult to find in a Windows server the name of the service,
because it is not really a thing that I always tell, let's say, a Windows certification exam that I tried in Italian,
so I said, surely I find it easier, now I had to repeat it in English and I passed it right away,
but if not in Italian it was really indecent, unfortunately, let's say, the assortment is very different,
the language does not have a degree of social penetration as deep as it happens in other countries,
I have also lived abroad, let's say in Italy, English is not spoken, not even in the work environment,
let's say, it is rare, it is really rare, that's why I said, to try to expand the target,
I preferred to try to do an Italian session, so to see if there is more curiosity and attention.
Another question that I did not put in the chat, I thought, according to you, that there was no documentation in Italian,
I speak more about the end user documentation, so today when you go to matomo.org,
what you see is a 100% documentation in English, they have made translations in French,
but I know that, for example, for France it is really a break for a part of the population to go to matomo,
and I would like to know if, according to you, it is the same thing in Italy, that there is a big market,
but that in the population in Italy, typically, there is really a documentation in English,
that is not possible, and indeed there is a market that is lost at this moment,
and that matomo cannot go to learn, because the documentation is in English.
Look, I'm sorry, because yesterday I was very confused, because there was your presentation on the aspect of translation,
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,
with Italian translations, I'm very happy.
Surely, let's say, the Italian market is a bit particular from this point of view,
just think that even in cinema there is no cinema that comes in language, with subtitles,
where you have the ability to appreciate, how to say, the execution of the original actors.
Here everything is translated, it is just a typical thing, a typical behavior, a bit anomalous.
Surely having a document, of the documentation in Italian, can facilitate this penetration towards the bottom,
this horizontal diffusion, here, maybe you can open the project if there is the possibility,
and obviously ask a community to squeeze in, to find themselves, then it is obvious that at a certain level,
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.,
otherwise it is impossible, but maybe it can be an approach, a way to be able to open more horizontally,
to increase the diffusion a little more.
Excellent. In your presentation, we saw that you use Digital Ocean,
so I wanted to know if there are services in Italy that, I don't know, that you use, like us in France,
certainly we go on Amazon, AWS, there are all these American services that we use,
but we also have OVH, we also have, let's say, beautiful companies,
I wanted to know if there are Italian companies in Italy that have the power to face, to fight all the United States,
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,
if there are obligations to have the data where there is hosting in Italy at 100%.
Look, since everything is obviously quite dynamic, I am not very updated, obviously, on the legal aspect,
I have remained to the fact that the need is that the servers are in Europe, because we follow the European regulations,
indeed, fortunately there is, because it is also faster than the Italian Pachydermic,
which is notoriously very slow, there is a lot of inertia in the reactions,
so fortunately, let's say, the European Community has the ability to be faster in meeting the requirements
for the emission of the regulations, and this helps us a lot, in short, the server farming,
Italy has a slightly particular geography and therefore has this vertical development,
so the point of contact with the continent is obviously Milan, and as far as I remember,
I have been working on the network since the early 1990s, when there was no internet, but there was the ITAPAC X25,
for those who remember it, the first network of Pachydermic accounts,
and the first nodes have always been geographically, obviously, in Milan, where there is the MIX,
where the main European global hubs converge, then obviously the Italian back in the years
has improved, and another important hub is in Rome, where connections converge through the Mediterranean.
Server farming has always been, historically, before Milan, and some in Rome,
but then there are a couple of cases in central Italy, Marche and Umbria, but nothing spectacular,
let's say, the resources in Italy are only for geophysical reasons, just in contact with the continent,
and that's about it. Now it's 9.42, so maybe we still have time for one last question,
I'm looking in the chat if there's anything, otherwise my question would be that.
So the use of Google Analytics has been denied, I would say, or I would say illegal,
from what I understand by looking at the social networks, and I wanted to know if in fact in Italy,
companies still take it as a joke, so let's continue to use Google Analytics
because the possibility of having a fine is about zero, or really it's a concern of the companies,
and so they go to do, I would say, migration, to go to Matomo, or to another solution,
or it could also be interesting if there are analytical solutions in Italy that we don't know,
I would say, in Europe, which are 100% Italian, that we need to know.
Look, you've said the right thing, and unfortunately you've raised an unpleasant issue,
because unfortunately, also me, working in collaboration with companies that deal with privacy and GDPR,
I must confess that the situation is dramatic, to say the least.
Obviously there is very little interest, very little adherence to the normative aspect,
but there is even in the technical aspect.
So the average of the achievements is so low that there would be a lot to work on,
I would say, with the necessary cultural literacy,
not only in the capacity of the technology solution,
because obviously it is taken a lot in the background,
that of security, that of the capacity to create and distribute a product technologically,
also from the point of view of the law, adequate.
Unfortunately, this is the reality, it is useless to hide behind a finger.
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,
and then the exposure is obviously broadened, and then there is really talk of insecurity,
as well as of incapacity, because I suppose that companies that are not able,
and are not up to it, but not only with the law, but also with technology and with a vision
in the capacity to create and distribute services, the problem is fundamentally cultural.
I hope that there will be more and more attention.
At the time, I am talking about the early 2000s, I had also collaborated with the association of webmasters in Italy, IWA,
for what concerns all the capacity to create accessible web content.
It was already a struggle not long ago, but in fact, if we look closely at the average of publications, etc.,
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.
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,
the first conference in Italian, I hope that there will be others in the next Matamocamp editions, thank you very much Massimo.
Thank you for the opportunity, thank you also to Lukas who followed us backstage,
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.
Thank you, thank you all.
Great, thank you very much, see you soon, ciao!