Hi, I'd like to thank everyone for joining us today. Welcome to today's CNCF webinar from notebook to cube flow pipelines with MiniKF and Kail, everybody's favorite green, right? And my name's Ariel Jitib, I'm a business development manager for cloud-native technologies at NetApp and also CNCF and BASM. I'll be moderating today's webinar and we'd like to welcome our presenters, director in Greece, they have the Acropolis back there, if you can, if you can see. And we'd like to welcome Vanjelis Kugis, CTO and founder of ARITO and Stefano Fioralanzo, software engineer also at ARITO. Couple of housekeeping items before we get started during the webinar. You're not going to be able to talk as an attendee. There's a Q&A box right at the bottom of your screen. Feel free to drop your questions in there and we'll get to them as we move along or at the end. This is also as a reminder is an official CNCF webinar and as such is subject to the CNCF code of conduct. Please do not add anything to chat or questions that would be in violation of that code. Basically, just be respectful of all of your fellow participants and presenters. Please also note that the recording and slides will be posted later today at the CNCF webinar page. And with that, I'll hand it over to Vanjelis and Stefano to kick off today's presentation. Thank you very much, Ariel. It's a great pleasure to be here today, Stefano, Vanjelis, to talk to you about cave and Kubeflow and how you can go from your notebooks, where you do your ML work every day to reproducible, immutable Kubeflow pipelines, which you can then have another train of essentially. So let's get started. Let's make sure I can switch slides. What's the problem that Kubeflow tries to solve? Standing up your own ML infrastructure is hard. And doing it in production is even harder. And then there's lots of talk and there's a growing need of having your ML infrastructure split across multiple places. So having a hybrid or multi-cloud ML infrastructure. And even if you're running in your laptop and then moving to the cloud, say for training or moving to multiple locations for serving, this is a multi-cloud infrastructure. Your laptop counts as one more location for your multi-cloud deployment. So how do you do that? People tend to think that, oh, doing ML is about writing code. If I write my code, then everything is going to be OK. Well, reality is that doing ML requires lots and lots of DevOps, lots of time to stand up the infrastructure, lots of people, lots of different technologies.  This is what most people consider ML. Serve, monitor, and then close the feedback loop and then do it all over again. So Kubeflow is there to help. How? Kubeflow containerizes ML components so you can run them end-to-end on Kubernetes. So you can essentially leverage what Kubernetes does for you, essentially a uniform way to run your workloads everywhere. So Kubeflow allows you to experiment with state-of-the-art AI technologies end-to-end on Kubernetes. It's easy to get on board, easy to get your notebook up and running and start working. And it also has outstanding community and industry support. So speaking of Kubeflow's community, we're very proud as a Rictor to be part of this vibrant community of more than 30 companies and individuals who contribute patches every day. A sample of these contributions is shown on this slide, which, by the way, is from a presentation that the PM group of Kubeflow did to the community. In this presentation, we will mostly be focusing on our Rictor's contributions to Kubeflow and we'll have this presentation and live demo on Minikubeflow, Minikaf. So what is Minikaf? Minikubeflow is a packaging of Kubeflow so it runs as an all-in-one deployment, a single node on your laptop or on the cloud, on GCP. So you can, with a single click, have your own Kubeflow get started very easily. Within 15 minutes, you'll see. And then you can start running your experiments and you can experiment with Kubeflow and then you can move to a bigger, better, scalable, cluster-based Kubeflow deployment. So Minikubeflow is the Kubeflow. What Minikube is to a scalable Kubernetes deployment, a very easy, all-in-one way to get started. So with this, we'll be having a live demonstration interleaved with the presentation. So what I'm going to do now is essentially start an instance of Minikubeflow on GCP and we can let it configure itself and we'll continue with the presentation and be back and connect to it and have our live demo. So let me switch to this desktop, go to the GCP marketplace, explore the marketplace, look for Minikf, this is Minikf, launch it in this project. I'm just going to go with the default options, maybe change the zone so it's a bit closer and the nice thing you can see is that I can also choose to equip my VM instance with GPUs. So it's very easy to spin up your own Kubeflow with support for GPUs and then you can train much faster on these GPUs. I won't be using GPUs for this demo, so I'll just deploy it. So what happens is GCP will allocate a new instance for Minikubeflow. It will deploy, it will start running our initialization scripts and we'll be able to watch the progress of deploying Kubeflow on this instance by logging into the instance and seeing our Minikubeflow script progressing. So we see GCP provisioning the instance, firewall settings, password we'll then use to log into our Kubeflow, so let me copy it. The instance will be up and running in a few seconds, so let's give it a little more time and if it doesn't come up, immediately I'll switch back the presentation. So the instance is up, let me SSH to it, okay, so let me run the Minikf command and actually see Minikubeflow being deployed. So at this point, it all happens automatically, all I did was choose some instance parameters, clicked on deploy, this is it. So I'll switch back to the presentation and we'll allow Minikubeflow to continue deployment. So exactly what is Minikubeflow? Minikubeflow is Kubeflow on GCP or on your desktop or laptop using Vagrant on-prem in just a few minutes, as you just saw. It's an all-in-one single node distribution of Kubeflow. So it's there for you to very easily start experimenting with Kubeflow. It's super easy to spin up your own infrastructure. It combines Minikube as its Kubernetes substrate, Kubeflow, and our rock data management platform for its storage layer. So what is new in the latest Minikubeflow that we're now deploying? It's based on Kubeflow 0.7.1. Very soon we'll have Kubeflow 1.0 and we'll produce Minikubeflow based on Kubeflow 1.0. So we're really looking forward to you trying it out and trying out Kubeflow 1.0 via Minikubeflow. It supports GPUs as we just saw. It allows you to near instantly restore snapshots of your notebooks and use them with pipelines because it works with rock, more on this later on during our demo. It has quite improved snapshots times for this and also allows you to snapshot your pipeline steps. And why do Minikubeflow? Why are we interested in Minikubeflow? Because we've seen most data scientists start their experimentation on their own laptop and there is no easy single-click way to deploy Kubeflow on-prem. Kubeflow is a big project, lots of moving parts, lots of components. It takes quite some expertise to deploy it properly. So we wanted to make Kubeflow deployment that simple, democratize access to its features, its components. We wanted to have data scientists use for their exploration on their laptop exactly the same interfaces that they would then be able to use when scaling their project. So you use Minikubeflow on your laptop, you have the same interfaces, you write the same channels, you provide the same objects to Kubernetes and to Kubeflow, you use the same CRDs, the same resources, and then you take all of these things, move them to another Kubeflow deployment, and you can use the same APIs. Let's have a look at what Minikubeflow is doing. So it's still downloading Docker images, progressing nicely, nothing else to do. Let's go back to the presentation. Why is it important to have a local instance of Kubeflow? A single unified user experience no matter where you are, same Kubernetes APIs and same components. You can start your notebooks, you can spin up your own Kubeflow pipelines, you can have cat-tip, the Kubeflow component for hyperparameter tuning, you can use Kubeflow, the component we are contributing to Kubeflow, to move from notebooks to pipelines automatically. This is what we'll be demoing today. And it's interesting because Minikubeflow has seen quite a lot of adoption in the almost a year that it's been alive in the community. We're now at over 8,000 downloads and we're really looking forward to having this number go way up after Kubeflow 1.0 comes out. Now, what exactly is the process of doing data science with Kubeflow? ML processes are pipeline processes. There's lots of steps and each step gets the output of the previous step and provides something for the next step. So we go from ingestion to analysis to transformation. We train our model, we validate our model, we train at scale. Eventually, we roll out and serve our model, we monitor it and we need to be able to have a trail of what we did. So we like pipelines because they represent exactly how ML happens, but it's also great if we can start from the end result, a model that works in production and go back in time and see exactly how we came to have this model. So we can fix biases, fix bugs, train it better, do things like that. So this webinar focuses on two things, on two aspects. One is what's the easiest way to go from a Jupyter notebook to a Kubeflow pipeline without having to write the pipeline from scratch and without having to deal with the command line at all. And then how can I make the pipeline reproducible? That is how can I know exactly how each step run, what its input and its output was so I can go back in time, explore the step and reproduce my results, which is super important for ML because if you change the tiniest thing then the result may be way different. So we're going to be talking about two components. One is Kail, our component that we are contributing to Kubeflow and Rock, our data management layer. How is Mini Kubeflow doing? It's provisioning the Kubernetes cluster, moving right along. So why go from a notebook to a pipeline? Because people like notebooks, they're nice, they are interactive, they can have their steps as cells in the notebook. They can clearly define their processes and experiment with them inside the notebook. They can run them one by one, find bugs, iterate. Once they're done, would it be possible to just click on a button and have a pipeline, an immutable pipeline? Yes, that's what we're doing. And then can we actually parallelize some of the parallel steps? Can we do hyperparameter tuning based on a few variables in the notebook? This is actually the focus of our workshop we'll be doing at the upcoming Kubecon conference in Amsterdam. So we'll be very happy if you can join us there. We can have versioning of the data of the notebook that essentially seeds the pipeline. This is also an important aspect of running a reproducible pipeline. I need to know the data I started with. And it's great if I can have this data accessible as just another mounted local file system under slash data. No need to go to an external object storage provider, for example. And then it's great if I can experiment with my notebook in my laptop, but then run the pipeline in another Kubeflow deployment, maybe using GPUs. So what is the workflow we're going to be showing to you today? Before K.O., you'd have to write your ML code somewhere, a Python script, a notebook. You'd have to manually convert it to Docker images, write your own Docker files, assemble your Python scripts in Docker files, try them out. Then you'd have to write code in the domain-specific language of Kubeflow pipelines or a similar pipeline component that you may be using. And this is quite complicated work. Then you'd have to compile your Kubeflow pipelines domain-specific language into something that will be submitable to Kubeflow, in this case, an Argo specification. Upload it to Kubeflow pipelines, run the pipeline, the things work, the things not work. Okay, I have to go back, amend my work, start all over again. So this is quite complicated. And it has quite a lot of technical steps, lots of command-line, lots of tinkering with Docker files and make files to have the Docker images work. The workload we are making possible with K.O. is write your ML code in a Jupyter notebook, tag yourselves using the notebook interface. K.O. comes with a Jupyter extension that allows you to tag yourselves with dependency information, essentially. So you can explain what cells may run in parallel, what cells will have to run serially, what step depends on what other step. And once you have it ready, and you've experimented with your code in the notebook, click on a button, have K.O. compile, convert this into a pipeline, submit the pipeline, link to the run, show you the run happening, you click on a link, you're shown the run, you can do it all over again. So to amend your code, edit the notebook, click on a button. This is it. The edit compile run cycle is edit the notebook, try out my new cells, click on a button, see the pipeline. This is what our demo is going to be. And Minicoogflow is almost there. So it's provisioning a few resources and let's give it some more time. So what we're describing essentially boils down to continuous integration, continuous delivery for machine learning, starting from notebooks. So we allow the data scientists to develop their models in Jupyter to convert their notebooks to pipelines using K.O. automatically to run their pipelines with Cook for Pipelines. So start from Jupyter development, experimentation, iteration, create a pipeline, convert to a pipeline with K.O., an immutable pipeline, run it in a way that's reproducible with pipelines, store data on rock. So when something happens or when you need to go back in time or when you need to reproduce your results, explore input and output data of individual steps again in notebooks using rock. So this closes the feedback loop and this is the notebook to pipeline a critical user journey that we have contributed to Cookflow as an ecosystem supported CVJ. Cookflow is starting. We'll give it a bit more time. So let's give mini Cookflow a bit more time to start. We'll spin up a notebook when it has started. Let's continue with Stefan explaining more about K.O. Stefan is the creator of the K.O. project. We're very happy to have him working with us in Erecto now and we'll switch back to mini Cookflow and continue with that demonstration. Let's do that. So I guess I can switch here so that we have an overview of what K.O. is. By the way, thank you, Mangelis, for this introduction and since Mangelis mentioned K.O. several times, let's try to understand what K.O. actually is. And as a component, it is actually composed of two different things, a UI and a back end. The UI is basically a Jupyter Lab extension. Jupyter Lab supports extensions out of the box and K.O. is an official Jupyter Lab extension that provides several easy to use UI artifacts that can be used to annotate the notebook very easily and we'll see later how. And then a Python package that interacts with this UI extension to properly parse package and then convert the notebook into a pipeline. Again, all of this happens seamlessly and effortlessly without the need to use any kind of external SDK, CLI command, no need for additional knowledge about Kubeflow SDKs. It's just about annotating a notebook with visual artifacts and components. So I guess that by now we should have up and running. Yes, it's almost there. So K.O. is an open source project on GitHub and okay, we're there. We're done just in time. Yep, it's up and running. That's our credentials. We didn't really do anything. Wait for a few minutes. So let me get the password. Go to the URL provided. I'll be redirected to Kubeflow's login screen. Let's give it some more time. While we wait, let me chime in with a question that we have from Babu and the question is does K.O. require rock to work? Good question. So K.O. does not require rock. It is essentially a component that can leverage any kind of data management. So the feature that it provides are featured at work out of the box. But then in this specific workshop, this specific example, we are integrating K.O. with our Victo's data management platform. So some of the features that you will see here are not part of the open source K.O. project, but by itself can be integrated with anything else. Great, thank you. Babu, feel free to follow up in Q&A if you have a follow up. Let me know. We have another one. Camille Rodriguez asked, is K.O. deployed as a Kubeflow component or does it have to be deployed on the side? That's the interesting thing. It is very easy to deploy K.O. because it essentially is just part of a notebook server image. So what you just need is a notebook server with the K.O. Python package installed and the JupyterLab extension. And that's it. So it's very portable, easy to use, easy to share, easy to build. So you're saying K.O. doesn't really have a server side component. It's Python code that leads inside the same notebook server image. It works as a server component from the K perspective, but it is not an additional service to your service in a short cluster. So Mini Kubeflow is up and running. It took some time for presumably the ingress components to come up. What's our demo going to be? We'll start a notebook server, install new libraries on the fly, so we prove that the data scientist can essentially work independently without having to create new notebook server images. That's just install whatever new Python library they need. Enable K.O., pack yourselves, run a pipeline, snapshot your notebook, run a pipeline, and then actually go back and reproduce pipeline state with notebooks and explore what happened. So this is the Kubeflow login screen. I've already pasted the password, logged in as a user. This is the Kubeflow central dashboard. I can see pipelines. I can see notebook servers. This is a list of my notebooks. I don't have any notebooks running right now. Cat-tip for hyperparameter tuning. The snapshot store, which is ROG. Let me also log into ROG, same password. No snapshots. So going to notebook servers, and this will answer the previous question about how we use K.O., creating a new notebook server. Let's name it, I don't know, webinar two, one, whatever. Let's do webinar one. So I'll be using this specific image, and this image actually has K.O. installed as part of it, and this is all you need to be able to use K.O. with your notebooks. You don't need a server-side component, and you need to deploy something alongside the Kubeflow. Okay, so what I'm going to do as well is I'm going to add a data volume. I'm going to call it data. It's going to be mounted under home slash Jovian slash data, and this is where we'll be storing our data so we can spin up our pipeline. So launching this notebook. In the back end, this becomes, and by the way, this notebook manager UI is something that we as a Rictor have contributed to Kubeflow 0.5, I think it was. In the back end, we're initializing a pod to host our notebook server. The pod is up and running, and we should be able to connect to it. So what we did is we created a mini Kubeflow instance on GCP. We have spined up our own notebook server. We have connected to it, and we're now ready to use it. And this is great. We didn't have to use any command. It was all CVS UI. Easy. Click. Yeah. Go ahead. So first of all, let's download our example from, we have a list of created examples. Does it make sense to increase the font size a bit? Oh, yeah, sure. Let's also do this. Okay. I hope it's enough. Otherwise, just tell us. Let's pick up, yeah, if it's not visible. So I will move inside our data volume, as you can see, the home Jovian data, and start to clone this repository. Kubeflow Kube is the GitHub organization where we keep all the K code. So now I have an examples folder, and these are curated examples to showcase how K works. In this webinar, we are going to use the Titanic example. That is an example that we curated, okay, I think I can just write this. Okay, sometimes JupyterLab complains where files have written in any case. It's a JupyterLab issue. So as I was saying, we built this example around a Kaggle challenge that offered a dataset composed of data of the Titanic shipwreck passengers. So the dataset is composed of some features related to the specific passengers. And then the label, the prediction label is whether they survived or not. We are not going into the specific details of what this notebook does. It's just some data processing, data validation, visualization, and feature engineering.   And then in the end, we collect all the results and compare them. So I can try to run my notebook and I see that I am missing some dependencies. And this is a very usual workflow. You would expect to write code and have to install new library. So let's do that. Let's beep install, install, see born. And I'm using the dash dash user flag. And this will become clearer why very, very soon. Okay, now that I have seen one, I can restart my kernel and everything should be up and running. Yeah, you can just run some cells. I see that I have the data and everything works. I will go through all the notebook because this is not the purpose of the example. But then so we can just go on to the second part of the tutorial that is enabling Kail and annotated the notebook. So now I've done the data scientist part. I have my notebook with my experimentation, my machine learning algorithm that more or less might work or might not. I don't know. And I want to test them in a pipeline. I want to convert the notebook to an immutable pipeline. So how do I do that? I switch over here on the left where there is this nice cube flow icon.  So all these visual color references, these badges are shown by Kail. Because it introspects the metadata of the notebook that we had already annotated. So each cell is annotated with a specific pipeline step. For example, here, this code, I want it to become a step of the pipeline that is called load data. So clicking on the upper right corner of the cell, I can actually bring up a dialogue that lets me change this metadata. It lets me create new pipeline steps, skip some of the cells because I might not care to have the resulting pipeline. And, for example, have steps that depend on others. Like here, the data processing step, of course, depends on the load data. And this is true for, for example, here you can see that multiple cells are colored with the same yellow data processing color. This is because multiple cells can become part of the same pipeline step. So Kail does the work of merging together multiple cells into one single pipeline component. Okay. And on the left here, you can see I can choose experiments. That are actually the experiments that you have available on cube flow pipelines. I can have pipeline name, description, and several settings. Okay. So once I've done that, that is a very easy to do thing, right? You don't need expert knowledge to annotate a notebook or to write a couple of settings. Once I do that, transforming this notebook into a reproducible and immutable pipeline becomes just a click of a button. So let's do that. So now that I click compile and run, Kail is asking Rock to take a snapshot of the current notebook servers volume, the workspace volume, and the data volume. In this way, these volumes are fed into the pipeline steps. And your environment can be it becomes completely reproducible because every step runs on the same exact environment that you were running your code on. I've previously, I had installed the Seaborn library with the dash, dash user flag. This is because I wanted that Python library to live on my workspace volume that is under user Jovian. So whatever is in their libraries, new scripts that you brought yourself that you are importing in your notebook, everything lives in that workspace volume and will be present in the pipeline as well. So my pipeline steps could actually have access to the library that you installed in the notebook. Exactly. And any custom script or additional file as well. So after taking the snapshots, Kail takes the notebook, converts it to a pipeline, and it uploads the pipeline to Kubeflow Pipelines. Here it is. Maybe. Okay. So now we are, we are using- Let me zoom out a bit. Okay. Here, zoom. Okay. So you can see here the pipeline, the load data step that I showed you before, data processing, several other steps, and all the machine learning models that are actually parallelized because their only dependency was on the previous feature engineering model step. So that they can run in parallel, something that you couldn't do on a single notebook where you would have to run things sequentially. And here is the pipeline actually running. Okay. But while it finishes running, let's talk a bit more about Kail itself. So Kail is composed of several independent modules that perform specific actions. When you click that blue button, essentially Kail takes as input the notebook and parses it to the metadata information inside the notebook, creating an internal graph representation of what the pipeline will eventually be. Then a series of static analysis and coding inspection steps happen in order for Kail to understand what are the data dependencies between the steps of the pipeline. Saying if I had a variable A defined in the data loading notebook cell, then I would want this variable to be available again in the data processing cell, just what happens normally in a notebook. Well, Kail takes care for you to detect this dependency and then serialize, save, and deserialize, load these variables from step to step in a seamless way. In the end, once Kail has this graph representation with all the data dependencies, it is able to generate a self-contained executable Python script that is written using the Kubeflow SDK to define the pipeline. And that script is the source of truth of the pipeline that is executed to actually upload it and execute it. Okay, so let's go back here. Everything has run. I can go into specific steps. Oh, yeah. Let's let's change the size. What was it? Yeah, let's do this. In logs, okay. This step was not printing anything. Let's see if I can find... I can see things that were printed on my notebook. I will find them in the logs here. And I can go all the way down to Results and see the resulting results. Of the notebook, of the models. A hundred percent score. Yes, this is definitely wrong. But trust, this is part of the demonstration, of course. So as a data scientist, I will see that this result is strange. It doesn't sound quite right because it can't be that good that everything is performing excellently. So this is where the data layer, the data management platform comes in because it will allow us to go back in time and serve the reproducible snapshot that we're taking during the pipeline execution and restore a notebook at a precise point in time to debug what happened. But I'll let first Vangelis walk you through the theory of what we will show you later. So this all comes down to data management. And this is the main reason why we as a Recto got involved in Kubeflow. Our very first goal was to extend Kubeflow. So it uses what Kubernetes calls persistent volumes, persistent volume claims in a vendor agnostic way. So we first introduced a spawner for notebooks based on Jupyter Hub that had support for persistent volumes. Then we had a native, Kubernetes native notebook manager with support for persistent volumes. We included support for persistent volumes in the pipelines domain specific language. We have a new volumes manager coming with many Kubeflow and Kubeflow 1.0 next week. So why are we doing all this? This is a page from the TFX paper that we'll have done in 2017. So all of these workflow steps, they're part of TFX libraries and Kubeflow gives you containerized versions of these libraries and it gives you a nice way to run hyper parameter tuning, cutting. So all of this is Kubeflow. And then you need an integrated front end to manage your jobs and start submitting things. So this is Kubeflow again. This is the notebook manager that we contributed. And then you need a shared framework for job orchestration, which is that in the case of Kubeflow is Kubernetes because everything runs as a pod. And then you need some way to have pipeline storage. And you can do it with open source tools. You can use any sort of object storage as your provider may be offering. You have to write your pipelines in a specific way to do that. Or you can use what many Kubeflow gives you, rock. So this is what we do. We provide storage for pods, for your pipelines to use. This is the context of our involvement in Kubeflow. And how have we extended Kubeflow? We've made Kubeflow data aware. This means Kubeflow uses PVCs. No matter where you are, at the experimentation stage, you're on your laptop. At the training stage, you're on Google Cloud. At the production stage, you could be in 100 places where you're actually serving your model and doing inference. So all of these places run Kubernetes plus Kubeflow. Kubernetes integrates with external storage, external storage via an interface called container storage interface CSI. We have implemented this interface. We sit on the side of your storage. Can take your snapshots, can take your work and seamlessly move it to other locations. So this allows you to eventually run a hybrid cloud, multi-cloud pipeline. So why is it important for running your pipelines? This is your data. This is the data volume that I created initially when first creating the notebook server. This is the data that the validation step of the pipeline, for example, works on. And when the validation step is done, we snapshot this data. We take a snapshot. This is the validated data. And then another step of the pipeline runs. On the same data, we take another snapshot. And another step of the pipeline runs and it fails, but we need to explore it more. So what do we do? We clone the latest snapshot we have into a new volume. We spin up a notebook and we can explore it. That's what we'll be doing later. Or we fix our things, restart the failed step again, and the pipeline continues. So let's do exactly that. Let's choose a snapshot of a step that we believe is suspect for a bug or a failure and explore it with a notebook. So let's do that. So let's go. Since I want to debug what happened to the machine learning model, let's take a step of one of the machine learning models. Let's say random forest. So KO did the work for us to produce this nice work done artifact that actually points to a URI to a URL that will show us the snapshot that Druck took at that specific point in time. I could see here all the snapshots that were taken during the pipeline execution. So each one of these steps corresponds to a specific pipeline step. So again, I'm going to copy the URI of this specific snapshot. And then I am going to create a new notebook server from that snapshot. And this can be done from here. I just paste the Rock URI autofill with all the information that are preserved and say I'm calling this new notebook debug. Let's roll. So now Kubeflow is provisioning a new notebook starting from the actual snapshot of the random forest pipeline step. And KO will know this. And as soon as the notebook server starts, KO will detect that it is basically restoring a notebook from a snapshot and to restore the entire Python context at that specific point in time. So all the variables, the Python imports, they will all be there ready to use. So we are connecting now to an exploration node. We want to explore one of the actual... I'm not doing anything now. As you can see, the notebook loads up KO does this thing and it scrolls down directly to the cell that corresponds to the pipeline step, loading the entire Python context. And actually I can directly run this cell. And okay, let me... Let me print so that we can actually see that it's running. See? Okay, I have everything running. Okay, so if I want to debug, I think I will do it fairly quickly because maybe we're running out of time. So what I'm going to do is analyze our training dataset and after some exploration, maybe some hours of cries and desperation, I would notice that together with my training features, I forgot to remove my training label that is the survive label. So all the models learn to map one to one, the label that is present in the feature set with the prediction label. So what I need to do is to just remove remove that label. Yeah, drop. Let's remove that label from the training dataset in place. True. And this. All right. So now that we have discovered the bug and everything should be running again, I can actually re-enable KO. Everything is there as it was before with the new addition, not just compiler run, and we'll see later on that the pipeline... Same thing. ...has executed correctly. So you implemented an edit compile and rerun the pipeline cycle. Exactly. I just have to change the notebook cell and that's it. I just have to click a button and the pipeline is there. Great. So let's wrap up while the pipeline is actually running. Without KO and ROG, you'd have to do lots of manual things. You'd have to be familiar with code control, compose your own YAML files, upload them, monitor your resources, create your pvcs if you're running on-prem or on your cloud, mount them, fill them up with data, start the pipeline manually, lots of things. KO just automates all of these things. You're in your notebook, click on a button, snapshot things, compile the pipelines, run. This is it. This is what we call the notebook to pipeline critical user journey, develop, convert to pipeline, run the pipeline, maybe explore the pipeline with ROG. What we want to do in the future is move these pipelines so they're multi-cloud, hybrid cloud-aware, because what you want to do is experiment locally around the cloud. And that's what we want to implement by leveraging vendor agnostic snapshots. And then why not do hyperparameter tuning with KO and Catty from linear notebook? Why not specify that a few variables are special? There are hyperparameters, specify the ranges, specify hyperparameter tuning algorithm, and have KO produce the hyperparameter tuning job. This is what we will be demoing at Kipcon in Amsterdam end of March. We want to track data and metadata with ROG and MLMD. I could flow components. So you can go back in time and have a full lineage data and metadata of all of your artifacts. And finally, mini-cubeflow with Kubeflow 1.0 coming next week. So please contribute to KO, open source. This is our repository. There's nice medium article you can read to get started. Please try out all of this, what you just saw. You can deploy your own mini-cubeflow. You can follow our code lab. You can watch the video. We're really looking forward to your feedback. Join the Kubeflow Slack workspace. Join hash mini-KF, our channel. We're there to talk to you. You're more than welcome to provide your feedback. And this is it. Thank you for your time. Thank you. I think we have some time for our Q&A session. Yeah, yeah. Thank you all of amazing live demo and presentation. I love the abstraction and the value proposition around UX, around all this. There's some questions. Some folks were trying to spin this up. Babu, I'm guessing that best place to go is on the Slack team and ask those questions that they're having. And two kind of patterns that I see in the questions are around workflow and security. So let's handle the workflow a little bit. And Derek Wyatt, I think, asked a good one, which is what is the expected workflow between the data scientists and the operations personnel? Ergo, the data scientist uses Kail to create the pipeline, but then what pipeline becomes blessed by Ops is now under their responsibility. How are Ops data scientists expected to interact, command line, get a notebook? This is a good question. So Kail itself does not have any interference with this process. The process of this does become a pipeline that's uploaded to KFP. It becomes part of KFP's database. If you have a blessing process or if you need to move this pipeline somewhere else, you can continue doing this exactly the way you do now. And the pipeline itself actually has input parameters that come from the notebook. You see that one of the notebook cells is marked as a parameter cell, and that's where we get the pipeline parameters. So you don't need Kail to actually run the pipeline once it's been uploaded. You can rerun it over and over again with different parameters. The operations is detached from what the data scientist does. But if you need to actually modify the pipeline, so you need to involve the data scientist, you need to spin up your notebook, edit your notebook, click on the Kail button again, and then you get a new version of the uploaded pipeline. Does this answer your question? I'll leave it. I think once it's a pipeline, CICD Ops kind of responsible, that's the handoff. And I think with the platform, to me, it looks like it does or the solution is it kind of makes it easier for the data scientist to work a little bit more in an environment that feels native to their experience and by way of the notebooks. But I'll leave it there to ask. And then about the security questions. So I think there's somebody asked broadly, security Juan Medran. And then there was also about the images which I'll roll into that. Derek Wyatt is also on our back. But let's, I guess let's, the easy ones. The images, where are the images that are getting pulled? I guess with GCP, those are the embedded AMI type things over there. I'll leave it to the person who asked the question about the images to clarify. But can you speak, I guess, a little bit on security and broadly? Yes. So the images, there is a mini-coup flow instance image that we have uploaded as a public image on GCP. So mini-coup flow can become a part of the GCP marketplace. And then this image will download all of the, will pre-fetch essentially all of the coup flow related images that the NKF cattle, the coup flow deployment to installs. So all of these are public images. And that's why you can deploy them on your mini-coup flow instance. About security, you'll see that our notebooks, it wasn't a part in this demo, but we've had other demos in the past. We have been contributed heavily to coup flow multi-user support. So all of these things run in your own namespace. Notebooks are managed as part of your own individual namespace. KO works inside this namespace as part of your notebook. We are working on making pipelines multi-user enabled. So right now in mini-coup flow pipelines, all pipelines run within a single coup flow namespace, but we are working and we have a design that we're implementing and it's part of the community and it's open for discussion that allows you to run your own pipelines within your known namespace.  Same thing with persistent volumes, all of these persistent volumes belong in your own namespace. And when you access rock, you use rock-specific tokens that again link your namespace with a rock namespace, a rock account. Great, thank you. We can actually run a couple of minutes over. I take with Taylor, she's good. So if you can hang around, I'll ask for a couple more of these. Let's go with Frank S, who's asking about roadmap for multi-clouds. I'm interested in hybrid cloud kind of roadmap. And he says, I think the abstraction of Kubeflow ops instead of KL interface for data scientists. Yeah, and I think that would was something we just covered. But can you speak a little bit to roadmap, I guess? When can we expect some of this support for a multi-cloud and hybrid cloud? So Kubeflow 1.0, coming out next week. Mini Kubeflow with Kubeflow 1.0, coming out next week. Then we are working hard to implement multi-user pipelines for Kubeflow. And this will be part of open source Kubeflow. We have a design that anyone can contribute to, which is now under discussion in the community. Then we're working to bring hyperparameter tuning into KL. This is part of our roadmap. And then multi-cloud, hybrid cloud functionality. This depends on whatever storage you're using, underlying your pipelines. So this is more of a rock question. We are testing with clients, rock in multiple locations, and the rock registry, a component we use to synchronize multiple locations. So how to implement multi-use, multi-cloud pipelines depends on either writing your pipelines in a way that accesses some sort of external storage explicitly. So then becomes your responsibility to keep these storage synchronized and available across locations. Or if you're using rock, you can seamlessly, essentially, specify that certain data is to be shared across administrative domains. So whenever you place a snapshot from one pipeline step in a specific bucket, this becomes available in another location, which then allows you to spin up the second half of a pipeline with input this snapshot. We essentially use snapshots to move the output of one step in location A to become the input of another step in location B. But this happens under good flow of the storage management, the data management layer. Okay, cool. We should talk about that a little bit more later. Greetings from Amsterdam. Looking forward to meet you at KubeCon. How does KL metadata changes look in version control? For example, which tools review NB? Like review tools, I guess like a diff for this, if I'm understanding that. So the metadata is actually part of the notebook itself, right? And the notebook itself is a JSON file. So whenever you change the metadata, this change train is actually very easy to see because it becomes just a diff between two different JSON files. Whenever you change a key value of the metadata of the notebook, that is what KL does to store this information, it's just like comparing traditionaries. Okay, cool. And with that, I think we've run over enough. There's a couple of questions. I'll point folks like Josh about who asked about how to improve the solution, testing develop suggests tutorials or anything. I imagine the Slack channel is the best place to kind of go and interact with you and the community and kind of follow up on all this great stuff. There's also a KL channel on the Q Flows back. So you can also place questions there. We are monitoring their channels. There's a media group. And the KL channel as well. So you can find us there. Well, awesome. Well, great. Thank you very much, Vangelis and Stefano, for a great presentation. And that is the end of the questions of the time we have for today. Thank you all for joining us this webinar. Recording the slides will be available later today. And we look forward to seeing you at future CNCF webinar. Have a great day or evening wherever you are. Thank you. Thank you. Goodbye.


