#4 Apache Cassandra™ APIs and Microservices

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay welcome everybody for week four uh i'm so happy to be there for two weeks in a row i'm very happy and today with me there is eric hi eric hello i'm happy to be here as well it's been a little longer for me than two weeks yeah true true but now you know what i think everybody made an appearance on screen for the series you got everybody there so remember it's not only me and eric but eric will present the others i guess yeah so we got uh david he's my u.s counterpart another advocate i'm an advocate of course um for anyone who's interacted with me in the past we've got eric ramirez he's our australian uh wing and then we've got of course cedric who already uh you already know we got bettina jack and alex who are kind of our our european um contingent so that's the team and uh they are the ones who build all this content put it together and make it awesome yeah um so today um we will discuss about api and microservices remember the first two weeks we're all about cassandra we need you to know the basics ashkeit architectures data modeling and then week three we just explained how to use the drivers on top of castandra and now we are moving more into building applications it's a bit less cassandra today but hey starting next week it will be back to cassandra to put cassandra in kubernetes but this is the important stuff this is the stuff that's like hey you actually start to see the you know click a button and something happens that's it's the cool stuff so yes can't wait all right so this is the agenda for today uh reminders as usual then we will discuss about cassandra and micro services go into api endpoints and access patterns rest this use graphql vs grpc and also talk a little bit about kafka here and we will close by doing some introduction to quakers and we have a huge surprise for you in the end i i yeah i hope you will love it okay so how is keeping so today we are week four so we expect you to have a little bit of things already ready if not don't worry you still have time to catch up a little bit before we go to the exercise mode so first you would need astra instance remember we created that week one to have cassandra running you need to have a little bit of knowledge of cassandra data modeling just to understand the data model of the sample we are learning but we have discussed that into many details last week and no one uh no basics of one of those language python java and c-sharp because we will code with these three languages today as usual you don't have to install anything but if you want to run the sample on your laptop of course all the materials are on github you simply git pull uh clone or download everything again on your laptop and we explain you through with me step by step what you would have to do it's all self-contained as far as we can alright so um youtube is the main live as usual i'm reading the youtube chat as fast as i can because sometimes there's just too much too many things and so does eric that he will interrupt me just to get some questions answered we also are just for fun true we are also on twitch but that's kind of a backup stream if something happened with youtube uh we are not really reading the question on twitch so if you want your question answer live use either youtube as i just told you or discord remember we have a discord room with at least now about 4 000 people there asking questions during the workshop but also during the weeks and if you do have longer question to ask please use the community.destructs.com there is a space there this is where you find the homework as well and this allows us to start a real thread and keep asking and getting some answer providing more links maybe some tutorials to help you troubleshoot your issues all right on the right part of the screen as usual astradalasa.com this is a cassandra instance github all the source code all the materials all the exercise i should make a meme about that and last but not least gitpod because we don't want you to install anything so you will use id online which is called git pod and speaking of which i told you if you didn't do anything week one week two or week three and want to catch up you need to go to github i think we provide you the link below the video in the description as usual we do that and you will go to week number four and all we will do is in this single readme we try to put now everything in a single file and as you can see here there are two prerequisites to do just to be able to do the exercise but i think we will do the exercise in about 40 minutes so you do have time to catch them all right let's move on to cassandra and micro services okay let's do this monolithic okay it's all started with monolithic everything in a single time and of course with everything at the single place it's pretty hard to scale because if you need more power for the service yes just kill the wall you scale the wall application and it costs a lot then if you need to change one piece you know the ui got the glinch you want to change you know typo or something you need to redeploy the full app so it was not really what we what we expect and of course uh pretty soon i think it was in the 90s uh we changed that to multi-tier okay we split front-end back-end and the data layer put your views we get out of mainframes mainframes and stuff like that somebody some used to talk about open architectures just to have not everything in a single plate place and here you can see immediately that yeah you can just uh release the front-end back-end and everybody is happy but now you introduce the net worth between front-end back-end and the data but still okay that was the 90s added complexity with a better scale oh yeah you know you got smaller and smaller but each time you introduce some complexity so here i will put that in the beginning of the 21st century 2000 each we talk about soa so service oriented architectures so instead of having a back end with all the all things together we split services by business domain okay with a proper goal and on top of the services we introduced some middlewares that was called first ai for enterprise application integration and then change to esb enterprise service bus it was kind of on top of the service communication layer and also do the orchestration for you in the front end okay it start to split by technology and some when people told we are multi-channel i think oh so now you do have mobile app and a web website so you know sometimes just multi channel is not um it's just a bingo or buzz world uh or you know digital transformation is all about having multiple things yeah all about the buzz world okay so technically speaking now you do have different runtime for multiple ui you have the back you have the the website and mobile app uh dedicated ui for for back ends uh stuff like that at the data layer now with more and more data and more and more usage rdbms it's not enough not all the data fit on the single machine and you need to think about distributed so let's say 210 ish now two or ten ish and so no square database has been introduced cassandra part of there remember customer has been created to eight and so depending on the use case now you would have a dedicated backend for your services and that was also the beginning of adopt okay so now we move from soa to micro service world so a couple of things at the front-end level the big architect technical architect you know in charge of everything will use his sword and start to slash again in the component to split into small pieces now you do have a single page application with multiple module in there in your website now you also have some web component inserting here and there so this is what we call the micro front end and because you do have multiple parts in the ui you have dedicated use case and dedicated requirements um to have you know some kind of api to be to interact with and now even in the front end we see some kind of thin back end layer it's called bff or back-end for front-end and it's really specialized api for the screen and those are different or can be different for the enterprise services which fit more business domain or something related to the business packet from front-end is also api but dedicated for the screens i can't tell you how many times i've used something like you know express server and node to build out one of those yeah totally javascript worlds to be honest yeah okay add the service layer now we talk about microservice services are simply smaller again dedicated to business function but with their own runtime in the soa world sometimes the services were hosted either on an application server dedicated for that or directly in the middleware called esb but it was pretty a huge stack and you could deliver do some hot deployment but it was not as easy to have its own runtime that you can scale as much as you want so let's uh next slide is all really what is a micro service but here in micro service architectures watch change it now the service is run it's in on runtime dedicated to a function and some technical capabilities has been externalized so now you can have you often have something called api gateway on top of the microservice which is a proxy which is really simply a proxy and everything related to authentication floating throttling monitoring can be under at the proxy level and so at your service level you really only need to focus on the business value you want to to provide also those services have their own runtime and they can scale dynamically and at will and so each time you will spawn an instance of a service you want to tell your client that oh there is a new service to uh to to serve your what you need your data so of course you might think about oh it's kind of a dns naming service but those naming services are not really dynamic and so comes new tools come called service discovery you probably have heard about eureka consul or before zookeeper was one of them very beginning and so well etcd as well famous so when a new service startup it will register itself in the service desk discovery and then when you as a client want to invoke the service you will first look up the service discovery to know who what are the end points available to resolve these the the service you need so we they're really just a small database that keeps track of who's where and what they do like some kind of state machine or something just holding the state uh yeah true true and you know sometimes you invoke the discovery and the discovery can do a redirect for you so sometimes can also be some kind of dns but it should it should not be really used for that i think that the client should be clever enough to be able to do the load balancing at some points and also service mesh that will be introduced more in the containers container world which is also some kind of proxy where you can delegate part of your traffic um we will see that a lot i think next week of the week after when we will discuss about uh istio and envoy yeah we told you it's not only about cassandra during the eight weeks we try to share all the knowledge we have to make you successful with building api api and microservice okay moving on okay what is a micro service you know what i don't want to reinvent the wheel so i simply talk some capabilities from building micro service book from sam newman just give you that it should be highly observable is the light failure dependent deploy independently this generalizes all the things this is also what i put all things distributed uh at the title of previous slide it's also the name of the of the blog of aws scto mr vernell okay so microservice are organized around business capabilities i told you that there are product no project okay the endpoint is smart okay it don't it's it was not the case just before with esb the end point would be all the composition routing logic it's not the case anymore you do have a dumb uh you do have your dumb and this is a client to interact and just invoke you when it needs okay decentralized governance data management in factor to automation of course what you want to do is to do dynamic scaling so you don't want people just to start instance when you need well you want to have something that monitors your system and when you know you're lacking some space or cpu just for a new instance for you it's designed for failure right you can it's based for community hardware you can lose any service not a big deal and even by things that you might say okay oh so you can lose any of the service remember you you can lose any of the node in cassandra and you will see that microservice is really a sweet spot for the cassandra database you know it's interesting just uh given what we're covering in the next couple weeks but what you got there looks like a uh feature list for something like kubernetes um almost exactly to a letter to a t so yeah um yeah so i pick um question about what's different from soa to micro service so to my point of view is okay not only having the the way to deploy those services change it used to be hosted in application server now it's standalone and the scope now it's the scope the way you shape microservice is really what we call bounded context so dedicated to a business function where soa you would like to be more enterprise wide and tends to serve multiple purpose i think microservice is more focused but the idea is again you know take your sword and slash into the pieces yeah just to scale only what you need okay so speaking of the microservice the advantages of course main and this is a success cost reduction okay you scale only when you need to the design is simple because now you will focus on your business logic and technical capabilities authentication monitoring is handled by the proxy on top of you the gateway the service mesh and so as it's simple you deliver quicker time to market so you deliver with speed confident and in simple and it's costless so so great right and because it's simple it reduce also the risk simple deployment okay security and monitoring are done by tools dedicated for that api gateway with some big names on the market authentication authorization sso oo2 standard stuff like that it's done by a third party you simply have to integrate those it's much much easier than reinvent the wheel and implementing your own cas system maybe some old among you i've done that in the past it was not that easy and also resist resiliency of course you would have multiple instances of your service you will do load balancing and as such you are resilient but that's not so easy there are some drawbacks out there okay with a lot of microservice you will get a lot of complexity okay now how do you handle fine grain security authorization depending on which business content you have to handle that what about transaction i will come back to that later but let's say you want to save an order so you save the order and one maybe to update the inventory hey but that's two different micro service it's probably http rest with no transaction how do you do transaction how do you do that such kind of distributed transaction you cannot do anymore and what about orchestration now there is less and less esb that tends to do the orchestration for you for you calling the first service then the the second service only when you get the answer of this of the first and if the first fade you try to roll back the first one people doing some esb flows as we used to call that remember all those things so you know there's an interesting uh interesting question here um not exactly on topic here but i i think we should probably touch it before we move on it's we'll moving to sandra cluster to kubernetes save cloud costs um that's a maybe that depends on your infrastructure how you want to set it up and what you're actually trying to do so um kind of a common a common theme i see um is people go oh we're we're basically doing all of these little servers to save on infrastructure costs and when you chop it up into all these small pieces you know you don't need to oversize one part just so you can size up another part and there's truth to that there's absolutely advantages to having many small containers and being able to size individual parts to what you need that said there's overhead with kubernetes there's some additional components that need to go in there as well so it really just depends on what you're trying to do whether or not you're actually gaining anything from it from a cost in the cloud standpoint yeah so i got a little bit of challenge on youtube about cost reduction and cassandra well i'm discussing about micro service so let's say the compute unit not the storage or database yet it's not a data mesh so we will go to that very quickly okay last pieces of the micro service world ci cd continuous integration continuous delivery you need to make your culture change now with micro service you need to be able to deliver fast fail fast or deliver fast and you need to have the proper ci cd pipeline ready to go but i you know those are actually good things though like like having a cd ci cd pipeline in place and the whole fail fest mentality are actually big positives they're kind of improvements to the way you do things but your culture change is is very very difficult yeah for sure indeed yeah you know ci cd are a bit more old it are older i guess i would move you know jenkins is there forever in my head so you know it's always 10 years ago easily but yeah that's part of the of the microservice world okay so let's move to this is your micro service as defined in the micro services pattern book again i don't reinvent the wheel and now i would like to see oh how cassandra fit this micro service world okay so first in the so looking at number one in the micro service world you want to do some distributed trusting health check application metrics application logging all of those are kind of time series-ish type of data and that totally fit what cassandra is good for um but there are other solutions out there of course you can think about prometheus and grafana or any time series database but that's the kind of use case you can think about to have cassandra there in the stack but not only that when it comes to testing in the cassandra development stack you do everything you need to do unit test integration test performance test and you know what in week number seven it will be a full episode dedicated to testing and you can see whatever exists in all step of the process to test all your cassandra microservice including intensive distributed test using a tool called nosql bench and now and of course i don't read all the comments on on youtube but if i would think some senior development developer here will think immediately about database per service yeah everybody told that uh microservice should be uh you know autonomous and run its own data database so of course if i told you that to run cassandra you need three nodes you don't want three node per micro service do you okay so let's see what i have to say about that okay what you need what you need in a micro service first you need your service to be loosely coupled okay each service is in charge of its data and is isolated okay we talk about the runtime standalone runtime and so you want to do the same what about the data well first a shared database it's different from chair data okay within a single cassandra cluster there is multiple way to insulate your data you can isolate per key space and how key space is deployed among multiple rings remember replication factor you can isolate per table so you would have a set of tables dedicated per service remember bounded context and the way to design tables in cassandra is not the way in relational way you do have a relation in all the duration one too many we are working with denormalized tables answering dedicated query so we for one micro service we can totally say you will use those tables and you are only the one to use that another level of isolation is a role-based access control okay even finer use multiple people using the micro service could have multiple roles and access part of the data or not and that's that's the point coupling infrastructure and this is what everybody will told yeah but if you lose the database okay if you attend the three first weeks you know that with cassandra you can lose any of the node okay and you can make some rings dedicated for some workloads olap or ltp and you can have key space deploy wherever you need so we can totally do some multi-tenancy in a cassandra cluster to fit multiple microservices workloads and this is some flexibility of cassandra that you don't have with database so my my answer to that is okay one database per service does not meet one installation of the database per service that means one data source that needs to be insulated from another and with customer availability and resiliency we can ensure that absolutely you know there's a a couple follow-up questions to the previous slide with ci cd um just asking how how it's a disadvantage csed in and of itself is not a disadvantage it's actually a really really good thing but what it does when you're moving from kind of a more i guess let's say traditional mindset where cicd wasn't really a part of what you were doing it's really hard to shift i mean basically you end up taking you know uh everything you're doing and tying it into kind of an automated test deployment everything um system and that's a lot of work that's that's actually um it's not easy to do once you get it it's great because it will speed up time to basically time to deployment um it speeds it up tremendously but getting there is a bit of a a chore um especially if you're coming from a more traditional place so that's the only way it's a disadvantage it's a good thing overall for sure okay and just transferring questions puff mean a single point of failure meaning remember you can lose any part of the infrastructures cassandra will still deliver the service as long as you deploy and do the proper data modeling and use some replication factor that is relevant for your use case all right moving on okay i told you about distributed architectures and now this is my time to challenge you how do you do acid transaction in a distributed micro service world you don't yeah yeah you know they challenge me i tell you that the game yeah that's pretty hard right you can say oh back in the day we have soap and in the soap stack there is something called ws transaction nobody used that yeah so it's not that easy and also when it tends to have one service where you need to write stuff into database and then stuff into middle message middleware and now you also or multiple data source now you need two face commit distributed transactions remember prepare commit prepare commit are you okay everybody's fine we can go okay commit and everybody's go back roll back but hey with api you cannot do that easy right and so to cope with that something has been introduced i'm not the one invented it and it's called bass basic availability soft skate soft state eventual consistency and look at that eventually consistency again is totally what cassandra's doing it say that availability as i appreciate that consistency and now you want to do even sourcing so let's say you are handling a ledger so a banking account for those of course you don't want to get twice the transactions you don't want to have multiple things so for those we saw last week that you can use lightweight transaction but even then you can think about even sourcing every movement of the account is a line okay you would add add add add duplicate those but add add duplicate because cassandra is deduplicated as long as you are using the same primary key okay and when you need to read the amount of money on your account you will list you will get will retrieve all the mutation all the movements and you will compute the balance at the application side this is called the ledger kind of data model and we are using that a lot you expect the application to build stuff and not have the value predict in your database and i put it important there just to say uh of course if you execute multiple time the same event it's not a big deal because the event has an id and cassandra will upset what you need okay so now pattern to the rescue again we did not invent those pattern we just simply say oh now if you want to do distributed transaction on the microservice world that do not provide the layer for that you can use the saga pattern so you will need either a choreograph that the esb used to be to do some transaction one after the other or you can leverage an even transaction when the first service is done you push an event to the second and so forth and so on and so forth and for those you introduce some tools like kafka and i saw somebody quoting kafka on the chat totally make sense for that and by the way uh remember as advocate we provide you a full working application in full languages which is called killer video available on killervideo.io running on killervideo.com to have multiple to have a transaction like that with multiple small service to invoke we are using kafka and we propagate the mutation using events all right second pattern is cqrs command query responsibly segregation that the big words simply telling you you will split read and writes and have a dedicated service for each remember the lecture the ledger you can have one dedicated service just to basically insert the new values and duplicate okay and we you do have a dedicated service to read and building the views you need meaning you do the aggregation on read and here you come back with the even sourcing uh way of thinking that's quite new from rational database you tend not to think that way absolutely all right so this is our bold statement so customer fits very at the micro service because first it's uh oriented to real time request and very spot on the scalability okay you won't just microscale cassandra is known for scaling it's both based for distributed architectures from acid to base so base meaning here basic availability software eventually consistency and for the joke base in french mean alkaline so that's totally i can totally do a joke about the ph you know hydrogen potential you know from acid you know lower than seven to base more than three seven just but you know here is alkaline in english i cannot totally use the same joke all right implement secures i told you that and collocate service and data by putting the service close to you know the ring so the nodes owning this data you can achieve that and also remember cassandra have multiple rings and so you can spawn your micro service on the same data center as your ring data center i mean location okay just to reduce the latencies easy to do and cassandra is known to have a proper topology that fit this kind of reduced latency and decoupling by design this is our answer to one table one query one not one table but one database one service it's one data source one service and so the data source can be uh isolated using ring nodes key space tables airbag and a lot of and delegate queries in here so real quick it's important to note that that there's that small little line in there co-locate service and data that's not it doesn't sound that big until you start thinking about it where this is actually what allows for some crazy geo-distributed apps right because now my data is where i need it fast you get rid of a lot of the time on wire latencies that you have to deal with with see a more traditional system and it just everything is where you need it closest to the user who's actually consuming it which that right there if that's not a value proposition for cassandra i don't know what it is um i saw some queries about cqrs so really the basic uh notion is to split right and read and for instance in the cassandra world you can have again time series you have a dedicated ring to absorb all the sensors sending the data so the first ring is let's say storage intensive ssd disk something to just be able to absorb this huge volumetry and then you have something else dedicated to read and for read maybe you want to do aggregation it's more kind of olap workload so you will switch from the driver we saw last week to something called maybe apache spark and do the aggregation on another ring and maybe for this ring yeah you will have big cpus because none was what matters is the computation and though you have split read and writes that's quite a simple sample but that's really the idea um real quick question in the chat there is cassandra support transaction system for instance commit rollback so um i think what you're asking there is is cassandra basically acid does it support full transactions no the answer is quite simply no it doesn't um there are something called lightweight transactions but they aren't exactly what you're thinking of if you're thinking of a full relational transaction there's some fairly big caveats um and differences between these two so um just like you know we said from acid to base uh base really adopts a different mindset where transactions honestly don't generally fit in the modern world especially not in the modern microservice world um and in a more base approach is just it just fits better with what you're actually trying to do so yeah okay so back to our sample we saw two weeks ago we created the data model last week we just implemented the dao data access object to be able to interact with those tables both the spacecraft and the journey catalog and today i promise i want you to run the app but the full app with the ui the backend the micro service the rest api everything okay so last week i told you we have the table in astra we have something to implement the dao using node python java and c sharp there were no c sharp last week i remember that i also saw on discord that somebody reimplement the backend for scala just fabulous thank you for that so today we are doing the layer on top of it so exposing those services into let's see which kind of api we can use and start the front end and the front end is just a simple nodejs ui it's nothing fancy or complex but is not just really simple you know i'm a java geek [Music] i suppose it's all a matter of perspective now yeah you start saying node okay express e you know yeah no it's not that difficult to be honest all right okay and with that let's go to our exercise see exactly 40 minutes after my sentence telling you that it will be in 14 is that that good so i create on time okay so to run the exercise everybody go to github and go to always the same repo cassandra workshop series on datastax academy account we are week four so no surprise go to week four folder and here we can see that we do have backend for c java and python and the ui in node okay this is our way to mix multiple languages and make everybody happy but again we like pull requests so if you're interested to add more do it okay so as a prerequisite you need your astra instance okay and you also need the data model ready to go so if i go into astra i will show you that i'm ready to go i should okay so this is my database i go to the studio i will you know what i will simply create a new notebook new create and just i want to see the schema and see that in my key space whatever the case space you like but i do have my spacecraft tables okay for the location pressure speed temperatures and of course the journey catalog right okay that's a prerequisite now we can go so we have divided the exercise in uh languages this time so you can start the back-end java locally or you can start the back-end java using git pod again you don't have to install anything if you don't want to so you to open github same as last week simply right click open in a new tab because by default it's open on the same and you don't want to overlap and if you're following along in another language or a local ide everything is compatible everything is cross-compatible so the ui will still work the same you don't have to go download a different one it's all micro services yeah yeah so question about scala um so last week we ran the four languages java python c-sharp and node and you know that was it and during this week as homework somebody create the back-end for scala so we simply need to ask him to do the pull request and i will integrate that uh so as of today i think you cannot do the exercise with scala but still there is everything you need to work with scala soon in the now when we need to actually definitely get that poor research right now we need to choose to chase after people the guy who implemented all the girls who implemented the scala backend all right um so let's see i do have python you know i'm a java guy so i will probably do the java part as usual so okay now it's started so git board always start at the root of the repo and so i still need to go to folder week four so cd week four okay and uh i i say i will do java but you know you can oh yeah important to note for java python no problem you can do that with kitpad for the c-sharp you need to install this you need to download on your laptop because github is a git pod is running on ubuntu and you can go back to academy you can i can show you you know no no secret here here i can see you can see that test c sharp and all the tests i run to make it work with c sharp but yeah no luck c sharp is really a different beast to to to make it work on ubuntu anyway you do have python and customer okay so let's go to java getting started with java okay and you will start with maven spring boot so for those you are currently reading the github readme and i'm just doing the same as you so so it will download internet as usual with maven got a quick question here can you run all of this on your own computer yes absolutely if that's what you prefer um just do you know your pull down download the zip or yes or clone the repo and you know use your idea of choice it will work just you can and i will run the same on my laptop just to show you but see for instance in java start the java backend there is one way to do it in git pod okay and right below we told you exactly how to do it locally how to run that on your machine so of course you need java and id ready and here's you can see that you also have the all the requests you need yeah i don't remember we had so many dependencies to download anyway okay so a new port has been opened 8080 now let's make it public and let's open that in a brother all right seems like i do have an api and it's a rest api so yeah swagger to the rescue yes so this documentation is available for the java it's not part of the python but with python you still be able to have the rest api and swearing your request we will come back to that but let's say for now this is one is really to start the back end just to see what's going on so this is my back end if now you are currently working if i using the same on my laptop so see i have git cloned the repo and i have imported the getting started with java project i can show you where it is so here it is getting started with a star java i do have a pom so i can file import project import maven project and it will compile exactly like that and so because i'm using eclipse i love eclipse i can run as a spring boot application i'm not a java guy but does uh intellij have the same functionality there oh no intellij is something java is beauty of a language yeah of course on jetbrain and led there is everything you need that's just a massive and i know if you are effective with jetbrain you're just super effective developer but same you know i know all the shortcuts of eclipse i'm very fluent with eclipse so i should be able to see the same on localhost now yeah as you can see i do have my api and so if you do have your api started please say to me say something unchecked and we can moving on eclipse for old people okay i'm old started a war and you know what best part so i an open source developer i've created a framework a java framework called ff4j peter flipping for java okay shameless plus but because i'm doing open source java jetbrain just told me oh you can have the ultimate license for free forever and i say hey no i'm still eclipse so if you want to contribute to open source i do have ultimate license for contributor use spring tool suite yeah this is what i'm using sprint sts of course sts is live this is exactly what i'm using spring tour seat it's written in the top all right eclipse oh now we are just started an ide oh okay we're not in a hurry i can wait you so do you run it into any trouble looks like it's going pretty well for most people a couple people running into issues but it seems like going into get pod and running it from there seems to be clearing them up oh this is the studio you know to debug the c-sharp i can today i've just downloaded visual studio for mac so three gigabytes just to have a simple ui uh yeah it's studio one not code and visual code yeah studio it's a big thing but in the end it worked but yeah yeah use the id you are most familiar with and that should be totally fine absolutely i don't want to start i remember my my first job i was using notepad plus plus for uh writing c plus plus i i learned how to code with nut buttons yeah oh yeah those are the days too oh yeah nostalgic now nostalgic moment all right yeah okay yeah so you know as usual homework for the week would be to complete the exercise so even if you're running into trouble no big deal we are here to help during all the week and make you make things work for you yeah everything seems a bit magical on my laptop but hey it's you know prepared in advance but for github almost like you know what's actually going on [Laughter] do i hmm let's let's run a poll for that now i you know i do have enemies with me telling me that micro service is not one micro service or one database okay moving on um let's talk about what kind of api we want to offer to run our backend we have multiple choices rest graphql grpc and a lot more so let's see how which one fit in which use case so first you might tell that my my background is from integration middleware i told you about esb maybe i was a bit long about that yeah that's totally my previous experience um and we used to we we used this schema and it's still totally relevant depending on the volume and the throughput you won't use the same interface for your service if you are working with huge volume and you know low throughput the huge volume you throughput yeah you probably have to implement your own solution and this is what does facebook twitter or any web giant where they have such uh use case there is no tool out there to to cope with that so you re-implement that but when it comes to huge volume most of the time you are low throughput so if you want to load a lot amount of value into casama first things you might think of is cqsh with the copy from you know put the csv copy from but tqlssh is a python command line interface and it does not be defined for every huge load and so up to i think it's written two million record in the security search documentation it's totally fine but above no so ds bulk free tool deploy developed by datastack so that that stacks bulk is there to help you it's my next slide so we'll see but load csv into cassandra and if you want to load huge amount of data as well and you do have the same token ranges if you want to migrate from one ring to another and you know that you do have the same token range and you can copy the ss table and use a tool called accesstable loader so then lower volume but a lot of throughput but still not real real time everybody think about kafka or messaging system what we used to call gms because i'm old remember anything mq everybody mq ibm mq0 mq yeah it was mq time okay and of course real time inserting and request reply in real time and this is all about api and web service and for our usc this is the one we want to use so back to the kind of workload so when you do have a huge volume load throughput you want to use olap it's it's called olap okay for analytic for analytic the a and for real time operation you could online transaction processing okay it's all about real time and so if you want to read but you are all up you can use some dedicated tools like apache spark as well all right now i'm moving on so ds bulk is the big tool to load it's it's a it's uh free no it's not open source but free tool you can download from the data stacks website that could load or unload that are coming from casanova looks like we have some people running into virtual environment problems in python um so i would suggest using git pod if you're running into issues there since none of that really applies to the get pod environment um i don't see [Music] it's up about a page now in the youtube chat for which language python java python yeah the python is already a bit tricky because you probably need to set up somewhat of the code virtual or because in python there is two dot x three dot x and if you download dependency with pip install some sometimes it's just downloading for python2.x and you would have used razer pip3 install just to have the proper download all of our code is python 3 code everything is python 3 correct and you know even if you're downloading in the proper pip repository and now this is python install located that are not pointing to the proper repository and and bettina has beaten i think pretty nice documentation about that on community.com right uh and also we do our best to just explain step by step how to set up this virtual home in and again if you're on get pod you don't actually need to set it up yourself it's only if you're doing it locally it's all done for you on uh on get a git pod oh i can see something about debasion so the basium is uh some kind of cdc tool and it's really fit what i would like to say about massage injection so cdc is really capture something happening on an external system and provide the mutation on another system so you can do some stuff change some line get somehow and trigger some message and send that to kafka for instance but hey on the other on the other side to ingest message coming from outside the world you probably have heard about kafka that is kafka just everywhere i just want here to mention that we provide a kafka connector sink which is a way to tell kafka everything that will go into this topic should be mapped to this cassandra table this is not you to do the mapping and to insert data in kafka do it for you okay so you can do that with kafka kafka sync okay and you can also use spark streaming for that so this time data are in a queue can be kafka or anything else and you do have a spark streaming job that will read that read that do some transformation if didn't and put that into casana and part of the homework during this week will be to see some videos about the kafka connector and do a short course about kafka connector to have your own sample if you go to the github repo for this week you can go to sample codes and i do have a full working demo in docker if you want to go there just docker compose start the start the engine and you do have something reading from kafka writing into cassandra as a sample project it's free for you and back to the cdc cdc is really doing the other way around reading from a storage system and propagate the data on the other direction this is what they called a kafka sources and it's not that easy for cassandra you might say now you all understand the replication factor so now i want to insert a new data okay i send the data into the three replica when do i know that i should send an event because the data has been written in the replica expected first you may need the consistency level so you may need to be there at the coordinator level to be able to propagate this this notification is not that easy and so there is something existing with the bayesian but it's not that here but at that tax enterprise of course we do have something to do that and let's see sooner or later you will have that as well free okay so now go this is file messaging what about real time request okay again in request reply there are multiple strategies you can do synchronous queries and this is only what we did uh last week uh no division is not by that has taxes red hat i think so synchronous queries um is all about they're from 20 years ago you're showing your age there what synchronous queries come on yeah it's all about async these days if you are doing nothing again yeah yeah you feel a bit too young for me man i will mute you now all right so everything that we did until now except for javascript because it's all async okay we have defined some put some parameter to create prepare statement and when we need to execute query we bind the statements we execute and we get a result set reiterate on the result set to get either rows of results if we are using an object mapper what the issue here you might tell of course the issue is the big first vertical bar during all this time you are blocked your client is waiting for the response so in the drivers and any drivers not only the async one okay there is a way to invoke async so async execute against cassandra so this time you the you bound the statement and instead of having the result you do have something completion stage a completed completion future in the java war telling you when the data will be there and ready you will get a callback where you will be able to process the data async result set and by the way you get a callback per page okay all right you can do that with any query now what about reactive so it's all starting the same oh the issue with asynchronous queries by the way is if you need to chain or nest multiple asynchronous queries then you end up with what we call um you know the the recursive you know the nested the nesting hell where you need to for the first call is it okay or not and depending on the result of the first you need to interrupt the second you know everything like that and so reactive come to the rescue and now you can reuse the same kind of api as synchronous but using reactive you do have the um you you do have the the method to to just properly handle the exception let's be like that so instead of having a sync result set you get a reactive resume set and you get a flux okay the flux you need to subscribe to the flux to be able to get any notification from something in the flux and now it's instead of having a notification per page the reactive drivers when you execute query will give you a notification for each record and if you cannot keep up then there is a back pressure mechanism and when everything's done you get on complete and now you can be you know totally reactive get a notification for each new data coming from your request absolutely so um one thing real quick uh that looks like it was brought up um so for languages other than java here um it'll look like you're getting an error but it is actually working just wait it out it will complete for the the labs so don't don't worry if you're running into you know your python and you hit something um that looks like it's a blocker just give it a minute or two and it should complete on its own yeah so no virtual environment in the github and if you are doing the python code when the backend is started there is no documentation as i show you but it's totally working i mentioned that but let's make it clear second time all right so because the getting started with astra application is all about request reply we will go with api and not file exchange or message we could but the backend you'd have started you just reach out to using http so you probably know we will use an api but hey even with an api we do have multiple choice res graphql jrpc so graphql is quite new kid on the block new new let's say new 2 to 10 i think has been produced by facebook and so it's leveraging on http and it's all about providing discoverability for your endpoint it's a single endpoint you can invoke just to get the list of all the queries for read and mutation for write to interact with your data source queries mutation seems familiar right okay working pretty well with cassandra right so this is all the nice you know ads you can find on the graphql.org website so better apps parity across platform powerful partner api visibility into the time positive control i will share with you my own thought about graphql in a minute but let's say that's very relevant for people that won't get answer fitting exactly what they need because not only you get the discoverability but when you invoke the end point you will you can tell that in the response this is the only three feeds i would need and then you got a custom payload based on what you need right yeah graphql really does solve kind of one of the headache problems of a lot of the other yeah but some requests yeah but my point is not a civil bullet as well it has some drawbacks but it's over popular this year you know 2020 is the year of yes so second path is glpc okay so based on http 2 the id is to be as fast as possible so this time instead of json for using for graphql i didn't mention you are using some protocol buffer this is a serialized binary format on top of http and not the http 2 just to be able to use multiplexing and all the nice upgrade introduced in http slash 2. and so the id developed by google you might tell with the name right it's all about the performance and it's defined to to do some request processing call kind of so you invoke some kind of method you don't really query for a data you really invoke something really like soap remember soap when we used to that ten years ago yeah that's a throwback yeah you know you define even you know even to you know to list something you want to create a method called list having some parameter and you where you need to post even if it was about reading a rpc it's quite the same you invoke a remote function so grpc is there performance performance performance all right also when you working with grpc it will generate for you stubs so synchronous asynchronous and reactive okay no surprise and again if you want a sample because we will use ape we will use rest api in the sample you might tell you just started the the example if you want a running application for grpc and a running application for graphql they are part of the source code we have this week on the repo so go there and there you do have the same api implemented in rest grpc and graphql for java okay again we accept pull requests if you feel you want to do that in other languages please do but the sample is all about java same for the before the kafka sample injector and reading from kafka are in java as well okay so now we do have rest we do have graphql and we do have grpc so as a important architect i should have dedicated where for that technical architect serious guy i want to define a decision tree just to be able to see i want this that on that so and to be able to do my decision tree i need first to define my criterias so i can use conceptual data model criterias application workflow remember those are the two patterns we need to start doing the data model but not only that what about the developer are they familiar with code first schema first approach is the framework ready to test what about the api catalog what is the support for multiple languages how do we package do the documentation you can read the slide again and again in this analysis matrix you can find a lot of criteria so i did the job for you here is i'm french so i do that in french even easier to understand right you do have all the criteria needed based on uh you know graphql grpc and rest and i put some note and that's it now you can use that and do the proper decision tree what do you think easy right it's super easy yeah yeah so of course not this is not the way you will decide if you craft qldr pc and rest i can see you laughing beyond your kibo i hope you do well instead of providing a detailed decision tree because it's all based on a lot of criteria i want to give you some rule of thumb i'm using or the team is using not only so first rest uh is all good for decomplexer this is a three slide you would love to put in your wall okay so rest first is nice to deco to do the decoupling between client and server we know that the schema is on read you invoke the endpoint you get the full json stack and you pick what you want you are you do have the flexibility because it's on http you can do sync async now with the servlet 3.0 and do reactive multiple payload and all the tools for api i told you about api gateways remember they have all created for rest first so it's pretty easy to do the api life cycle you know retired an api and also doing the versioning in a rest endpoint you can put some major version number that's a best practice and you can have multiple endpoints for multiple version of your service and also you can do some monitoring and throttling based on the endpoint you know so you can say this function available on rest should have these threatening but this one same api but different url should have another throttle you can do that with rest you know the interesting thing about rest too kind of versus the other options out there right now is that there is so much documentation there are so many tools built around it there is kind of such an ecosystem around it um that it's actually really easy to get started and it's just easy to use i mean by default it's it's a very simple way to do things so highly highly recommend using it as kind of a starting point and sometimes you know graphql is a better fit for sure um especially if you have multiple endpoints or various other you know requirements but rest is always a good a good option to start with yeah it's a crude superstar like that i like to call it you do have a http resources associated with an entity and you can easily update create read update delete this entity based on the url and this is the reason why we one of the reason we pick rest for our sample relevant for oltp mutation and also for public and web api because there is a lot of tooling out there but still it's not perfect the payloads are still verbose remember you get the full json no discoverability so if the clever smart developers develop some api providing the swagger specification you do have the list of the method available but by default it's not there okay sample with piton to python today the swagger has not been implemented in our case i have actually seen it where sometimes a developer will put an end point in that's just a get of all the valid you know it's there are ways to do it i suppose yeah yeah you know i remember that a friend of mine just invented the ultimate generic service it was called do something and take a map as input and a map as output and with that you can do everything you like okay second is grpc so the focus is all about performance i so high performance using http 2 and binary stereo resolution you do have multiple stub it's very fit when you have to multiply the same api in multiple languages we could have used that for instance in killer video application this is the one we are using because the api is available in python john c sharp and java but yeah it's using protocol buffer so it's strongly coupled not that flexible and if you do not have the protobuf stylization format yeah you cannot really invoke the api so it's used for distributed network of service this is why it has been invented there at google it's all about our throughput streaming services command like erpc all right going to graphql the good point about graphql is all about this disk availability you know whatever you know what there you can invoke you can do custom payload it's still matching the standard json http while the previous one as well so let's say this one is a bit off but with graphql this is a single endpoint you know there is a slash in the url and all the calls go through this way so it's not that easy to do the versioning monitoring security at the api gateway level so if you assess some api gateway you might tell that oh i'm using graphql those vendors are not confident with you because yeah it's a single endpoint and they will rather try to make you using multiple small graphql microservice instead of a one with multiple mutations or queries available there the implementation as as long in java is still complex you still need to first first to define all the query and mutation and entities and then create the java code for that mapping and it's very nice from you know clients at the ui level and those are really uh fit the back end for front-end pattern but it's a bit too magic if you invoke tons of things on the graphql graphql doing all the composition and aggregation for you then graphql under the hood will do some nps1 select doing some association doing a lot of queries to get what you need so if you do have a lot of huge base of client will need to invoke and do specific calls like github for instance totally fine not if you need some mobile app to get you know with reduced bandwidth and want only what they need totally worth it but be careful when you define the queries especially with cassandra don't let graphql do some fancy n plus one select or try to do relationships in some languages i think the javascript one you just say graphql is very easy but then it's eating very hard the database yes okay so here is our sample designing rest api with application workflow we want the spacecraft catalog and we have the sensor readings value remember this is exactly the slide from last week and so we are using api rest and we are using some standards so we prac we prefix or slash api you can also search api slash measure version v1 for instance then we are creating the spacecraft so if we simply say spacecraft you get the list of all the spacecraft so sometimes you can add s here then we add the spacecraft name just to have all the journeys associated to a spacecraft name remember the schema in the table spacecraft name is a the partition key and then you get multiple journeys and if you provide now the journey you receive the unique value and this is your full priority and what is need with rest api is you building resources that accept only queries that are relevant for your database if you did that properly for one table you can have one rest resources providing only the granted function because you don't want to use hello filtering of course okay so with the journey lag there is the get is more or less for you to just read that you get the get also to get a unique value and this is what it looked like okay this is for the spacecraft and you can have the same logic now for the matrix speed pressure location see i do have a resources for location accepting get for read and post to have new value and same for pressure speed and temperatures okay it's not really simple i mean you're basically just using the url to define what you're trying to do and then you have a payload attached it's it's about as simple as you can get from a uh easy to read yeah for this one you definitely do not need any dedicated client to invoke your endpoint like postman is so yeah get out your postman okay we're gonna build some complex questions a simple brother can make the trick you still need the journey id but hey you do have your astra instance and you do have the notebooks um data stack studio notebook securely sh whatever you need to get the journey id or you can first get the spacecraft get the journey of a spacecraft name and finally get the details of one journey okay and this is the logical architectures of our sample our demo so the data is in astra communicating with the drivers python java c-sharp back-end you started and we will invoke the rest api using the node ui and so now we can jump to second part of the exercise which is start the ui make the connection between the ui and the back end and do the demo so let's see how it goes okay so to get the swagger screen if you are so to get the swagger screen you need to use a java backend or or a c-sharp plug-in it's not implemented in in python and so to get one uh see oh do i need to start it again okay let's see some kind of timeout timeout no big deal it will show up and i will show it to you because now my yeah oh no it's no localhost is still there because this is the one i'm uh i've running okay git body starting to do is it the same url as before or not so okay let's do it again click four getting started maven spring boot run get a little timeout here could you please upgrade version note to 12 at least for astra ui yeah we accept pull request [Laughter] okay so it's now started and i can open a browser i see i simply have to open brother just to get my swagger ui because in the java backend the default uh the default context for the app will redirect you to swagger ui and then you find instrument controller and spacecraft controller so one thing about now the credential controller okay we could have asked you to insert the secure cloud bundle uh in the project before starting uh the back end why not this is exactly what we did last last week but we wanted to change that a little bit so now we do have dedicated api to accept the cloud secure bundle so what will happen is we will at the ui level um you will the you will import the zip file and it will be sent to the back end so let's see how it goes so this is my okay so this one is git board and this one is local so if i open a new terminal you are reading the readme okay to have all the steps one by one but guess what i should be able to do it without reading the instruction i hope so so now i'm going to the ui getting started with ui i will do the npm install remember to download all my dependencies needed so express i think it is for the ui then i need to tell the ui how to connect to my backend and for that i will copy paste the url needed so let's see okay hey little guy this is the api you should invoke okay and so to do it okay i'm still in git board it's still downloading internet of course so hey no no it is not better than java for downloading the world internet right and now everybody's so focused okay okay okay so it seemed that's now it has been installed so i will create a file called.off providing the base url where is my where is my background i think by default it's localhost so depending on the language you are using you don't have to do it but let's see it's part of the exercise and simply read the exercise for your languages and now you should be able to say npn run start i guess yes and so this little guy now open a new port 3000 i make available and i open in a brother okay jesus oh three thousand not responding let's see let's see all right yeah yeah i need a bit of time okay now remember we are ready to go the demo okay so database user so killer video kv user kv password we use at week 1 key space name killer video and use your secure connect bundle you already have on your laptop from last week if you don't have the cloud secure bundle let me show it quickly you go to astra homepage you refresh oh now even after his timeout jesus oh goodness your network going out we are still there so it should be fine yeah i need to refresh everything i have too many tabs open and here you go download secure connect printer i did that already i do have my own but you know i click that and i could download somewhere here it is okay uh so this is a and so i'm using a different user than you it's not a big deal i'm using my own user password and key space i use that and cloud secure bundle i use my own okay and i can test the connection and when by testing the connection i will invoke the backend api and the backend api will do the connect so thanks and i'll take it a minute here there goes so since we are ready to go i will save okay so database credential has been saved meaning at the backend level we have created a temporary file just to have the secure clown bundle but you know in the coming weeks when we will have to deploy that in kubernetes we can either reuse this way of doing or simply put the secure cloud bundle as a kubernetes resources that will be used by others but i won't go into too much of the details so i should be able to read oh yeah i do have a lot of journey already so that was last week okay uh so let's see start a new journey demo week four okay jonathan marie i do it in git board because i worth it and i launch and now everybody watching the stream will send hundreds of events to astra and astra team islam ddos no no that's just the workshop sending info we should be used to it by now we do that to them like every week yeah last week i was the only one doing the 1000 points okay it's now down and i should be able to show here is my new guy demo week 4 and i can replay that and if i go to my notebook oh you know what let's do it okay so the journey has here i should provide you know a partition key but here here is my demo week 4 ready to go oh there it is all right uh and if i want to do the same locally i need my and make that bigger so this one is was very ready to okay week four i need to go to getting started with ui this is locally i should have already uh dot off because it's not the first time i run i don't need to do npm install because i'm not on the screen because i already do mpn install before i simply have to do npm run start okay so now i'm doing the demo on my laptop all right so i should be able to go localhost 3000 yeah and again of course it's not the same hub so blah blah blah up up up up oh problem occur so to do password problem no queue in your clinic how is my localhost doing this one is a p look let me look here what do i have we've got a problem or a comment saying sorry i missed what npm stood for npm is just basically the way node handles dependencies and it's basically the node everything if you use node you use npm so the front end is built in node so see my issue i didn't use the proper like an url i was using the c sharp backend see not reading what's written in the documentation i could have started back in c-sharp but yeah i'm more the java guy okay so now we are back let's do this perfect to-do app and cloud secure bundle here we go open test now the guy is more happy and if i go to my here session has been successfully established and i've created a temporary file i can save that and now i interact with the same data set okay so now i have the demo running locally and i do have the demo running in git pod fair enough again terminating the exercise are part of the homework we do have 15 minutes to go i will close that if you don't mind does anybody i got the ui yeah we have a question is anyone able to upload the bundle key in the ui so the the astra secure connect bundle is specific to you so what you have in your astra as the download is actually going to be um only for you and actually if you log in to the astra ui and navigate to the page but don't download it um there is a it essentially refreshes that link every five minutes so um you're going to want to keep that safe you don't want to put that in any sort of uh you know github repo or anything like that that's basically what you need or what someone would need i should say to connect to your database see the zip file cannot upload on windows chrome you know from that's interesting it seems weird is it the limitation or for yeah that should be our app kit body is crying so you know what uh with last week all together eating geek pods so much guess what happened we just get called by github team hey guys what are you doing with feedback i'm so android of connection yeah yeah that was us and now we are some kind of partnerships to to to to have github as smooth as possible during our workshop so so thank you guys for that that's actually what happened are you guys actually doing these exercises all right okay so let's do it let's close on time i won't relate to you to take the time need on our little surprise so quackus is a framework to create microservice in the java world provided by reddit and the id is to get the backend as fast as possible and the footprint as fast as possible and also boot as fast it's all about micro and fast it also reusing the g2e annotation in mpi we might not be used no we are not used to use the spring api which is not the gsr sometimes it's good to go back to the gsr again for people developing http like me 10 years ago gsa gsr 311 every anybody rest gix rs gsr 339 for the gx rs2 so it's all buzz the standard and datastax released what they call an extension in the latest version of quatrus quarkus 1.6 where you can run a sample rest api on quarkus plugged to astra so that's part of the homework as an exercise you know like today step by step create you know just run through the the example we will provide you and you would have the quakers that will start you know in i don't know 50 milliseconds you get everything started and working that just amazing and that's also good to have multiple solution when it comes to create back-end it's not only about spring boot now you do have alternative micro node qracos it's always good to have multiple choices indeed to choice okay it was a quick introduction to quarkus but at least you know that it's a very efficient framework to build some uh back end in java and we do have the kasanga extension as one of the first extension for the technology pretty proud of that it's a very good technology and it has been thinking for containers for day zero because again if you are running java in containers for a few years now you know that first we eat the memory issue before gdk8 and this is reason one i think most people move to gdk11 then the evolution gdk9 has been backport to gdk8 to be able to cope with this container environment but yeah at life and now real quick before we get into the next piece um for those of you running into some upload issues um with the secure connect bundle it's entirely possible that you could have some cross-site scripting protection turned on and since we're kind of technically um i mean we are cross-site scripting in that example um that could prevent you from doing the uh upload so just keep that in mind okay so we have only 10 minutes to go i will need every bit everybody's attention for this next five minutes i promise it's worth it okay surprise uh we propose you for the next four weeks to come to run a hackathon all together and we have called it the astrakaton because it's based on astra so you now have the knowledge to go and start building application with cassandra seriously data modeling drivers and how to package as api even do some ui you do have sample goals so we propose you in the next four weeks so end ending the last week of the series so august 26 to build a real application with astra pick the language you are confident with and all the source code that everybody is doing will be shared after the contest on github so everything we are doing for the accountant will be shared with everyone open source yeah that's the open source way so if 100 people do their catan you would have 100 sample codes multiple languages multiple use cases this is a very nice way and fun way to build a sample code dictionary it is not mandatory as part of the homework okay it's really some additional game or contest but it's not it's not mandatory to complete the series okay i wanna i want that to make it very clear it's not mandatory to complete the series because it's it will be some work for the judges the world advocate team us and also our vp patrick mcfadden and also jeffrey punter who wrote the book uh cassandra definitive guide so everybody that do the acaton with us we'll get a free copy of the cast android definitive book uh you know online copy that's pretty neat the pdf and real money to win now everybody is waiting me to click next right yeah okay when we talk real money it's real money so the first place the first bit is the gift card 300 bucks second seat 200 and third 100 bucks okay you can team up to build those samples but the gift card will be to the team okay to register how to register we will provide you the link and guess what in the repo you are using there is something called accaton.md maybe somebody already go there and the idea is simply do your app and when you have ready you do have the code it's really not registering it's really submitting your result it's an alias so it's astrakaton at datastax.com okay and we will assess the data model choices and hypotheses you made so fill those on some readme for us to to just understand what you want to do the source code quality and best practice ease of use we expect to have dozens maybe hundreds of submissions for this so please be kind with us and provide some readme that make us available to run your code in a few minutes if you have no idea and you know data model collection i provide you the link maybe i should open this in the new tab this is a website called database and swirls and here you have hundreds of data model for rdbms okay so pick one of those and try to make it fit cassandra that's just an id but you probably have others ids something you want to run at your at your work yeah make fun of build the next google yeah it needs to be fun and so you simply post astrakatan at datastax.com with your code or you know a link to your code for us to download and the only thing is you need to be registered to the series you need that the email sending the submission is part of the workshop series registration list and to register to the workshop series list if you are not already registered and just click on uh the video because it's live it's live on youtube yeah please register and we would be happy to have you just to create this small application fun isn't it yeah i see some superb at least yeah so four weeks we are exciting uh we are available on discord once for your question it does not to be you know you only get the result in the end ask us your question again we always love the question and make you succeed with absolutely interact that's what we're here for exactly the world purpose of that is really to interact with you create some code and have fun and as i told you pick the language you are confident with but if you pick a scale man ah let's see pick the look what you're confident there's not even a haskell driver is there no hopefully we didn't there is no skill driver oh those folks can totally do it yeah let's see what will happen okay so a few minutes left only to get a couple of message so first we are currently upgrading academy and also the way we deliver the certification so today starting 4pm pacific datasax academy will be offline for a few hours but don't worry we'll be back soon what we are doing is if we are introducing the sso astra sso in academy and also we are migrating the platform to a learn management system so don't be worry in the next few hours academy should be offline you know and also we've got a lot of complaints about how with people doing certification the provider the people watching you doing the exam and difficulties to schedule the exam so we want to do better so we are changing the certification provider and this is a reason why in the next two weeks we won't issue any voucher or you cannot schedule any exam just for us to set up but boom first week of august we open up again and if you already have a voucher you could use it and schedule your exam and for anybody else watching the series remember last week we will uh issued the voucher for people with us absolutely oh okay i need to make a slide on that so cassandra 4.0 beta version has been released this week out yes finally yeah yeah so if you want go there try it down you know run it there is even a docker image available for you to test so so any feedback is welcome get some yeah get some fun no extra point uh in the contest to using cassandra 4.0 but who knows that should be a better good already either really cool features in there too that are documented in the uh definitive guide um so if you do win that book you'll you'll actually be able to read about some of the cool stuff in addition to using yes and you can win the slide five times faster scaling operations and also now it's based on its run on gdk11 so now you do have all the no post gc no streaming you know no zero copy streaming way way way faster it's there it's finally there we do have the beta this week yes okay now last slide for today is about the home homework so not a lot of courses to to to track this week so to learn i give you uh so again the link for all the exercises homework are on the community.com same as the week before go to the space it should be on top homework for week four so first introducing talk for kafka and cassandra you know the slide about cassandra ingesting even coming from kefka then during the short course no no more than two hours few questions few uh exercises to know how to set up kafka to have events coming from kafka into oysters cassandra right away and also you know we are releasing a series called accelerate series 12 video we had a lot of fun games music you should have a look it's all about cassandra and we explained a lot of things there as well and so optional we are running a webinar this week 10 tricks with astra by the pm and pmc of one of members of the casanova mr mckenzie so you should really go see the webinar as well tricks with astra and to practice because this one is all about video to practice finish the exercise of the week in the sample code you see that you do have graphql grpc kafka if you want to try that and if you want to try quarkus here is a link and again as usual there is a validation form to submit and with that you should be ready to go and start working on the hackathon who knows absolutely and don't forget again like and subscribe on youtube if you're watching it really does help us and it helps us to know um if you guys are appreciating the content or or not um and also helps you to be notified when we're actually uh throwing one of these shindigs so um yeah thank you all for coming yes thank you all and see you next week for week five about cassandra in kubernetes and until now see you next time
Info
Channel: DataStax Developers
Views: 6,130
Rating: 4.9545455 out of 5
Keywords:
Id: MiR9ibjr7Fw
Channel Id: undefined
Length: 108min 17sec (6497 seconds)
Published: Wed Jul 22 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.