JRush Episode 4: Q&A Session
(00:01) foreign q a session or I would prefer to say that a panel discussion probably we have number of questions from our audience which I would like to voice to our speakers now and when I will have a secret question to every speaker and at this panel about Java of course so uh we have we have a question to Dmitry Dmitry uh you mentioned that the arm servers available in Cloud at AWS and do we know any other um Cloud providers or manufacturers of of arm servers where where we can can get where we can buy or get access to an arm server
(01:09) uh yeah I mentioned that uh in the end of the talk so you can rent a server uh built on top of Hunter Ultra in Oracle cloud or in azure or you can buy your physical server from multiple vendors again based on Ultra so gravitones are available only in ec2 but if you need Ultra you can buy a physical one there are also others of course and other clouds as well like Alibaba with your town or whatever very interesting I I found that the instances on arm servers and on gravitones at AWS cloud is really cheaper than the Intel one so it's
(02:02) definitely worth to check and we have a question to Mary Mary um yeah we uh we know uh several different streaming Technologies like Apaches Park Apache fleeing and you you gave us the introduction of Apache pulse or can you briefly explain the difference between them if that will not take that's right they can oh it can take a whole day no I'm just kidding but real real quickly right so Apache Pulsar is more the event uh streaming broker and it's ideal for doing messages ingestion uh so more of the the streaming uh kind
(02:50) of front end if you can may say so and then Apache spark is actually more of a batch type of processing for streaming kind of data so it's ideal too I think there are lots of folks using it using it for machine learning type of applications or AI type and then with Apache Flink it's slightly different too because it allows you to also for ingestion but then its main thing is really in kind of the event streaming kind of processing kind of aspect too um and so so I I would think yeah and and so I would think I would suggest
(03:22) that you can actually use it in combination like Apache Pulsar for ingesting data and then basically pass it on to fling for further processing because you can do kind of kind of fancier kind of SQL kind of uh you know message selection type of thing to it too so to to all your streaming data so yeah so you kind of use them all kind of to gather kind of a nice combination and use them for their own each of Their Own Strength so yeah each other and provides additional benefits if we use them together yeah that's right yeah this is great yeah we
(04:00) have another question is like can the technology you described help with fraud detection you're asking me yeah yeah yes in fact that's what it is like Apache Pulsar we kind of suggest that you can use it for again right more like your monitoring systems let's say Investment Company Financial especially I think that's where strength can you know can you can kind of tap into the strength of Apache Pulsar think of it more like an ingesting data you're constantly your process is watching the data that comes in in high high volumes
(04:36) right so many large institutions you have all these accounts and things like that so you can like monitor any type of unusual activities that happens and then you can immediately kind of signal right to account holders well something is wrong all these kind of things you can write logically to kind of interpret any kind of suspicious activities things like that so yes of course yeah you can think of you using event streaming um software to help with your fraud detection kind of purpose so yeah yeah of course of course of course so in that
(05:08) case we need to analyze the enormous number of transactions which which are going through the financial institution and the next question is more technical one but uh like um our participants are worried about the garbage collection like stop the world think what might happen and throws the whole extreme process and think how Apache pulsar deal with that with the stop the world thing stop the world because of the garbage collection that's a very good question actually yeah um currently I don't have the exact answer
(05:53) for that but if you can give me some time I'll go dig it up and kind of look that up for you because it is sure I have a question probably uh it's Federated right so not the single note at the time can produce uh that's well income and data yeah yeah that's right yes so yeah so you have to be very unlikely to have stop the world pauses at the same time yeah yeah yeah absolutely true it should should have a cluster of notes and split split the the stream between them but yeah we'll we'll let Mary yeah
(06:36) okay okay yeah sure and more the question for you is foreign share your experience of using that technology you explained in production to use it in production or debts so because I had to actually shorten my um presentation a little bit I was I was basically going to I was I was planning to kind of go into details of using um you know openshift um which is basically built you know on top of kubernetes and brings along all the brilliant features of kubernetes but it bundles it with some essential features that ultimately
(07:20) provide the best experience to both developers and operation Engineers so that was the part that I was going to explain later but given that my talk was only 20 minutes I couldn't actually go into details of that so what we're using at Discover is actually openshift container platform from Red Hats or IBM let's say um and and again being at IBM for five years I dealt with a very large number of clients across Europe Middle East and Africa so many financial services companies that they wanted to actually
(07:48) Delight their developers and make their developers more productive and again using kubernetes is great you know bare metal kubernetes or a flavor of kubernetes on you know any one of the public Cloud providers you know when you go to openshift obviously get a number of features that makes it even easier for your developers like you can point your cluster your openshift cluster or kubernetes cluster to a repo and and everything else is going to be taken care of by openshift so it can easily just continualize your application
(08:18) deploy it gives you the sort of URL and then you can actually see what's actually going on in two different perspectives of developers and operation Engineers like administrator in in your console and it comes with a very nice console as well web console and then you can actually view everything through a you know user interface that than CLI which makes it much easier to kind of manage everything you can see the number of Parts running you can see how things are scaling which ones are actually getting hit if there is anomaly like you
(08:47) know when we were talking about you know for instance you know fraud detection or anything like that it actually makes it easier for you to even drive Insight from your application and see what's happening in terms of your firewall rules in terms of the r backs you know role-based access control and all those things like it gives you a great flexibility um and and again when it comes to CI CD as I said you can just you know Point your cluster to your gate and everything else is going to be taken care of by
(09:14) openshift and that's the beauty of um openshift because it kind of bundles kubernetes with so many essential features so that's basically my experience Alex with um kubernetes in you know in production again mainly openshift but DSi I'm using a lot of uh you know for my hobbyist projects I'm using kubernetes on so many levels like you know even on Raspberry Pi's you can have or your computer you can even have mini Cube for instance easily run it on a single node um cluster on Intel for instance processor
(09:46) I've got that I've got a big Raspberry Pi cluster here next to me that you know I I'm still kind of you know exploring with that I can actually show you that one if it works no it's not this one it's it's right there as you can see this is my Raspberry Pi plus 125 um Raspberry Pi all bonded together but yeah so you know apart from production yes I've dealt with kubernetes bare metal and um you know different platforms and service very very interesting more thanks a lot so as I understood the the transfer of that
(10:17) solution between different different clouds providers or on premises is quite easy right um so it depends um so basically every cloud provider comes up with a flavor of kubernetes and they basically bundle it with their own plugins with their own even UI dashboards so many kind of you know connections for uh you know database um you know you know Frameworks or you know machine learning Frameworks again it depends and when you do it on openshift openshift on an AWS on Amazon on Amazon web services on Google um and Azure is an IBM cloud is exactly
(10:59) the same version as far as you know my you know years of IBM basically goes you can actually build your application once again that was the promise of java a long time ago Billy bonds employed anywhere so basically you build it on on openshift on AWS and you can easily Port it onto IBM cloud or back and forth so that basically gives you that flexibility um whereas with kubernetes you still need to do a little bit of rewrite you need to kind of you know change some of the modules and it's not like a you know
(11:27) lift instant shift because again every cloud provider public cloud provider they've kind of built their own flavor of kubernetes which in some cases actually works better than the other ones again depending on your workload your applications but it's not like you know as easy or seamless transfer as you can imagine but as with openshift actually it's much easier and faster I've seen clients moving their applications from Azure to AWS and you know vice versa basically very quickly um yeah this is this is interesting
(11:57) because all Cloud providers also uh has their kind of variety of apis for databases Kafka and some like Services which our applications usually use so I thought that like the main issue should happen on this this side like with all the services did you mention any any any any issues there or they're resolving pretty pretty quickly um so is what I can say is like you know when you look at the openshift web console um in just in particular the web console on all Cloud providers is exactly the same because that is that is
(12:40) the red you know web console that you know red had designed and it's just like you know in terms of training your developers and kind of you know making sure that they are fully familiar with what they're doing if you put that openshift on AWS if you use Rosa they call it on AWS red hat openshift on AWS and or if you're using like the Azure version is exactly the same because of the web console so um even if the you know some of the underlying features for instance AWS they've got some of the you know their
(13:09) great Services connected in a way that is more seamless and much easier to kind of you know integrate into your openshift platform um but on the surface is exactly the same for your developers from the developer productivity perspective you know your developers don't need to be retrained they don't need to kind of go through another set of kind of skills for that particular Cloud platform whereas if you're doing VM or some other way nice you know going from AWS to Azure is not easy you have to get returned there has
(13:36) been openshift is exactly the same that's why for instance we've got um you know we are using openshift on AWS mainly as our core platform but we've got other Cloud providers as well and what about uh to use these as the cross-cloud solution if you run applications simultaneously in different clouds would it be suitable for that so red hat offers this amazing tool ACM um Advanced cluster management tool basically so you can easily see where your application is running how many clusters how many like you know the the
(14:09) number of resources provided to each one of them and you can easily shift and you know put it on somewhere else and then kind of you know move it somewhere else like I don't know if you've seen um the demos that bird Sutter our friend basically he has done like he's done an amazing job showing people how you can actually move your vocals from One Cloud to another easily through the through the dashboard um again for very heavy applications and you know scale like highly scalable and large scale application there needs to
(14:35) be a little bit more work it's not just like a drag and drop but in a majority of cases through the advanced cluster management you can actually see what's going on and you can easily through the dashboard decide where you want to run a particular part of your workload or your macro services and it again red hat is trying really hard to make it easier and easier day by day as I can see like you know I can see all these conference talks by Red Hat developers my my friends and I can see that things are
(15:01) getting better and better you know Mary and I used to work at our game we had some you know amazing um you know experience as developer Advocates you know um across the world again Mary in North America yeah super great so so red hat provides us the tools the management tools for kubernetes and pearlsoft provides uh us the very small and efficient performant containers for those applications you're a great salesman Alex you know the way you plug it thank you thank you Dimitri Dimitri we have a question on your your talk about arm
(15:52) um is is there a way to be assured that the specific application what's the end user has would run like the firstly run the same way it runs on Intel on arm and how do we know that this application would run better on arm servers it's probably a bit a bit complicated question yeah there's a simple answer you must test it like you run your tests well and you select your platform so your you must be sure that your open jdk is tck compliant on that platform right because there's a technology compatibility kit for Java so
(16:49) you should take a build that passes the testing to be able to run anywhere on that particular platform to run your Java code of course as I mentioned there are some mistakes that could be made in a program That x806 Forgives you well it also happens you may have external dependencies because if you start migration well it's so it's kind of obvious but you still have to think about that like you may use a patch up also you may ask yourself a question is there a container a ready-made container image with Pulsar
(17:30) for arm ecosystem well actually there is it has been released only by last month oh cool that's great uh if it's like production rate right but also sometimes it's not it's not the case like you may have a different strategy we use kubernetes and different um ICS can be mixed within a single deployment across clouds across regions because uh important thing here is that kubernetes itself works on that architecture and it allows to run different really different machines within same cluster to manage them just to know that they're
(18:18) different they are they are different types of nodes right and you can specify what Bots can exist there or whatever thank you thank you we are running a bit out of time I have a final question like I would like to ask you guys to provide kind of a short question for a short answer for this question uh Gemma Java got is 28th anniversary recently on May 23rd and my question is what they think what makes Java still popular after 28 years in production in many many organizations on many many developer laptops and desktops what
(19:16) makes it still a live vibrant and so popular well I guess if you don't mind me starting first there are many reasons I think technology wise is good but because myself I'm a Chicago Java users group lead right so I tend to kind of think also in terms of the community I think definitely Java has a very Vibrant Community and folks you know that are in the community are just so friendly and nice and then the whole you know JCP process all of these things are so so good you know and and actually I have to
(19:52) point out too because I recently heard right some other language groups are having some sort of dispute right they're among themselves whereas you never hear of it in Java so I think the fact having a really good Community really really helps and and it's uh and it's been 28 years too so it's kind of proven and uh and also is in product a lot of production systems around the world people may not all be talking about it because it's more of a okay back end type of thing but the fact is you know it being so robust I mean that
(20:23) technology is proved it speaks for itself too I think and then with this strong Community ongoing I think it's really keeping it you know vibrant the whole community so from from that perspective I think it's helping so yeah this is this is the great reason this is the great reason and I see that there are several Generations already within this community so they very very very very very different people and that it's it's so exciting okay well go ahead yeah I I want to say like you know this way I don't know if
(20:59) I'm I'm you know going next um I'm sure you have so many other reasons but um here's my reason so basically for those who are listening I I um you know my first experience working for an amazing corporate was working for Sun Microsystems as a developer Advocate open source Advocate you know we used to be called back then as ambassadors basically and again I worked for Alex Alex was my boss um and I was only 21 um years old back then uh which was amazing you know just being able to be exposed to that amazing Innovation at a
(21:30) big company that was way ahead of his time you know all these products all the open source tools and services for developers it was just amazing and again I started with a very small black box um it was called Sunny Sports and I've got like you know right at the back as well which I basically ended up doing my PhD on that you know using Java but um you know that ecosystem that Mary just mentioned that's a very important aspect all these Java user groups around the globe and all the great conference and there's still Java one conferences
(21:58) still happens in the different names in you know different places obviously and it doesn't have that much attraction like it had back in you know 2019 or then but still many other conferences are happening around it like you know devnex has been one of them now has become one of the most popular we were all a Dev Nexus in Atlanta um you know back in April yeah and I think you know the other reason for that from the ecosystem started you know beside the ecosystem is you know that you know runtime environment the you
(22:26) know JRE the fact that it takes care of all the memory management reallocation you know the allocation all those things that are happening compared to what you used to do with C plus plus you know malloc and all the other commands it's just amazing you know you can actually leave it to that um and it will basically take care of everything and we you mentioned garbage collection that's a very important aspect for many Enterprise applications of java that is still today um you know Java is so relevant in the
(22:52) financial services if you look at all the courses Services there is still Java like you know you can't really deny that you've got the largest you know community of developers Java developers here that discover the same goes for IBM we had so many developers okay so many clients um and it's just because you know it takes care of things for you it abstracts all the complexities away from developers uh you know I like to look at it from the technical aspect and the fact that you've got the open sources
(23:18) and open jdk and you know the Enterprise version it kind of gives you that flexibility and again the amazing team at Oracle um you know they're still adding features to it they're still evolving the platform they haven't left it on its own so there is a company behind it there is effort funding proper management so I think for all those reasons that's what you're always so popular for me at least it's always good come on I agree yeah like the wrap be honest me to show the the charts of the
(23:48) issues fixed like the implemented features in in Java and there are many companies now between to the open GDK that's another reason from my side Dmitry would you like something to add yeah I should agree this whole all said previously because um Java had great ideas great concepts with great implementation being developed rapidly all the time while keeping the very very strict backward compatibility this is something that many other ecosystems they miss it so it allowed to build Community which helps to develop the
(24:40) technology and the trust the technology and that has great relationships inside inside inside that community and great ecosystem around that because there's no there's one technology that can compete in size but not in quality you know but that's thank you very much thank you very much nitri more merry thank you thank you very much for joining us today it's it's it's really I'm really grateful to him thank you same here pleasure be here with you thank you thank you yeah thank you very much and have a great day
(25:28) night wherever you are yeah sure thank you thank everybody Take Care thank you bye I