What is up everybody it's Stas here and in this video we're going to be doing an overall market update taking a look at the Dow Jones the S&P 500 and the Nasdaq We're also going to be doing a trading update talking about what I did today in the markets As well as some stocks and ETFs that I'm watching and looking to trade right now in the month of November in 2019 and yes guys we have some things to talk about regarding you guys as you read in the title because It's seeing an insane rally right now heading into the close of the market here in eight minutes that I want to talk about because of the Report is tomorrow. I want to share with you all what are my thoughts in terms of this massive spike heading into the report? So stay tuned for that here in a couple of minutes as well as Disney guys Disney is another stock that is killing it right now It's up multiple percentage points on some very good news that we'll talk about here in a couple of minutes But before we do get into the video all I ask from you is if you enjoy the content find value in the content Just go down below and hit that like button guys very simple turn that like Button blue turn it blue consider subscribing if you want to see further content for me and feel free to join our StriveSmart discord group chat and our StriveSmart Facebook group 100% free of charge linked down below. So let's get into the S&P very quickly without wasting any time It's up well now. It's down 9 cents guys. It was up 3 cents now. It's down 19 cents It's really not doing much in terms of the overall price So let's dig in a little bit more here into the hourly chart to see what I'm kind of seeing here So we hit an all-time high yesterday 3102 we already talked about that in yesterday's video and now it seems like the fact that You know, we did not hit another all-time high and we're kind of struggling under this level of 3100 it seems like we could further pull down here in the S&P This is not looking very good in my personal opinion But the fact that it seems like we're going to hold the 50 SMA Heading into the close here in five minutes. That's actually a pretty good sign So, you know, we're kind of in a spot here where we just honestly need to let it wiggle out So tomorrow's action is going to tell us a lot whether or not, you know We're going to see higher higher levels or we might you know, potentially see lower levels and you guys can probably guess You know, if we break this resistance tomorrow, which at this point is around 3096 Which was that all-time high from the 7th of November, you know, if we break that level and ultimately break 3102 Obviously the uptrend will be continuing. We're hitting higher highs You know, we're going to be at all-time highs at that point But let's say on the flip side, you know, we we break this 50 SMA. Where are we going to go next? You know, maybe down to about 3082, which was an old resistance back from the 4th of November That's where I'd see the next support being and I'd watch the S&P to hold that level Let's say we break that level. We may be going down to 3068 Which would put us right on top of that 180 SMA here on the 10-day 30-minute chart So I think that's a level definitely worth watching if we see more downside Now going out a bit to the 4-hour chart. Let's zoom in a bit. You know, that would put us right here So that kind of makes sense. So if we were to break that level guys now We're getting into a bigger correction here of about, you know, 2% probably up around 2% I'd definitely look for a hold on top of 3045 putting us on top of that 50 SMA on this 4-hour chart So as of now guys, not much movement Just wait and see what it does tomorrow in terms of picking that direction Whether it's up or down and the Nasdaq and the Dow, they're probably going to be very similar Right, so let's just take a look at this and dig in actually Not too similar because the Dow's actually up 100 points right now Up 0.36% while the S&P was flat So let's actually see what the Dow is doing and honestly It's looking a lot more bullish than the S&P for this main reason that, you know, we broke above 27,750 which was that resistance from yesterday and a couple of days ago And quite frankly we hit that all-time high today guys 27,806 bucks before diving aggressively And now rebounding into the close here in about 2-3 minutes Which is a very bullish sign, the fact that we are closing like this Right, because on a daily, you know, a daily basis here in terms of the 1-day-1-minute You know, this level we bottomed out at is actually a higher or low So technically we actually closed very strong in terms of the Dow So the bulls are definitely in control here on the Dow Jones at least And on the hourly chart, the pull-down we saw this morning Actually held a higher or low on that 50 S&P And again, we broke that all-time high So this is looking very bullish from multiple different time frames that I'm seeing here On the Dow Jones So that's pretty much it, right? You know, if we pull down, I don't know if we'll get a pull down Tomorrow, maybe the next day Either way, at this point, I would look to see if it holds 27, 750 as the support, you know, if we do pull down Because that's an old resistance If we break that level on a closer basis here We may be going down to, let's say, 27,500 You know, 27,350, 27,400 Those are some levels that I could see the Dow pulling down to If we see a larger correction of more than 1-2% here in the Dow Jones So the NASDAQ right now, guys, down about 9 points Down about 0.11% on the hourly chart here It seems like we did pull down at a higher or low And we tested the 180 S&P at a higher or low And now we're starting to confirm the continuation of the uptrend Which is good We haven't really fully hit that high or high quite yet Because, quite frankly, we are struggling a bit here On the 5-day-5 minute, you'll be able to see it Ever since we hit the all-time high yesterday, we pulled down We're holding that high or low like we saw But we haven't fully, you know, extended to an all-time high again So it's still in that phase where we need to give it some wiggle room So tomorrow, just keep an eye for that If these markets push green, tech stocks do well Maybe watch for a move like this, as indicated by the arrow You know, if we do end up pulling down on the NASDAQ Watch for a potential retest on that 180 S&P And maybe we hold that and pop again Or we break below it, which would trigger a lot more selling, in my opinion You know, these are some things to watch out for as the market plays out So that's the market update portion of today's video, guys Now drop a comment, let me know what are your thoughts on the market Are we going higher from here? Are you buying stocks, selling options? Let me know what you're doing, what your strategies are If you want to share down below in the comment section So what did I end up doing today, guys, in terms of trading? And this is actually going to segue quickly into the you guys in Disney portion of this video I traded Disney today, guys, believe it or not, right? And Disney has seen a performance today that we haven't seen since The news came out a couple months ago about Disney Plus And that's actually the last time that we've seen Disney fly this much in a day Right now it's up $10, guys Market literally just closed, it's up $10.09 here Up 7% This is absolutely insane, guys So what I ended up doing, and you guys know if you've been watching my videos That I've been actually following Disney very closely these past couple of days So what I ended up doing is I actually set a limit order at about $140 on Disney stock I set a limit order at about $140 and I actually was out for the day, right? I didn't even know that this catalyst that we ended up getting was going to happen But I kind of had an idea that Disney, like I've mentioned in actually previous videos Weeks ago, I kind of had an idea that they were going to give out an initial Number when their Disney Plus service was going to launch, right? I had a thought that yeah, they're probably going to be like, you know This many people signed up or whatever, right? Some type of metric that is going to potentially push hype into, you know, investors, traders And just the community in general, right? And that's exactly what ended up happening, right? And that's not the reason why I entered the stock Quite frankly, you know, I saw a lot of potential in the stock You know, even after their earnings here because they beat on, I believe EPS They didn't really do well in terms of revenue, but EPS they beat, right? So I kind of wanted to build a position regardless because of the massive push here And of course at this point, you know, I knew Disney Plus was coming That's like that's probably the secondary reason that I wanted to get in But you know, a lot of good stuff was happening here So I set that limit order at $140 because we dropped from $142 after earnings You know, down to about $136 yesterday's action And honestly, the day before that, we were looking bullish Because the 50 SMA was being held on this hourly chart Today we pulled down a bit And at this point again, I was like, why not? I'll set a limit order $140 target sell at $142 That would give me a nice little, you know, probably around 1-2% profit Whatever it may be, right? And you guys can see that luckily I actually didn't even set a limit sell there This stock ended up flying on the catalyst that we got today And let me pull up my phone very quickly and let's talk about this So Disney Plus launch, the launch was yesterday, right? Tuesday, I'm recording this video on Wednesday Which is one day after the launch So they got 10 million signups since launching yesterday But the thing is, we don't know how many of these signups were from the free trials So it seems like the market doesn't really care about the free trials portion Right now, they're just running on the initial hype of that 10 million number Being pretty impressive, right, in my personal opinion So one thing that we also got from Disney is Now that they kind of gave that initial number They're not going to give any more insight in terms of metrics Regarding Disney Plus until their next earnings report Which at this point, it's probably going to be around 2 Obviously about 2-2.5 months from now So Disney executives, another interesting stat that I read online guys They expect Disney Plus to reach 60 to about 90 million global subscribers by 2024 So these are some interesting metrics And kind of why, well really the reason why Disney flew up today Was because of that 10 million number that we got And honestly guys, this trade was insane for me So I got in at 140 again I did not set a limit sell there But once I saw it flying like this You know, I ended up just locking in the profits To be honest, right at about, I think it was like 143.70 or something like that If I let it go, honestly I should have let it go on this news But being myself, the conservative guy that I am And a lot of people know me as that I ended up taking the profits again at about 143 Like 70 or something like that So from 140 And mind you guys, this position wasn't that big Because I didn't expect it to go this quick So I was looking to scale in Then all of a sudden again it took off So I took the profits again on a smaller position Of about 2.5% So still on the day, that's very good for me And I'm happy with it You all know that other trades that I'm involved with right now are McDonald's You know, Facebook And these are all stocks I'm holding as a swing Chipotle is another one that I'm involved with And I know there's another one that I'm missing PayPal, PayPal So there's a couple that I'm in right now Quite honestly a lot in terms of swings But day trades, that's all I ended up doing today So let's just get into now A couple of other stocks and ETFs that I'm watching Including the number one one that you guys probably want me to talk about Being UGAS guys, ticker symbol U-G-A-Z And UGAS, D-GAS, these are the talk of the town Especially around the Wednesday, Thursday, Friday time period in the week Because that is when they're typically the most volatile Because that is when the natural gas report comes out Right, Thursday, 10.30am Eastern Standard Like I mentioned in the beginning Of this video So today We saw this insane rally in natural gas And U-GAS, right You can see it on the daily chart Where U-GAS went from 14.50 up to about 16.05 at the close of the market Which was a move of around 10 to 11% In the matter of an hour, two hours rather Two hours and 15 minutes guys Two hours, 15 minutes This thing moved nearly 11% And what's that telling me, I'll be honest That's kind of telling me that a lot of buyers are coming in Volumes coming in here before the report So one thing that could be honestly telling us Is that people think this report could potentially favor U-GAS Right, that's one thing that I'm thinking from this massive surge here And if we go to natural gas You know, we can see the ridiculous breakout that we got on the one day one minute Right, from 257 up to about 267 In the matter of that same two hour and 15 minute time period And this just goes to show guys how volatile And how quickly these can move And really how quickly the swings are in U-GAS and the D-GAS Right, and if we pull up D-GAS I'm sure you can imagine This thing dumped from 119 down to about 107 And it's still in a downtrend based on this one day one minute chart So kind of what am I looking at right now, right? We got this bullish move Natural gas is flying U-GAS is flying Again, my opinion is kind of like People might be putting in their money here Volumes kicking up before this report Hinting that this report may favor U-GAS This may favor the natural gas bulls At this point, what do I want to see to kind of confirm that further I need to see an additional, believe it or not An additional gap up in U-GAS tomorrow morning Heading into the report I kind of think that's important We're getting the breakout on pretty much every time frame Five day five minute One that we're actually not getting the breakout on Is this hourly chart But if we get that gap up I'm talking about That's going to be putting us Whether it's in the mid-16s Whatever it may be Right, 1630, 40, 50, 60 Whatever it may be That's going to be putting us above that 50 SMA Which is giving us a pretty nice breakout potential Especially heading into that report And if that report is in favor of natural gas Going up and U-GAS at the end of the day Right, so you know I think a gap up here would be very, very positive Heading into the report And what do we want to see out of the report guys You know, we want to see a withdrawal of natural gas At the end of the day You know, it's getting cold in the Midwest The Northeast here where I am in New Jersey It's been snowing, which is insane, right It snowed a little bit yesterday It's freezing today I know a bunch of people Chicago, Midwest area It's crazy right now And it's going to get worse over the next couple of weeks We all know that at this point, right So we want to see that demand tick up We want to see withdrawals And we want to see that price of U-GAS End up, or natural gas rather End up pushing up, right So this, the way it closed today guys It was a really good move For the bulls in my opinion Really, really good move Heading into the report And you know, if we get that gap up tomorrow guys I think that's going to be extremely positive as well And ultimately, if the report is in U-GAS' favor Don't be surprised if U-GAS is back up to $18 You know, $17.50 Maybe even $19 by the end of the week That's how crazy this thing moves And honestly, I wouldn't be surprised If that ended up happening But again, on the flip side You have to look at both sides of the coin You know, if the report is in favor of D-GAS U-GAS can easily be dumping right back down D-GAS would be going back up And we'll obviously be playing the inverse Which would be D-GAS at that point in time So let's get into some other stocks and ETFs And by the way, let me know your opinions on that Down below in the comment section But let's hop into some other ones here That I do want to talk about You know, very, very quickly Netflix stocks So we saw Netflix stock Actually tank today as a lot of you guys Probably would expect, right Because Disney Plus, the $10 million number Despite Netflix having 158 global subscribers 158 million global subscribers right now That $10 million number in one day That's kind of, I'm not saying it's a massive threat But that's kind of a number where you're like Wow, maybe in a couple years They're going to be very close to us type of number, right? So, you know, they ended up seeing some pressure to the downside You know, down about $9, down about 3% And to be quite honest with you all I got some requests about Netflix There's no way I would invest in Netflix right now I think, you know, it's going to be Quite a risky investment Now that a lot of players are coming in You know, Apple, obviously Disney Plus Right, a bunch of these players coming in And eating market share Although it's going to take time for them To really catch up to Netflix It's really still not a place where I find The best use of my money in terms of a long-term investment But as a trade right now, like a swing trade I'm seeing this as a potential breakout You know, we saw a massive sell-off in Netflix Down from $380 down to about $252 Seems like we bottomed off there And since that moment in time We've been really just uptrending And reversing to the upside, right? We found the next bottom higher or low At about $265 You know, we broke above the $180 The $50 SMA We actually failed to go back up to $317 Which isn't that great of a sign But still on a technical basis We're still right now at a higher or low at $283 So me personally I definitely wanted to see it hold the $180 SMA On the 4-hour chart And ideally this trend line that I just drew At a higher or low If that does end up happening, guys This could be a dip buy for Netflix But again, there's risks right now With Disney Plus Who knows? Netflix stock You know, although it looks decent Technically here You know that it's breaking up Netflix stock could still crash Maybe another 3% tomorrow Just simply on the hype of Disney Plus And just because Disney Plus quite honestly Is a very big competitor to Netflix Right now and over the next couple of years So that's kind of my thought process right now On Netflix, right? And quite honestly, Disney too Chipotle is another one that I'm watching a lot right now And I'm currently in We talked about this in yesterday's video We know we held 720 old resistance As a new support That's very attractive, right? 730, we held that point as well And now it seems like we are reversing To the upside, right? And if we go to that 3-year chart I believe you can see it We're holding the 50 SMA on the 3-year chart On the 1-year 1-day chart We're holding that 180 SMA So a lot of the chart time frames Are telling me that this is a really Really, it's a high possibility That this is the bottom for Chipotle and Mexican Grill Right? At least for the time being And if we're going back to a smaller chart We're seeing a full-on breakout Of the 50 SMA here on the hourly chart Which is a good sign And now we're looking to test that 180 SMA Which is where I want to build my bulk position Once we break out of that If we break out of that, right? So right now, I'm in I forget the price I believe about 750 I'm pretty even on my position right now But again, I look on adding more money At about 780, 790, 800 And heavily at about 805, 810 Right? And then probably I'd start trimming profits at 835 And of course, 860 So that's kind of what I'm looking at right now For CMG Pretty nice dip But we just need to see Further breakouts above those moving Above those moving averages On a lot of these different time frames Right? So two more Before I end off the video today, guys Rapid Fire B.A. Boeing.com Or not Boeing.com I don't know why it says COM Boeing Co-Com Boeing Co-Com ticker symbol B.A. This is a stock that Kind of found a bottom at about 330 We held that level back in May We held that level back In the beginning of June We double bottom there back in August And now right before their earnings I believe we held that level as well On the 21st of October And since then We've been climbing up Right? We've broken above the 50 SMA We actually are trying to break above That 180 SMA right now And ultimately I think If we break above 370 This could be a potential breakout on I was about to say PayPal On Boeing That can get us back up to 390 Maybe even back up to 400 bucks And you guys see here I have alerts To be honest These are probably old alerts Well, this one at least Let me lower this one Down to about 375 I kind of want to get alerted At about 376 If we do get that break of the resistance I might put a limit order To buy some Boeing there As again, I would see potential From there up to about 390 As the stock is trying to turn around After all the mayhem That's been going on with the company Involving its jet And I'm sure a lot of you guys already know about that Not getting into that in this video But this company has been through a lot Over the past couple of months And yeah The last one is going to be Tesla Which like I mentioned A couple weeks ago in a video With the thumbnail Tesla to 250 Tesla got to 350 Tesla Excuse me guys Got to 350 today guys Which was insane If we go to the 4-hour chart You can see You know After that earnings report The profit we got 250 From 250 up to 320 Pulled down a bit People here were nervous Including myself That this thing was going to pull down But ultimately we got that pop And that break above 320 Which kind of gave me the confirmation And really the technical break That hey We may be going to 340-350 on this thing And I think that's when I actually made that video And from there You know we gapped up to 340 Broke 340 Broke 350 Now ultimately guys We're at 360 In terms of the resistance Right We hit that 356 high today And we saw a bit of a retracement Which is a good sign So what I'm looking for in Tesla here is Are we going to hold this 50SMA If we break it We may be going down to 340 To retest that If we hold 340 Watch for the break back up To the high 340s 350, 356 And even higher Right So if we're going to that 3-year chart We can see now we're getting the levels In Tesla stock That we haven't been at Over the past couple of years Quite honestly So 350, 360 is critical If we break 360 guys You know This thing could be going straight up To 380 Maybe even all time highs Which would be insane in Tesla stock So this one's Ridiculously bullish Probably the hottest stock Along with Apple Because I know I said yesterday Apple's the hottest stock in the stock market Tesla has some Something to say about that Apple So Apple Tesla Probably the two hottest in the markets right now And yeah It's pretty much it for this video Without dragging it too long If you enjoyed the video Feel free to go down below Hit that like button Consider subscribing If you do want to see further content for me And if you want to be a part of the Straftsmart community That's linked down below The Discord, the Facebook As well as the merch If you do want to rep Some 6 sweatshirts and t-shirts That is linked down below In the description I'll catch you all in the next video Thanks for everybody Sticking to the end If you did You are awesome Peace out


