Ryax community meetup #1
So thank you for joining, it's our first Community Meetup so it will be a first try for now. We hope to get you interested today, I'm gonna share my screen right now let's go ahead touch screen
Here I go. Okay you should see my screen at the moment yeah okay perfect thank you thank you
So topics for today. Today we will try to fit this into a 30-minute session so we want to keep it nice and quick for you guys um so a few words to start with just just to explain why we have created the Ryax platform and and what problems that we solve then Yiannis will jump into the demo and we have reserved a little time at the end for a little chat if you have questions discussions. If you have any question during the demo during the presentation you can just write us in the chat and we'll answer all the questions at the end of the of the session. Let me just check because I don't see the waiting room right now. okay I'm just opening just making sure I can see if anybody's waiting in the in the lobby. Let's go. I'm gonna start very quickly so "why Ryax?". We are full development team and we are deep into backend projects that's our jobs that's the projects that we that we do every day so we have identified a lot of different challenges on this backend projects, being first-handed actors on these projects ourselves.
The first thing is backends are very complex. We know that when you want to build a full backend system you have to master tens of different tools, and it's very very hard that. The learning curve is pretty pretty tough, deployments back and wise is also pretty hard. You need to make sure that it's secure that it's reliable and it runs in production very very very tightly, so it's it's something that it's really not easy. If you've been developing backends for a while this is something that you probably also know. Maintenance is also a big issue because once you've got your backend deployed and running you've got to make sure that you don't have any bug in the Legacy and you need to ensure that everything can be a graded updated regularly and quickly. So that's that's one thing.
The second thing that we've identified and that's even more prominent now is that you we are seeing a lack of backend development talents on the market, it's it's I think I've read somewhere that we buy within eight years we'll we expect to be lacking like 85 million developers worldwide so it's something that's a real problem. We sometimes cannot find enough talents for certain projects so it's something that's really concerning.
The last thing is about infrastructure. Infrastructure is also a big big challenge when it comes to backend projects. You need to be able to at the same time handle infrastructure scalability so that you have your backend system can handle peaks and downsides in terms of resources. And you have to handle this while keeping costs at a minimum so that's really a big challenge as well. That's why we have starting building a new app a new platform to build backends in record time. What we are doing with this platform is backend Builder so our team is almost fully composed of developers so these developers have made this platform for other developers. What we do basically is we enable developers to build, run and maintain backend systems. So I'm just going to be opening for a new participant now okay he's joining. Through a workflow paradigm so Yiannis will be showing you that in a minute. I'm gonna jump quickly on this with full API capabilities and a ready to use set of Integrations. So you can already assemble your backend bricks together the second pillar of our platform is that it's low-code so what we mean by low code because there may be different different definitions is that we feature a no code UI that you can use in a pure configuration way which means that you don't have to use code to build the first bricks of your backend. But this UI comes also with custom code abilities so that you can extend your backend's abilities with your own custom code that comes from somewhere else. And we also feature a full control CLI so you can maintain this high level of control over the backend system that you built with Ryax.
The third thing was is more related to the infrastructure and the scalability that we've talked about earlier. We've developed our platform with the serverless paradigm in mind so we've Yiannis will be able to tell you more about that. But we've developed a kind of a hybrid serverless system within Ryax which enables us to be really agile, developing microservices very quickly, very light microservices while still being able to run more intense machine learning models for example. So this is a bit of a hybrid system but it enables us to be quite quite scalable while still being able to run heavy things . So if you have questions about this we can answer them maybe later.
And the last thing is open source so this is something that we deeply care about, this is our first operand so open source product. All of our projects are not open sourced but this is one of them so we we strong legally mean open source most of the people in our team are involved in overseas open source projects we use a lot of Open Source Solutions in-house so that's that's really something that we care about. And given all the challenges that we've talked about earlier we really think that open source is the way to tackle this very complex challenges because of the way the community can drive Innovations in our products, the way that the community can really drive the features and where we want to go um so we we are open sourcing this platform for these reasons and for all the benefits that comes that come from with open sourcing.
So very quickly before before the demo, we've we've thought about three different kinds of profiles for this product so we are helping the Ryax platform will help expert backend developers to save time probably mainly around the generic or reusable bricks that they will be able to to use to build their packing systems instead of recoding on or starting from scratch for the the most generic and common bricks. So they will they will be able to go very fast at the beginning of a project on this on this common bricks and then move further with their own code later on with the custom closabilities of the platform. The second profile we can help is junior backend developers as well. They will have the opportunity to build first stages of full-fledged backend systems with ready to use bricks and configurable bricks. Then also other custom code. And the last profile that we've identified are the rest of the developers that still tackle backend systems but don't necessarily have this as their main occupation, so frontend developers or full stack developers and the goal for these profiles are to allow them to work with backend systems because they may not necessarily have a skill set before to actually Implement backend systems. So these are the three different profiles that are helping with the platform.
So I am going very quickly here I think uh we can jump right into the demo if you have any questions just put them in the in the in the chat please. As we said this is our first Community event we are planning to have to host one every three months there will be one recorder. The point is to allow our users and potential contributors to have a say in the platforms roadmap and to hear back from the community regularly. In this Spirit we'll do a very very simple demo for now and in the next community meetings we'll jump into more details so the demo units will show you is as as a first brick let's say around what we can provide.
So Yiannis is a PhD in the resource management and scheduling and highest performance code high performance Computing so scalability again is one of his good topics of this discussion. He's Chief Technological Officer and so he you'll be showing you our new platform.
Can you see what I'm sharing here ? Dashboard yeah okay great. So based on what Julian just said I'm going to provide you a demo of Ryax. It will be a pretty high level. Let's say for now, we are not going to go in all the details or we are not going to do some complex uh uh let's say uh applications here um but um you know I want to stand out on something that Julian said that you know we we try to uh to facilitate uh developers uh you know on one side developers that are experts and a lot of times they have tasks that need to be uh done and redone uh all the times for different projects you know these things can be um uh mud is Amplified and can be done much faster by using uh you know systems such as low code um platforms like Ryax and and that's where we are going to see you know there are things within uh within an application logic that you may use and reuse a lot of times okay um so so here I'm going to talk about uh um a particular let's say uh automation that would allow us to uh to go through some of the functionalities of Ryax.
Once we log in the platform we arrive within the landing page here where we see the workflow. So workflows is the basic way to define a kind a part of the application logic. You can see it like that so I am going to go through some of the functionalities here and basically I clicked on one of the workflows one of the application logic that I want to show you and what I see here you know I see a canvas where I can go and edit a specific workflow. Now a workflow is composed by actions. The different actions and I'm going to explain afterwards how these are treated. But in general you know they they are they are going to provide a part of the application logic that is uh you know important for what we want to do okay in in our example here what I'm going to do is uh um I'm going to give you an example where uh you know we can um we can have an S3 bucket so AWS
Store ads solution where we can we can have a particular let's say um Place uh to to uh to take some files or to store files and we can imagine that you know we have this uh this bucket here with a specific folder and at some point you know we have an automation that whenever there are specific files that are discovered within a particular folder we we start a particular let's say analysis that um that is going to uh you know based on some logic uh is going to uh store a particular file in it's going to do the analysis and store a particular file within a database okay um now let me go through on how how we entered a new action here so the first action that we have created is okay how we trigger the execution based on on new files that arrive within S3 the second one is the analysis of uh of uh of the files in in our example here we are talking about Json files and and now I'm going to end to uh to insert one more action related to uh you know once we finalize the analysis of the Json I'm going to tell you how the logic is and once we finalized we provide a CSV that we want to let's say store in a MariaDB database okay um so the process of uh you know of uh adding a database maybe uh you know pretty complicated and if you have to repeat it a lot of times you know um it it becomes uh it can become time consuming whereas you know you can just uh use uh already prepared components such as the particular action here and and afterwards come and configure the the uh the different fields that you need okay so in in our example uh um I'm not going to configure the previous uh actions I have already configured them you know to to go a little bit faster but I'm going to show you how I'm going to configure this action and so I have the database I provide the database name here uh the username I'm going to copy um the particular password Here uh
with my second
So I did the password here um this is the address where uh the particular uh service so the MariaDB Services uh it can be found
the port and here we have the table where we have we are storing the data
and here is the the file that we inhered from the previous uh from the previous action okay and uh we can find it here okay so basically this alarm allows me to to uh to configure uh the um the particular component as I said each component need to needs to be configured it's important to mention here that each of these each of these actions as we call them within Ryax um is uh is packaged then deployed uh internally by the system uh as a as a Docker file and is deployed upon a kubernetes cluster which can be uh you know we are completely agnostic on different clouds so this can be either on Azure on Google AWS Etc or on on premises okay as you will see uh we go perhaps afterwards through uh really fast on on how we can install uh on on the documentation that we have available on how to install and you'll see that there are um there is a procedure that you can install that you can install it even on on your local let's say kubernetes deployment okay but but here it's important to mention that it's action here in the end is going to be um uh packets and deployed as a board upon upon kubernetes now the thing here which is interesting is as Julian also mentioned you know we are based on serverless we take the serverless Paradigm a little bit forward and you know we we can adapt upon um um a hybrid model where we can have either micro services that are deployed um longer or even serverless functions with uh um can be used in the case of uh you know you should want the fast deployment we do not need to have the resources occupied all the time yeah okay now let me um yeah before I deploy so let me deploy here uh while this is uh is deploying here and as I said the deployment means that the first uh pod is going to be deployed and then they will wait for the execution so uh so that we can have the complete execution now um what I want to show you here is that um once the the workflow is deployed to be able to uh to trigger the execution we need to upload files within uh the particular folders here okay and um and the files that we are going to upload are you know simple Json files with some parameters here and and then once these are applied we are going to make a comparison with let's say a threshold uh this is another file where we have the arranges of minimum and maximum values uh um in order to have some comparisons and some you know simple analysis just to show you know that the thing uh is uh is actually uh uh working in the back end okay so let me deploy here uh some files
okay upload now the thing is that um here this is deployed now it it has started uh has started the execution now the thing is that um the um the the triggering will take place and once the files are there and once we uh um and once this is done then the analysis is going to take place and within the analysis we do the comparison that I mentioned uh with the ranges okay and um and at the end at the end of this analysis um we uh create a CSV file um based on the fact that you know some of some files may be valid because there will be within the thresholds some other files uh like like this one is within the threshold whereas this one we can see here that it is beyond the threshold it is above the maximum value so this is going to be um stored within the um the different folder that we have here okay so we have the folder for the error um files and the folder for the done files okay the ones that are done are going to be inserted then in in within the database okay and this will allow us to see uh that the whole logic is taking place okay so now the thing is executing and um and we can also follow here and see uh the logs that are taking place okay so this as as we said uh as I said before um this is an execution taking place um upon a kubernetes cluster so it is uh um we are doing the monitoring uh of uh of these executions and this is something that you can find directly within the the user interface here okay and um now if we go back here we can see that the execution now is completed and we can see in the logs that we have inserted uh so one of the two files had managed the bus and we have inserted the files within the the database now um what if we wanted to uh let's say have a custom code that we want to uh
um to insert here and let's say that what we wanted to do is uh you know at the end of the of this process we want to upload uh this CSV file um instead of the you know after the database we want to upload it again on on S3 okay so what we need to do here is we can edit this uh uh this uh workflow and we can come and insert one more action here okay so before I insert the action here let me also uh go um a little bit more in detail on how we we can enter a new code within the within that IX platform okay this is important to mention here um so we have a
an integration with it okay that allows us to uh to enter a a valid git lab or GitHub um repository and and based on that you know um give our username and password I'm going I'm not going to do it now because we already have it and and come and scan the repository in order to find eligible codes that can run within the right function within the RX platform okay and this is something that we have done already before for these modules for example for this um actions yeah and what exactly I want to show you here is an example of of a code that would allow us to do exactly that uh exactly the thing that I mentioned before the upload of a file to S3 okay this is a common process that you know I I suppose uh people that using the cloud you know they are doing a lot so it would be much foreign to do it yeah and that's what we are doing here so now to to have this uh code eligible for for and I actually need to have this yaml metadata file uh where um besides some typical let's say initial stuff such as uh the ID human name the type of programming language that we are using and the version of the particular action um we need to have the inputs and the outputs okay because this is what is going to allow us to uh is going to allow us to do the connection with the other modules yeah this is important to understand directly uh you know from the beginning now this is the general let's say description of of the of the logic of this particular action and then we have the other file is the requirements.txt which allow us to give them the dependencies of the particular of the particular action because as I said we built this as a Docker file with our internal tools uh if you go through the code you you will see it's not as easy as that but anyway we are not going to enter into all the details now and but we use this file to build let's say the the the the docker that is going to be deployed and and finally is the the code itself okay so the code itself of course you know uh we need to use uh this dependency as we said and then we we come here and when we manipulate the inputs uh in a way that you know we can we can provide the logic that we need in this case it's a pretty straightforward okay so this having these three files makes the call the eligible uh for uh to uh you know to be executed within the IX and this is what we see here and eventually you know we can we can come here and build the module build the particular action and once this is built we can have we can we can have it within the repository uh where you know we can see here we we um we abstract the complexity let's say of the code for those that you know let's say uh do not uh need to go into this detail and what we have is a a um an amount of inputs and outputs that can be used to be connected to any type of uh um actions and to create you know different application Logics yeah and so this is what we have once this is uh you know once this is built within the module store then we can have it within our repository here and this what I'm going to do I'm going to add it here and now I'm going to configure it with the rest of them with the rest of the components okay so I'm going to take the CSV file uh from the previous uh I ins we inherit from the previous actions and let me also add here the AWS key okay so this is this is something that you need to do by hand
for the configuration part foreign
Here we are going to give the bucket name and here we can have a timestamp so that we can know what time this was uh was done okay so I can deploy this
okay and this is something that we need to um trigger as before we need to drag it by uploading uh some files here again let me upload the one one two and three for example
okay and this is going to uh to a trigger our our workflow here and and we will see within the runs
the execution has started again we have the different uh the different modules that take place one after the other and in the end we are going to have the the upload of the file to AWS and yeah this one doesn't have any logs we see here the logs and if we go back normally
we will see within the Ryax there most we have a new file that has appeared yeah ah so this means that I'm too late for my demo um okay sorry it took a little bit longer um so so that's that's more or less what I wanted to show you um you know this simple workflow um which we managed you know to to update we also show how uh we we can as a developer you know um bring out code to be eligible you know we can follow these are open source uh um actions you can find online and we can you can follow the the different files the different structures here to create your own logic of components you know uh and then come back within the the canvas of uh of workflow creation of application um logic creation and create your own workflows and it's important to mention also that there are a lot of Integrations that we are currently working and there are more to come uh in in the closed future um as you said as you've seen you know there are already some but there are more such as you know things such as databases uh particular cloud services um specific big data or machine learning AI Frameworks these are things that you know we have uh we have already worked worked with and uh there are already things available but more things are to come before I finish let me just um and and I will take uh any questions you have let me just go through a fast uh you know uh the um the the code is open source within GitHub and then you know it is directly connected with uh with our uh gitlab um uh account where uh the code is there if you need to do any meds request or create any issues you can go directly within the the gitlab account okay uh which is uh which is also given um but um and you just need the you know to to uh um to go through the documentation and uh try the installation or the local machine or existing kubernetes cluster you know you can find all the details here and we are open to feedback and uh and whatever uh you know um Improvement or feature request you may have you know we would be uh glad to exchange with you uh either on chat or Discord or by email whatever you prefer so that's what I had on my side and I would be very happy to answer to any questions you may have
yes thank you so if you have any questions you can look up your video on mute yourself uh we we can take our questions for sure or write in the chat
I just share
yeah sorry yes I remove your screen uh no problem but while you're waiting for questions I just wanted to share so if you want to keep the discussion going and um and you have several ways to keep in touch um you can check out check out our GitHub projects uh it's right at this URL um you can also join our Discord server uh if you want that it's a 24 7 hotline with us so and with our community so it's always nice to be part of the Discord um maybe you wait yeah if you I don't know if there's any I don't see any any question right now
I think we are probably six or seven minutes past the time that we've set yeah
yeah so well if there's no if there's no question um you can always ask them on the Discord server if they pop up later so yeah thank you for being here um thank you for attending uh the next one will be in about three months probably and thank you Yiannis for for the demo thank you very much and keep it up keep in touch we'll send you we'll send you the Discord server Link in the GitHub link on your emails because you've subscribed to the to the event I will send you the record as well uh the recording um
And that's it thank you guys bye thank you good afternoon good evening see you next time