 Okay, thanks very much for coming today, a bit late notice, but you see I had a message on Twitter on Wednesday on my slot, but I don't know if you guys will get it. Last year when Slava came, she came this week. I was again a very last minute thing, but I don't know if they said, oh I want to come sing for me. I'm going to be singing for you, good chance to meet some of the Meteos community, what he said. So we could be exchange a few Twitter questions and then I'll sing. So I see a bit more than just getting up for a foundation. So I think today, we'll just quickly have an introduction from Aaron and maybe he can discuss like how he got into Meteor and what he's doing, whether how he's doing it. And then you can talk a bit more about the projects he's kind of been in place. It was like the era, which some of you guys might be using production. We just had about 10,000 production apps using this now, so that's pretty good. Let's get a little scary. There is a few interesting things coming up like the Galaxy Roller, Meteor, and maybe what gives an insight into the work now. Meteor in the future. So I'll let it take over. Thank you. I'm not doing a fair way in the top kind of thing. I just need to discuss with you guys. So how many of you guys are using Meteor production or maybe have used Meteor at all? Right, cool. So you think it's any production apps? It's going to be deployed for a couple of months. Right, cool. So basically, you can try Meteor, right? So what I do actually is I'm doing a list block called Meteor Hack. Meteor Hack, so actually I talk about a lot of topics with Meteor like a couple of stuff. And basically my area is going to scaling. So I'm going to Meteor scaling. So there are a lot of stuff you need to do with scaling stuff. I try to simplify all this stuff. If you are going to do something called cluster, it's a kind of scaling solution and with a multi-core support answer. So when we are doing Kadira, so it's actually using a vehicle department. So we are saving like 10,000 apps. And we are processing like 1 billion messages per day kind of thing in Netflix. So you can ask something about like how to process that kind of stuff and how to store like using mobile media and stuff. So we can have discussion on that. So basically these are the things I do. And I occasionally use some lessons on bulletproof media. So it's a kind of advanced tutorial kind of thing. I have a lot of articles, actually lessons on how to how to build modern data and architecture stuff. So basically these are the stuff. And so if you need to figure out how it is going to be in the future, the next session will come with something like with joints, like you need to join between collections. So this is an inspiration. And after that, maybe we can have SQL support with Postgres and MySQL. I'm not quite sure about the MySQL, but maybe possibly Postgres and MySQL. Postgres coming soon? No, not soon, I think. Maybe we have to wait a couple of months, maybe four months more than that. And after that, maybe before the SQL, so we have a hosting platform from Meteor. It's called Galaxy. So it was an MBG with a company working on that one. So actually we're using Joker and stuff like something called Kubernetes from Google. So it's a kind of customer management solution. So they are building Galaxy on top of that and providing a media-specific function. So the idea is I think you can have your own Galaxy and put it on your hardware. You can run on your own faster. This will deploy your apps, and then it will go into service, like that. So that's the plan for them. So if you have any kind of questions, like what do you want to talk, I can. Actually I know I like 60-70% of the how for Meteor works. So you can ask me and I can explain. So will Meteor App integrate into... No, actually Meteor App is for the separate project. Meteor App is a way to deploy your apps into any server. And you can give multiple servers as well. So it's kind of like... You can simply give configuration to a simple design file. And then you can simply set up and configure servers. And you can simply deploy, give, and deploy. So basically Meteor App is the way you can simply bootstrap a media app and deploy it to some hosting cloud. But the Galaxy is something with... You can control a lot of apps in it. You can do bootstrap. So basically Meteor App is your test plan. You can deploy some easy solution. So they're not going to expand this into something big because Galaxy is the tool behind it. So we need to do that. So that's it. So what else is coming up on there right now? Basically there is one. QL and Galaxy. That's the key things for this year. Maybe we have some... Maybe there will be Angular support. So Angular 2 is coming. Angular 2 is something great. So there are a lot of stuff in it. So there will be some integration with Angular 2. That means you can simply run Angular on the front end and back end part will be done using Meteor. I think that will be something don't kind of easy. So you see a lot of reactions. Yeah, there are a lot of discussion on how we can do react. The thing is... So it's very hard to predict actually what react is going to do because they are building something called GraphQL and something called Relay. So it's kind of like two-ranging... GraphQL is kind of two-ranging. It runs on the client side. And you can think like an ORM kind of thing. And then they have something called Relay. It's a kind of like... So it's a kind of minimum on the client side. So they are trying to capture the client ends. I mean the Google and Facebook... They are like... They are trying to compete with each other. For the client-side frameworks. I think there won't be any official integration with React and Meteor. But Angular and Meteor... So there will be something like that. And there's Meteor Forum. How are you guys? Meteor Forum like... Not quite sure the name. So it's really... So there are a lot of talks while you're here. A lot of people talking about cool stuff. I think we need to have a... We should do that at least once a week, once a week. So there are a lot of stuff. And there's another one called... Great, right? Great, right? Great. So based on your experience, which one is the most... Which one is the most heavy performance part? In Meteor, right? Yeah. One thing is called... It's called Mergebox. So it's something on the Meteor server. So actually Mergebox is something like... You have over time on every client on your application on the server. And Mergebox is the kind of thing they're trying to optimize for the network. So that means they're sending only the data actually the client needs. So because of that, there are some computation on the server side. So that goes to the CPU side. So that's the issue. I think they are trying to move the Mergebox into the client side. So basically there won't be any issues with that part. But I think they're quite not sure about that. So the bottleneck with Meteor is actually the CPU. So there won't be any RAM issues. The CPU is the only thing you need to focus on. And it's quite heavy actually. Compared with an older app. So there will be like... You need to have more CPU power with Meteor. Frankly that's the thing. Actually I'm not quite into the apps like... Because I'm creating packages and code stuff. So basically I'm not working with much applications. But I'm not much expert with the... But I know something from Meteor Kitchen. Meteor Kitchen I think. And there's one for my invented mind. So this is Meteor Kitchen. So they have GUI to create the... I think people say this is something great. And there's another one from invented mind. But I'm not quite sure the name. Defensure. Defensure. Defrensure. Defrensure. I think there's another one from the invented mind. So they got something. Defensure guys also have something like... Vented mind. Vented mind is the... So they have something called like... Maybe I'll see a line. Yeah this one. I'll see a line. They got this Meteor Kitchen. It's good for me. And yeah that's the thing. And so we are working with a new router called Floorouter. So we are competing with Ironrouter about something different approach when creating apps. So we can... What are the advanced... Yeah Ironrouter basically we have a lot of computation like... So it's model like... It's a single solution that you can integrate all the clients and stuff. So with Floorouter we try to like... Separate stuff. The router is actually doing only the routing part. So the other stuff and by the template layer and so on and so forth. So that's the thing. Ironrouter is a single solution you can do whatever stuff. Within the Ironrouter. But Floorouter is some single tool for routing. So that's the main difference. Is there any plans to put the routing in the core? It's not something like planning to build a router inside the core. So they are trying to get Ironrouter or something else with... Floorouter with the standard distribution. So it will be Ironrouter. But Ironrouter will be coming with the Meteor standard build. So you can use routing as... So there's no plan that is coming or any other stuff in that. Maybe we can handle it. So that's the thing with Meteor. We can't expect the wind things coming up. So it's really hard to predict the roadmap. That's how they work. No idea. Which one is better? Even Ironrouter or Floorouter. For me actually Floorouter is good. But so some... Ironrouter is quite good also because it's very easy to start like. Not easy I think. Stop your resources. So examples, a lot of stuff. But with Floorouter we try to create this in a... Performance as the key place. Like improving how things are rendering stuff. So there won't be any... There's no kind of... Lot of tutorials kind of things for Floorouter. But still we think it's really... Is it released already? Yeah. I think you have a... A kind of architecture for templating rock. Yeah. No actually it's completed. We had a... So we call it Floor Architecture. But the problem is there are... So we had our own component layer as well. But the thing is in the component templating layer there are a lot of stuff there. So they react and there are a lot of stuff. So I think it's... So for us the best thing is to stay out from these kind of stuff. Like from the templating area. So we have the Floorouter. So it's production ready. And a couple of guys are using that. And actually we are using that one for the Kadira and... Glutbroke Meteor. So yeah that's the thing. So we have pretty good documentation here on the readme. So it will be... And we have a section on... So you think that I can now... Take a quick look at the input flow. Sure, sure. So do I have to come to see if... Like your Floor Architecture component... No, no. We don't need to use components. We can use normal templates. Normal templates. So we can... We can show you some... On this one... On this one of the packages that depend on how I'm wrapped. So... Yeah, yeah. So the one is called... Like... Authentication kind of thing. User account. User account. Actually they're working with the... Plural integration. So they have it done like... 50% of the work is complete. So we can have that done in one month. So I think that's the... Actually... Everyone is looking for it. The thing is... I'm not actually using these... Those kind of apps because I'm not... I keep to the applications. So that's the thing. I'm not quite familiar with... I haven't used it actually. Based on your experience... Based on your experience... Do you have examples of multi-tier... Meta application? Okay. Meaning that you have the web... App. Meta. Behind the scenes you have... Much more complex business... Or more close... From the testers and so on. Do you have some examples on mind? We are here... Kind of thanks. So... Actually it's a kind of... Exactly on the part 10... It's a simple app. It's a big show in the library. And then... We have seen... We are collecting... Main tricks... We have known that application. So we are putting in another... Q. We use Kafka. It's from the... From LinkedIn. So they can process like... Like kind of data. So we are putting in that... Kafka. And then we are doing some background work. We are using this... KafkaQ. And then... Negligating matrix. And then we are putting into the property. And then probably... YouTube app. So... Negligating data. Negligating... Like... And then we will... Simply... Change the process kind of thing. So... Yeah, yeah. Negligating data. And then... And then... We connect to our main UI. It's in DDP. So DDP is a... Protocol between... The... Meteor client at the server. So... Alert system is powered to the... DDP. And we have email reporting. It's just... Something similar. Okay. So you can have a lot of school stuff. Like... You can see... DDP is the like... Microservices... For the whole kind of thing. But there are... PLM apps. So we can think like that. So if you are planning to do... Microservices with... So... Have you guys know about... Microservices? Something new? You... You don't know. So Microservices is something like... So... When you're building a PHP kind of application... You put everything inside that. Maybe... I'm not sure. Maybe... So... With Microservices... You... You... You separate things like... Your email services... It's different. Your like... API is different. The... UI part is different. So when you're connecting... Each other with... Other APIs. So that... Microservices. So... Okay. A question related to Microservices architecture. The traditional approach... For API is restful based... API. But with DDP it's a very different story. We have a lot of... Caching and so on. But you need... To... To... To... To... So Microservices... In which case... We still keep the... For... For... For... Yeah. I think it's really... Yeah. We're really hard to... So that means... You have two applications. So... You can send like... Get a very efficient... Super connection open. But if you try to open... Lot of sockets... At the same time... It's not quite a good thing. But I think... Internally... When you're opening sockets like... We have to... We don't have to open like 100... Not 100, like... 10,000 sockets. Communicate with... Two different applications. I think 10 sockets is a good idea. But if you are... Getting a lot of stuff... The problem is sockets... It's like... You need to... Manage these sockets. Because... In rest... You simply send a request. If they fail... Send again. But with sockets... Something different. You do work hard. Sometime. So it's... It's not a win-win... I can't say... Use this... Use this now. Like... You do work on that. This is not a win-win. It's hard to answer questions. Okay, so... Can I ask a more fun question? Yeah, sure. Because it's something like... A lot of people want to make like... Move out apps. So I'm wondering like... Is there any integration... For like Kodoba... HammerJS or... Yeah, I understand. There's a competition integration in Kodoba. Oh! You can simply like... You can give or run iOS. You can simply run... Go for it. I like the main... I think version 101. The top. Like... In November... Or December I think. It's a process. Yeah, yes. Like that's elastic. Oh! Okay, it's long. You can just do it there. You can write iOS... Or Android. Android. All the iOS and Android. And very fast. It's still like... In my mind... Yeah. What do you think about... Sikka? Sikka. Sikka. Okay, I like... We actually did some experiment with... Yoastatite. With this kind of thing. I didn't say... Sikka video. So Sikka is a kind of fireball... Kind of Cloudflare. Like not exactly Cloudflare. So I can show you some demo. Have you guys seen this before? No. I can show you. Right. Awesome. So I'll show you how to take down a media app. That's using the... Give your browser. So we're going to share it. Because you can simply... So someone is running a... Weeks panel. So we can simply run a script... On their... On the Weeks panel. And we can simply... Charge them and... The account. Like if you need to run a... Follow with this kind of stuff. So we can simply charge this... Weeks panel account. Increase their limits. So these kind of attacks are very... Various. So it is family app for everyone. So we will... Sikka is kind of like... You can simply protect that one... With the capture. So that's the idea. So we implement the like... Call stuff. So we can... I can show you. Maybe... Like this. So when you are... Running the... Attack again... This time. So... Write... A couple seconds. If you identify this... Your browser is coming... Something new. So... And it should start. Then your browser will be... Not... UIP address. So... So... Here some functions are like this. And... Other people have... Start to talk about... What's this thing? Are we going to take this into code? What kind of stuff? So maybe the... They have some plans to integrate this into... Code. Maybe some other package. Rate limit and kind of thing. But I'm not quite sure... When that will come. So now we have Sikka. So we are trying to implement that one. So right now... This is a package... Editing with UIP. But we are trying to... Know this into a... Brow balancer layer. So we can... We can protect the... Your request from the... IP tables kind of thing. So... From the network layer. So that's the... The plan. So we are trying to do it... So... And... We are working with like... Some... Media specific... Like... Brow balancer solution. So right now... When you are running real-time applications... So it's really hard to... Scale. Like because... Meaning... Normal... APNL kind of thing. Normal web application. We can simply send the request. So we can simply... Like... Brow based on the number of... Request. But in real-time applications... There are open motor socket connection. There are a lot of stuff happening behind the scene. So sometimes... Number of connections... Is not a good idea to load balancer. And we are planning on a... Distribute a kind of load balancer. You can simply... Added by the CB... Usage... And route accordingly. And it will be added into the... Two... Just simply drop that into... Openities... And have this one. So... That's the future kind of stuff we are planning. So... It will be not only for Meteor. It's kind of for the all the... Data and applications. So what are your... All the other stuff. Basically for the... Web server. Kind of... You have some cluster... Yeah. Yeah we have cluster... Yeah it's... When you get through your... All you can have free time. Cluster Meteor. So this one is my... Project like... Meteor cluster. I think I did the first committee in like... 2013... Or maybe... 2000... Maybe... Before that. This cluster is something different. This is cluster like... Early days of Meteor. You are trying to use a... Application running on multiple servers. This is the tool. But this is something out there. You don't need to try that one. We should not try it. Like... The next one is cluster. Actually... This is our... Distributed node balancer. It's inside your application. So then... Slide... So it's... I can use on there. So now... So this is my working. We are in the... DNS provider. We go to the load balancer. This is normal. I think we are trying to improve. So... It's not something like... EngineX improved. We are trying to like... Decentralize things. Kind of distributed. Trying to... This is hard to compare with the... EngineX issue. It's a problem. And we have the... Multicore support as well. And actually we did the load... Actually... We did a... Performance test I think. For this one. Was it down the bottom of the screen? Ah... Sorry? Was it down the bottom of the screen? No. I think... I did a separate... So we have like... So we... With one like... You can see there... Just look at this... This one. So we have... Three servers running. It's service processing like... 2500 connections. 2500. Passenger, yeah. On the Ruby. So we compare with that one with Passenger. Like... We have a lot more of this one. So we are running with Passenger. I think the performance is... It's comparable. Similar. But we have... Same performance. We... To compare with Passenger. Like we have... This is the... Payload size. We use a single core... We are processing like around... 2700. Passenger for workers. So... Cutting for workers. So we get... 3.5x performance again. Like... Using for workers. And we cluster. We got 456. And we have... Payload of 200 kb. Same, same, same. Same difference. So... That's it. And with... With Passenger actually... They are trying to proxy the request... To the... Each individual post. We are running cluster. They are trying to like... Send actual... So called connection... Directed to the... Like... Undercount worker. So... There is no proxy between cluster. Actually... This is not something we do like... In the... Not... There is also... They have... They have cluster package. So... They do the same thing. So we did something similar. So... Actually... We ask why we can't use them... Not this cluster. So... Not version. So we just... That version... There is no support. Sticker sessions. Sticker sessions. So... We implement that part. And that's why we need to use this part. Instead of that part. These are the kind of hobby projects we do... At Media Hacks. Like... Trying to do something crazy stuff. And trying to see how it works or not. There are... A lot of things... We have done. So this is... There are things actually worked. There are other stuff. How many people you got at Media Hacks? Like four. Four people? Including me. We are trying to expand... But we can't... No. We can't decide... Because we are working with... Like... Media only. Or we are expanding to other platforms. Like... That's the idea we are trying to consider. We are working with... Media real stuff. Maybe... Some of it. Different will happen. So... I read your... Not entry or entry. Not entry or entry. Your integration. Your service. Working on it. And... When about... Right. Coaching. Yeah. Coaching. Yeah. Coaching. Like I did in the early days of testing. Actually... I read your integration. I'm excited. Isn't something like... One click. One click. Your... Your local... Local to... Production or... Yeah. You can think like that. But... But the idea is... You can simply... You can simply deploy... You can deploy a new code to the... Your server. Your... Your code repository. Repository. And then... If you grab that code... And run the... And then deploy your... Your... Service. So... In a real situation... We can think like that. But... But... It's not like... Something... Something... Something... Something... Something protection. Something very big. Something very big. You need to always... You need to always... Treat manually. Otherwise it's... It's... Small change. Small change. You can simply do that one. Do that one. But if you are... If you are doing... Reaction... Reaction or something... But... You can try to... Staging. Staging. Development. Development. Kind of projects. And then... Projects... So you... So you... So you... So you... So you... So you... So you... So you... So you... So you... So you... So you... So you try... So you're trying to do something... Objectification. Objectification. You're trying to help us... To keep in your environment. Staying... Staying and developing and developing... Production. Production. And staging... Staging you can do. You can do that. You can have a testing program. You can have a testing program. You can have a testing program. So... So... I think I... I think I... It's... You need to try it out... You can simply reduce it. You can simply reduce it. For the... Development kind of... This kind of things. This kind of things. If you know it, you have code disabled production using continuity integration, so that is something unique about it. So, you can try it with development kind of thing. And this one is really good for the continuity. Integration is continuous, it's good for the packages actually. So, let's say something like VTA cluster. So, we are having all the like let's say not not cluster. Let's say flow router. So, actually I am not trying to see all the code. I am not running all the code like testing these things. The end code records. So, there is one with group supposed to think. So, we have the old things happening. So, in the top, you can see at the end like so all this has been passed. Each and every commit. So, we can simply see things are worth it. We don't need to run our code over one. So, that's the benefit of having a continuity integration. But you shouldn't use continuity integration for the deployment. So, that's the only idea. But actually what the provider like code ship propane is, they promise you like easy deployment and this kind of thing. I was thinking like is it really worth the investment? Because actually code ship is Ruby Rails originated on the, they begin on Ruby and Ruby. But now they say that they are compatible with Ruby. So, is it really what they say? Okay. So, code ship actually we can run our own shares. We can add any kind of application support. So, that's why they say it's about everything. But not for production. You can use that part but it's not ideal in a real. You have a lot of integration with other platforms. So, you guys try to do something. The most new, right? Yeah. If anybody wants to show what they're working on. Oh, right. Yes. You have to be more with the flow.