All right, let's take a look at this Thank you Cool, I like that timing already Like how long it takes you or her to Stop and then come up by that sense of weight And I like your compression with the legs Depending on how far you want to push this you can always have a little bit of a bend Get into this maybe depends how far you want to go For this I know this is it's kind of a coming in and then just looking up type of thing But what you could do is I do like your your twist in this Watch our intersections As you go through But I don't mind having that leg like outwards like that with a twist like this since it's a fast and Especially like when she lands she kind of looks this way So all this to say that instead of doing a simple one-axis look up they could be Even this could be I mean it's a bit of a Lean this way, but you imagine have a little bit of an arc and You could play with either either side there. There's a tilt So it's not so simple not that you have to do like a crazy arc and overshoot and stuff like that But just maybe just a bit more you can play around with a bit of the attitude of That and I wonder if this is I don't I've never animated this rig But I made it much lately, but out of this has any controls In terms of giving us you know a bit different shape and not covering this arm too much there And this is going to be a pain But see this I like you how you go out of there. It's kind of really work on your artists You're saying the first pass here. This is a Attempt here. What is your writing here? You started just starting on something new. Yeah, it was nicer You know peeling finger poses for the drag obviously all the facial stuff Like where this is headed Yeah, my only concern is just all the stuff. That's there that we might lose some of the you know the silhouette But you're pushing things pretty nicely so we understand The shapes watch out This gets a bit wobbly as this goes forward and then back and then back to the left again and then to the right So watch just watch this space warrant. I know it's fast, but it's a bit strobie Again, I'd like to the drag on the head That's nice. See that kind of stuff For this you could probably play around with the spacing of it So maybe this arm might be slightly further back. So then that's spacing wise This will be a bit further out so that here it's actually in front of the hair So you have a nicer silhouette color silhouette. It's not bad I mean, I get it here, but the hair and the finger is a bit aligned here for tangents And the same thing here will you know, however you're gonna animate this But this is going to be clean so might as well have it clean here. That's all Yeah, yeah, I just depend on what you're gonna do with the hair I would always clean things up and the hair would drag so this would be a nice open Pose there and no tangent there. I know these things are all fast. But for me, it's always like any frame You can keep as clean as you can like even something like this has a tangent. What are you gonna do with the background? Like even all this aligns just a bit too nicely. This is going to be somewhere else But just watch out tangents and stuff like that Q pose at the end Yeah, I mean, it's this is all head in the right direction the the broader comment would be like is there anything else During this section Because not that it's the same pose, but we're coming in hold, right? Just a bookmark for myself here and then Hold again. So you're looking at You know, I know they're not super similar, but they're still similar So maybe this could be a different pose or you're getting to this and then you like up into another pose a bit of a sub pose there and Then into this and then camera wise Maybe hold on this could be potentially faster camera wise I'm just concerned that it's a bit slow slow Just for contrast giving this a bit of a faster move Let's rework these and depending on what you're gonna do with this stay like that 2d effects whatever it is But that could be something a bit faster just for contrast And that's that yeah, I know that's it. It's super cute. I like it keep going All right, there's an email you can sign up you can start whenever you want You can submit whatever you want you get 16 submissions either way like and subscribe would be awesome. All right. Thank you


from Boston, Massachusetts. It's theCUBE, covering Cloud Foundry Summit 2018. Brought to you by the Cloud Foundry Foundation. Welcome back, I'm Stu Miniman and this is theCUBE's coverage of Cloud Foundry Summit 2018 here in Boston, Massachusetts. Happy to welcome you to the program. First time guest, founder and CEO of a startup, solo IO, Edith Levine. Thank you so much for joining us. Thank you so much for having me. All right, so one of the things we were talking in the open, Lauren Cooney, who you know and I were talking about, well, you know, Cloud Foundry, talking about digital transformation and enterprise for years, but there's always these new technologies. It was, you know, Kubernetes came this wave. Now, serverless is the wave and you know, Amazon's kind of overarching, you know, discussion in the marketplace. That's why I'm glad to bring you in because your company, a startup plays across a number of these, you know, emerging spaces in the Cloud Foundry space. So, give our audience a little bit about your background and what led to the foundation of solo.io. Yeah, thanks. So, I was in startup all my life, I work in a dynamic cove, we got acquired by VMware, so VReal, I see if you remember. And then I moved to another startup, got acquired by Verizon, so Cloud Switch, who was moving back on the day for on-prem to off-prem. And then I moved to the EMC, to the city office and that was great because what I was doing is basically started the dojo of Cloud Foundry. So, me and Brian Gallagher, if you know him and Patrick Dennis, we are the three of us started it and we basically collocated with the Cloud Foundry team and we worked very, very closely with them. And what we did is, what I was doing a lot is bringing innovation. So, we created some open source project, like Unique, if you heard about it, about Unicarno, building and running Unicarno, we worked with a lot of the ecosystem. And the reason we started solo is because I really felt that in EMC it's a great place, but it's sometimes slow you down because of the big organization and I felt that we can do much faster outside. So, that's why we started solo. And all the purpose with solo is basically playing two trucks. One of them is, we really, really want people to use our products. So, we want to target the people who has the problem which is the enterprise. So, that's where we really, really target in and help them move to what we really must do, which is the open source community. So, all the innovation. So, that's exactly what we're doing. We're basically helping them to take their monolithic application, move them to microservices and to serverless, but by using very, very unique and innovative technology, like Envoy and a lot of ladders. Okay, so we hear a lot of times, it's, you know, of course, companies, they need to move faster. They need to go through this transformation. It's the API economy. And that's, I think we're glue fits in there. So, glue spelled D-L-O-O. Right. What's a function gateway? How does this help with kind of, you know, we say, is it API sprawl these days? Or, you know, all these various services? You know, how is this the glue that brings everything together? So, as I said, we're working in two ecosystem, right? The first one is the enterprise. So, the main use case that we're trying to solve, as I said, is the movement. We wanted to make sure that people would be able to take their monolithic and at least extend them to microservices like Lab Foundry and Kubernetes and to serverless. And also, on the free time to kind of like move it. So, that was kind of like our purpose. But we needed some technology for that. And we looked outside and discovered that the first thing that we needed is probably a very good API gateway. But you need to route on the function level and you need to discover the function. And a lot of technology that just wasn't exist back then. So, what we did, we basically built one, which is glue. That's the first thing that we needed because we had no choice. There wasn't anything that actually we seriously, and trust me, I'm looking very well of all the open source project. There was nothing like what we built out there in terms of the quality of the technology and what we're capable of doing. So, that's why we built it. We didn't plan to make it a product, but that was our purpose. And the second thing now, now we're building more stuff and we need maybe to extend to service mesh or function mesh like we call it. Again, not because we want it, because we have no choice, right? So, this is not a core product. What is really rebuilding is about re-targeting everything that related to this use case and we're trying to move. Okay, so Google and Microsoft in their keynotes talked about an API gateway, open source project. I hear service mesh, I'm thinking about Istio. How does glue fit? So, as I said, that's the beauty of it. We are not competing because, as I said, in the beginning, my purpose, look, I go, look at the Istio, I said, that's awesome. We can use it, but they're just not moving fast enough for us as a startup. So, we had to actually create it. Now, when we created it, we created it specifically to our use case, right? We needed the function that we knew that our purpose was to take all those ecosystem of monolithic microservices and serverless and look and see what is the smallest unit of compute that come in between them and cut everything to it and that's the function. So, basically, what we're doing, we're taking all these ecosystem, cut everything to function and then reassemble or movement between them. That's something that they just didn't give us. So, we had to build it, but the beauty of it is because we are, you know, we are really innovative and that's what we know how to do. We decided to leverage the open source. So, for instance, it's built on Envoy, right? Because it's the best proxy that exists today. And we extended it because we needed some functionality. So, we created a lot of filter, right? Because it was really important to us to make Envoy basically has this functionality. So, we are not competing with none of them because mainly that's not what we're doing. We're just focusing on the use case. But theoretically, if you look at an API gateway, I will say ends down with probably the best that exists out there, which is, that's not what we're selling. Yeah, it's really smart. You know, no small startups gonna be, oh, we're gonna, you know, in Silicon Valley, maybe they think they're gonna take down the giants and break the world and compete against everything. But, I like you actually spend some time working in the EMC CTO office. And there were certain things we would always look at and say, there's this gap. Here's what we have today and here's absolutely we know where the market is going. So, you know, the analogy I hear today is like, well, customers, they've got their applications and they need to modernize them. So, it's been the last year or so, there's been this discussion of lift and shift and many people cringe. I said, you know, I lived in the virtualization way, one of the biggest challenges there was I took this old application, which, to be frank, stunk. And I kept it alive for years longer, even though the server was no longer supported, the OS was no longer supported, but I could just virtualize it and that was great. I want to get to 12 factor microservice architectures. Maybe serverless might be the foundation that I'd like to build this. I cannot lift and shift to get to serverless. There is no path from old to there. So, it sounds like you're trying to attack some of that there, am I getting that right? Yes, I mean, basically, I will give you an example of a customer that we have, right? So, they came, they're monolithic application, right? And they really wanted to move and it's really hard to maintain this. So, they said, you know what? We really wanted to move to serverless. That's the engineering part, right? They sang, we wanted to move to engineering. They came to their boss and they said, well, what we want to do is to take it, rewrite it and put it as a green field, right? Basically, as a serverless. So, the boss said, no problem, go, value at how much diamonds we'll take and then come back to me. So, they went and they did it and they basically came with nine months. So, the boss said, okay, so no. And the reason is because nine months mean a year and also, and didn't get any feature on this year, right? They will fire me. So, what we're doing is we're saying, take this monolithic application, it's working, don't touch it, extend it. First of all, extend, on the new functionality, going to the serverless and to microservices and we're supporting everything. I mean, I can start telling you what is the platform that we support you. It's almost everything. And then, the second thing is that on your spare time, start breaking it. Now, there's no magic. I know people saying there's an algorithm, it's never going to work. Trust me and I did a lot of software in my life. You can't guess this stuff. You actually need to rewrite them. But on your spare time, when you're available and on the way, you know, on your pace of learning. And I feel that that's what we're giving. We basically give them the freedom to do that on their spare time and we're giving a lot of other tools. Like for instance, debug. So, we create, we open source a project called squash that basically be able to attach debuggers to microservices, to serverless and to monolithic and different language, different everything and jump between them.  So, I feel that what we're targeting is basically make this movement easy with any technology that we can put out there. Yeah, the whole application modernizations are real challenge. If I look at, you know, in this space, Pivotal's acquisition of Pivotal Labs is what helped them. So, a lot of services, things that we're looking at Pivotal going public, how much of their business is actually services? How much of it, you know, is subscription and software? How much are you, is this just tooling you're building? Are you helping customers get through some of the services? Maybe it's time for you to talk. How many people do you have on your team? I look at the website, I see like five people. Yeah, that's actually what we are. So, I mean, specifically we are five. We are started. We got actually really well funded from tour ventures and great, great investors. And what was important to me is not to do a lot of mistake of the other cloud startup doings which is basically scale too fast, right? I want it first. I'm putting a product out there. I want to see what's going on. And today, because we open source and because we all can use Amazon and so on, we don't need a lot of money to actually create the traditional project. So, that's what we did specifically. I can tell you I'm getting a lot of resume and right now I'm actually pushing them back because it's really, really important to me to scale on the right side. Now we're starting to have customers who will have to scale, right? Okay. So, that's that. In terms of how much, so that's enough. We are five and as I said, it's good but we are not in the services. Actually, people that are doing an amazing job, we don't want to touch that. What we do want to make sure is that they're giving the tools to do them themselves and there will probably people talk to do the services. Are you able to share how much funding is the true ventures is one of the funding? So, we got 2.5 from true venture and then we got 500 for Haystack and another 250 from way venture capital. Okay. And five people you're hiring to? What are you looking for? Yeah, so we are definitely going to hire tomorrow. We need a full-stack engineer. We need a system engineer. Right now it's very flat architecture. A lot of really, really good people.  People who work with me in EMC and so on. Very, very good people. And our purpose is to grow as system engineers a little bit, UI, and we also need somehow to scale. And you're located here in Boston, correct? I am, I am. I have one engineer in Seattle, the rest are here. Okay, and the products itself, you know, open source and things are available, so... For now, so we started as an open, we did put it as an open source project. This is the platform, I feel it should be open source, but there will be features that we will not open source. A lot of more things that makes sense for the enterprise, we will not open source. But yeah, right now everything is open source and we wanted to share for the community. Okay, and from the customers you're talking to, what's their biggest challenge? Things like serverless, are they getting their arms right, especially out here on the East Coast as opposed to some of the startups and the like? So actually, people in the enterprise, I mean, I think I nailed the use case because I'm talking a lot in conference, QCon is one of the conference that I really, really like, I talked a lot. And when I talk there to the people, everybody has this problem, which I have a monolithic, how do you move them? Most of them trying to move to container right now, that's where it is. But the beauty of how we build glue, and that was totally in purpose, is the fact that, and I have actually a diagram sharing it, today there is enterprise that are only using monolithic, I don't know, like probably Bank of America, I think is only monolithic. Then if you're looking, there's people only using microservices, probably Google and others. And then there's companies like iRobot for instance, that's going all the way to serverless, that's all there, right Ben, which is amazing. But, and there is companies that's sharing it, right? I mean there are microservices and serverless, so monolithic and EMC for instance, they have like serverless, microservices and monolithic. What we're trying to do is basically the beauty of what we build is basically a platform on top of an envoy. So we can actually create a customized offer for you, that will be only what you need. And what we will help you is to basically glue, this is what they name, glue your environment. So it will give you one experience that you can manage it all, you can miss and match, you can do whatever you want and it's really, really clean. So when I'm talking to customer today, mainly where they are is like monolithic to microservices, but they love this use case. I mean, I didn't meet the customer yet that I show him the demo of how we're taking a Spring Boot application and move it. And he said that I don't want it to proceed. So it's good. Fascinating stuff, really appreciate you sharing. Definitely we hear from customers all the time. It's moving from the old to the new. I need to live in both of those worlds and it can't split those teams. It can't be islands. I need to pull this together. It's definitely a multi-cloud and it seems like it's happening in the development environment too. So, Edith Levine, solo congratulations on where you've gone. Look forward to catching up much more in the future. We'll be back with lots more coverage here from the Cloud Foundry Summit in Boston, Massachusetts. I'm Stu Miniman, thanks for watching theCUBE.


How many of you read the book Toto-chan? Can you please raise your hands? No one? Toto-chan was a best-seller from the Goodwill Ambassador of UN, a Japanese woman, Tetsuko Kurayonagi. Her pet name was Toto-chan. That name is actually originated from the word Toru, which means sharpness. Her father gave her that name. Even though she was a girl born at that time, they could find a girlish name. But they go for that name. I really want to compare the story of Toto-chan with these two factors. That is external factors of SWAT analysis, opportunities and threats. Toto-chan was an average student. Once, she was looking through the window of our old school. At that time, some street musicians came with these drums and violins and all. They started to play music. This little girl was looking through the window. She got excited and started singing with them. Her class teacher came. She saw this and she complained to the principal. This girl got expelled from her school. Her family was searching for this opportunity, education. When they found this school, Tamago Goyin, it was established by a great teacher, Pagayashi Master. She became the Goodwill Ambassador of UN from Japan to achieve that goal. The threats. You know what? When this America released the Ajambo, that school got vanished. These people were the obstacle in her life. She reached the place which was the Goodwill Ambassador of UN from Japan. She became the leader. She became the inspiration of a thousand other kids of that generation. There were kids from that nation who were doing this war. There were other victims. This girl, she survived all the obstacles and she achieved her goal. So, this is the story of Todorjan. I have to tell you that you should read this book. Because I read this book when I was in 7th standard. The things I grabbed at that time, when I read after my intermediate or now also when I reached 4th. The first thing I searched in my room is that book. Todorjan. Thank you. Thank you all. I will try to read that book. There are many threats. We have to make them to our strengths and opportunities. So, what I am saying is, we are already born right.