Thank you everybody for coming in. My name is Piyagudish Suresh Kumar, Vice President of Engineering from Zopper. I just want to have a quick show of hands before I start. Who here have known Zopper before this event today? If you could show your raise your hands and say that you know Zopper before you come in, I see few go up there and few over here. Okay, that's kind of what I expected actually. So, I think Zopper, you just recently opened a center in Bangalore, trying to build an R&D center here and also sales and marketing team that takes care of the southern region. There are 175 strong employees company, most of them are in Noida and there are like, we have like presence in all the cities that we have launched so far. I just wanted to let you guys know that I'm two weeks into this job. I've been previously in the corporate, been working in the corporate world for many years and a couple of startups in the Bay area. Before I moved to Bangalore, relocated for good here and wanted to participate in Zopper to make a change, like a social change, I'll tell you a little bit when I get into what we are doing in Zopper and how that's change is going to come about. And I'm very upbeat about it and looking forward to participate in that. So, the structure of today's talk is going to be talking about the Zopper as a platform, how, what problems we are solving and then talk about some of the interesting areas, couple of interesting areas where it's new and the new products that we're launching there. And also talk about some of the technology stack that we have, followed by a demo of two demos, in fact, showing some of the problems that we are solving in Zopper and how it's getting solved. So that will be taken care by our lead scientist, Vinay Pandey and Siddharth, who is going to come and join me later in the stage. So let's just get right in here. So the message from Zopper is that I think we want to be an e-commerce play, we want to be actually differentiated from the existing players out in the market. And e-commerce, as we know, has actually revolutionized the marketplace already. I think it's created a new business model. And what we are going to be doing here in the e-commerce play is to bring in the hyper-local dimension to it, right? And that changes a lot of equation actually in our mind. And that's the actual, in my opinion, that's an inclusive model where all of the infrastructure are the problems that the e-commerce company is trying to solve, like deliver in a short time and also take care of the price points and discovery and all that. I think, right now, all of those problems are solved by the local firms that are physically present in your neighborhood, right? Those problems are always solved, right? Why don't we tap into that particular expertise that they have already given? So we built a new e-commerce model, which is an inclusive model, where I call it as an Indian model of e-commerce to where I think in India, we have a strong local connection with the neighborhood that we live in, right? So the local community. So this picture kind of depicts that there are stores in your neighborhood where you live and use a shop, use your phone to basically do shopping, kind of know what's going on there. And it is basically offers you convenience because I think in today's world, if you're in Bangalore, how much of a traffic that we need to go to navigate through to go to stores from store A to store B, it's a hassle, right? I think we offer the convenience where you could look at the pricing of a particular product in a different store and also what kind of products that they have carry and 24 by 7, right? I think you don't have to worry about store Rs anymore. I think you can jump into the app and probably take that convenience there. e-commerce have actually offered to everybody, right? And the third point is actually quite interesting is that what I kind of referred to in the initial talk, right? Social impact, if you see that the neighborhood, right? I think the local firms, the local retailers there, they are actually what I call the lifeline of the economy, the local community economy, right? They basically give jobs in the neighborhood and also the real estate that they occupy, right? So there's a lot of social impact that we are trying to bring in as well. When you shop from us, you are actually shopping from one of those stores that in your neighborhood or in your city is going to be servicing your request and that sits coming from them. And I'll talk about a few aspects of the hyper-local. I think the typical shopper in the traditional ways before e-commerce, they go from store-y to store-b, come part of the prices and understand what they offer. And then pick on others because the products that the shoppers buy is kind of like an investment that they make because they're buying a TV or a home appliance, it's not an impulsive purchase. You just wake up in the morning, go online and buy it. I think there's a discovery process, which is a lengthy process. In the hyper-local, the users have been used in a traditional ways to go from shop-y to shop-y, come part of the prices. And we're going to try and bring in all those aspects of this as a hyper-local facet. So as I was also saying that we are not about the impulsive purchase. It's where you just go and buy online and forget about after the transaction is completed. We look at the whole life cycle of that experience. And product discovery, as I mentioned, it depends upon the product. You just like, if you buy clothes, probably just wake up in the morning, buy a couple of t-shirts, that's fine. But I think if you're buying a TV or a home appliance, like washing machines and refrigerators, it's a lengthy process. I think the discovery process is very unique and hyper-local. And these are investments. The purchases we look at as investments, not like transactions. There's a huge difference between investment and a transaction. So these investments need to be protected. And this protection will be going to be not just protection, but also that covers a lot of warranty and services, but also the delivery and installation of these kind of products, essentially. It's not simple. You need technicians come in and do that. So that's the local connection.  And they come and do the installation and set up or whatever. I think that connection is very, very unique in e-commerce, you know, in hyper-local space, which the e-commerce do not offer. Right? And warranty and services is basically, these investments need to be protected. And warranty is basically the warranty given by the manufacturer. But I think we have the extended warranty that covers, you know, beyond that period, like two or three years period, where we're going to introduce new products that are called Sopara sure, that takes care of much of your hassles going through your customer service support. I'll talk about that when I get that slide later in the talk. And then the lifecycle of the product, basically, you know, doesn't end with the services, but also, you know, how do you recycle it? You know, once it gets old, how do you upgrade that to a new version? So you just need to exchange that to a different, you know, new product.  So we're going to tap into that kind of expertise as well and make sure that, you know, exchanges are also taken care. So you get into a new product cycle all over again. Right? So we look at this hyper-local as a wholesome, you know, into an ecosystem rather than a particular segment of it, just not just delivery or not just, you know, discovery. We look at it from end to end perspective. And product discovery, I want to take, like, two out of that cycle, right? Product discovery is one of the biggest problems that we're trying to solve. And the second aspect of it is, as I mentioned, about the warranty and services. So I'm going to take these big two items and, you know, our elite scientist here would come in and, you know, show some of the problems and how they're solving it. You know, the challenge that we have here is very unique because of the hyper-local, you know, aspect of it. So we have sellers of all different sizes, right, NOS, from their organized, their tech savvy, some of them, you know, some of them may not be, you know, I think we need to build technology for all of them because we are asset-like category. We don't carry any kind of inventory ourselves. It's very easy for e-commerce players to just have inventory, have build a website and sell it online, right? I think we need to build the inventory, right? And its inventory is going to be different from a location to another location, right? Because what's trending here, what's being, you know, bought over here in this area will be entirely different from what's being bought in Mumbai or in Delhi, for example, right?  And, you know, our biggest, you know, challenges is to, you know, build technology that works for all of these sellers, where they can come and publish their inventory that can be sold in our marketplace and also the price information, right? So these get fed into our system and we built up the listing based on your location. You know, we kind of come up with the, based on the trending in your area, based on what's going on, you know, what are the sub-buying, what price are the sub-buying. So you get to know all of these information and, you know, we'll probably build you an experience that, you know, e-commerce companies really offer. So behind the scenes, it's entirely different from what others do and what we do. So, you know, I just want to make sure that, you know, product listing is actually one aspect of the discovery. You know, listing is number one and then after you list, their discovery takes place in our app, right? So our app is basically the entry point, you know, today we are only app only. We launched in Android Market. We recently launched in iOS a few weeks ago. So we're going to have Android and iOS apps so you can download and install and, you know, play around with it and, you know, your suggestions or, you know, your purchase. We're looking for your purchases from a local community. So, you know, discovery is something that, you know, I think some of the challenges that you're solving there is, is going to be, there's going to be a demo that Vinay is going to be showing a little later. The next product, the problem, that problem area that you're trying to solve, you know, is the warranty and services area. Like Zopper, Azure is a new product that you're launching, all right, that's been launched. You know, we're going to come up with more extensive coverage for all the products that you buy. And, you know, most of the things that we run into in the past is that, you know, when you want to claim warranty, you typically, most of them won't have the receipts in order, you know, want to even know what modeler make that you purchased or value bought it from or what price you bought it from. All of this information is kind of like, kind of in a clutter or you need to sweep them through. And once you get hold of all this information, you need to call the customer support and I know how much of a pain it is to go through that.  So, we're going to be local store as well.  And coming to the technology part, these are the stacks that some of the, you know, stacks that we use to solve some of the problems. And this keeps changing, then the list keeps going actually. I could just put some of them here. Some of them are actually, you know, there are some more that we are working on. I think this pretty much covers most part, I guess. That's it for me and I would like, you know, when I point A and so that's to come over here and, you know, before Wiley is coming and setting up here, probably I can ask a couple of questions and we can, you know, give us some goodies if somebody answers some, yeah. So, I thought of taking questions later on, but I think if you have questions, that's fine. I thought, you know, I could run some quiz program. Okay, it's okay, yeah. That's a great question. I think we, what we, you know, I just want to make sure I set the context. I think we are into consumer electronics durables right now, like not all mom-and-pop stores, but all brick-and-mortar stores who sell these goods. So the onboarding process is entirely, you know, entirely different from what typically does. So they do not come on board themselves, right? I think it's an offline process and there is a lot of hand-holding because we go through, you know, tons of checks and balances before we onboard a seller because we want to make sure that, you know, our service level is met, right? You know, I think we want to guarantee that does opera service level and also the products that they buy is, you know, an under-person trusted product, not like any China make or, you know, any other stuff, kind of stuff, right? So I think there's a lot of background, you know, onboarding process that goes on. Before we launch to a new city, there is a lot of, you know, work that goes on. So we are launched in many cities. So one of the questions I want to ask is, can you guys guess how many cities we will be in by the end of the year? Any rough guesses? I know, I've not mentioned that here. Ten by the end of the year? Not even close. 30? Yeah, you're getting there, 40. Somebody said 40, yeah. So, yeah, that's what we're targeting by the end of the year. Okay, any other questions you want to throw in? All right, and we'll keep that for people who ask questions in the end. Yeah, I'll leave the stage to, when I, Pande, when I even, you want to take this from me here? Hi, everyone, I would like to request everyone, anyone who's using like hotspot here, because it's disrupting everything. And because the PyCon India, this SSID should be working. Okay, and if you are using hotspot, it's gonna ruin everyone here. So I'm sorry, yesterday you didn't get internet. So yeah, today hopefully, if you have to use it, then please USB tether or something else. Okay, yeah, I think it's good now. So, yeah, so thanks, Berthesh, for interaction part. So, yeah, I'm Vinay Pande. I'm talking about data science perspective or the technological challenges that actually, you have to face, okay. So basically, what you think is different or challenging in hyper-local market as compared to online e-commerce orders like Flipkart. Can you, any guesses here? Okay, right, so yeah. So basically, we are hyper-local market. So it's like, we are distributed across cities, right? We have lots of cities to cover. And each city has its own set of problems, right? So when we talk about Flipkart, so Flipkart has its own warehouse. So even if you are ordering something from Delhi and its warehouse is in Bangalore, they can actually provide you using their logistics, right? We are not providing logistics. So the first challenge that we have to face is like demand versus supply. So we have to face, we have to check exactly in which area user is searching what and do we have that thing in our inventory, right? So second thing for this, actually we need a very strong catalog. But the catalog population method that we use is like we collect browsers from different vendors for their catalog. We have our own app for vendors as well where they can provide information about their catalog or they can populate their catalog there so that we can load it into our centralized shopper catalog, okay? But many times it happens that they didn't provide complete information. Sometimes the catalog is wrong. Sometimes they just provide partial information, okay? So this is one of the biggest challenge that we faced in last six months. So how we solved it using Python stack and using machine learning that I will show you a demo. And as someone here mentioned here that we have to provide customized solution for each user because each user is unique for us. His requirement is very unique. And if we are not catering that requirement in timely basis and in a proper way, then there may be a chance then he can just go to online market to buy the product, right? So yes, to solve this, so we use smart techniques here. The first thing that the first case study I'm talking about is automatic catalog population, okay? So what was the objective? So many times it happens that we got brochures from vendors but it didn't have complete information. So let's say if you are talking about, if a product is a mobile phone, if a particular seller is selling a mobile phone, then he just gave us a name of that mobile phone or model numbers. All the other attributes that is there that we have to fill it. So there are two options for this. Either we have to populate these using websites, right? So we have to go to different websites like Flipkart, Snapdeal, check there the attributes and then manually fit it into our own system. Or we can automate the system, means basically we can actually crawl the pages, then we can parse it and we can, after parsing we can process the information and solve the process. But this overall pipeline has a few challenges. First challenge is the data that we crawled is not same. It contains lots of noise actually, right? So the first issue that we have faced is how to extract valid information from noise. And the second problem that we faced here was that basically the HTML structure is continuously changing, okay? So for example, when we crawl a particular webpage one month back, its HTML architecture is different. Its nodes are different containing information. But when we crawl is today, either that node is not present there or there are some different nodes which contains the valid information, right? So we actually use ScrapI to scrap all this information and then we have a team which manually checks the nodes, valid nodes, then they actually try to extract valid nodes from HTML and then using XPAC we use to extract fields. But this is very tedious task. So for example, our iterations used to take 15 days just to crawl one, just to complete one cycle, we need 15 days. So if you want to scale and if you actually want to provide good service, then we have to improve, right? So here we try to solve a problem that can we actually automate this process of extracting information or finding valid information from page, okay? So here we have to solve two problems. First, getting the node which actually contains valid information first and then extracting that valid information in a format so that we can populate our catalog, okay? So for example, just I will give you small information. So let's say this is a page from Flipkart, okay? What we are interested is something like this where we have attributes and we want their values, right? But if you actually crawl that page and start processing, what you get is this. It contains valid information, but lot of noise, right? Lots of noise. So how to solve this, okay? So we do have lots of domain specific knowledge with us. Like we actually had a very comprehensive list of brands, comprehensive list of categories, colors and all, okay? So we decided to use that information in our favor. So we first try to use a standard. So basically we pose this problem as a classification problem first, where we actually try to find out whether this particular node is a valid node or not. We have to just classify it, right? So there are lots of standard algorithms like SVM or linear regression and all, right? So we can use that, right? To get the data, but because of noise and because of outliers, the accuracy was not that good. So after lots of, basically after lots of iterations, we decided to use weak learning algorithms. So basically the fund of weak learning algorithm or ensemble is to learn small and weak classifiers. So basically weak classifier is like they use just one rule to classify a particular node, okay? So we actually learn n number of classifiers. Then we combine them using a weighted average to get a final output, okay? So we use our domain specific knowledge for that as well as the past history, okay? So let me just give you one small demo. So after getting information, we learn lots of small classifiers and then we stored that classifier in terms of either a model like CRF model or SVM model or in terms of regular expressions, okay? So we have lots of small, small weak learners that we learned and we use them to get, so let's say we have a HTML page and we need to classify that HTML page into, so basically we need to extract valid nodes from that, right? So after running this process, each and every node is picked from the HTML page. It is passed to all the classifiers and after getting results from all the classifiers, we simply combined the result to check whether that particular node is valid or not. So for example, in this particular HTML that I showed you a few minutes back, it contains 1,250 nodes in overall, which are either recommended URLs, links, some other information, right? But out of that, only 25 nodes are valid or they contains the information which is important to us, right? So after doing that, we actually get class name, a node ID and its tag. So basically after getting this, we can automate the x path process to scrap the data, okay? And using that x path, whatever we get, we simply use it to push it to our attribute extractor, okay? So attribute extractor basically, it also has lots of classifiers, plus we predominantly use CRF, conditional random fields to actually tag different things. So this was the title, okay? And these are the attributes that we extract from here. So after solving this problem using machine learning, the process that took 15 days, it get reduced to almost 30 hours. So that means we can actually do crawling almost after every three or four days, actually, yeah? So yeah, that is the smart way how we solve problems. The other challenge or the other test case that I want to talk about is like, how can we provide a best deal to user? So before going to this, do you have any questions regarding the first demo? Yeah, so as I said, we used to do this manually, right? So because of our crawling algorithm is very good. So we have lots of pages, thousands of pages per category, sorry, per portal. And we have almost, I think, yeah, almost 250 portals in our system. So that means we have sufficient data, okay? So as I said, we used to manually get nodes first, right, X paths. So from that, actually extracting information and processing that information was very easy. So yes, our first phase was manually, right? But after that, it's everything automated. Yeah, so, okay. So basically, as I said, for example, if we are talking about a particular node, okay, so the first classifier that we learn is like, whether that particular node is contained any keyword like copyright, call us, email us, contact us, right? So it's very simple rule-based classifier, which has some certain set of keywords. So if it has that, that means that node is not valid, right? The other feature that you can use is like whether that particular node contains any specific attribute, right? So if you write a classifier for color-based attributes, so you feed all the color names to it as a valid, sorry, as a positive example, and everything else as a negative example, right? So based on that, you'll get, it is also a weak learner, basically. So based on that, you will get one more weightage, right? So after getting all the results, all you have to do is like get the weighted average. So each classifier has its own set of features here. It's not like a common set of features used throughout the process, yeah? This might sound very primitive, but for collecting the attributes instead of going to the next, I mean, the vendor, going to the source didn't work for you, or was there any limitation in that? Like these are the standard products that we are talking about, not non-standard ones. So why don't we, I mean, what was the difficulty in going to the source or the manufacturer to get these attributes? Yeah, so basically, we have typed with lots of brands. So from that, whatever data we get is really good. But if we are here, the problem that I'm talking about is regarding a particular vendor who is providing us just a browser, right? So many times, browsers doesn't contains all the information, all complete information, okay? So there are attributes which are not present there, but as per users, they are important, right? So to populate that attributes, we are using this. My question is, so the different products have different variants according to different colors, the price may vary. So how do you tackling these kind of problems? So there are different swatches like drop-down swatches, containing the size, color swatch, and all different types. So are you taking care of these or they're just like the first price on the page? So basically, we actually divided our categories into two broader part, one is hard categories, and one is soft categories. So in hard categories per se, they are the categories which has lots of things in common and they don't change that frequently. For example, mobiles, right? Or let's say tablets, right? So if you compare mobiles and tablets, they have lots of attributes common to them, right? They have primary camera, they have RAM, they have memory. So we club categories into a different subgroups and we learn classifiers for that particular subgroups only. So whenever we get a particular title, we first categorize it into a specific category and then we use classifiers for that particular classifier on that title only. So yeah. After getting the list of 25 nodes, how are you able to ignore the DOM structure and getting the exact category or exact price out of it? Because the DOM node may vary randomly on each of the product websites. So you meant to say the information that attributes that way extract? Yes, how do you get one-to-one mapping, saying category is short sleeve with a confirmation? So what is the confidence level related to it or what is the logic behind getting that? Okay. So basically after studying lots of portals, we find out that some portals, some standard portals like Flipkart or Snapdeal, they have their own unique way to write information. Okay, so if you, so for example it's, so if you see Flipkart, it follows this convention for all the products irrespective of its category. Okay. So from this, if you actually learn a pattern that if you get two attributes or two keywords there, there may be a chance that this particular keywords is a attribute and this particular keyword is a value. Right? So here we use pattern learning. Okay. Plus actually we have, we build CRF models where we feed information to it in case of if we have a description like this. Okay. So for example, here if you want to check if this particular thing is hand wash or machine wash, right? So for these type of things we simply build a CRF model where we manually tag the data and learn the CRF model. So whenever it gets something like this, it's simply labeled that particular thing as machine wash or hand wash, right? Using some label. Then based on weightage average of both rule base plus CRF model, we can get the final value. Yeah, so as I said, our system actually tries to learn these patterns or this information in each iteration. So whenever we finish our first iteration, we manually check the data. Okay, after manually checking the data we feed up it into a catalog and that information is one again used to run or relearn or models. So basically if it happens that for a particular portal, the pattern got changed. That simply means all the information coming from that portal is not valid, right? So basically instead of say slews, short slews, there may be a chance that slews short slew here and fabric short slew and fabric information here, right? So in that case, maybe we'll based on this rule base system, we'll get slews equals to fabric, right? Which is wrong? Yes, it can be a possibility, but in that case actually we have to think differently, right? But currently for these sites, these models works and if we get wrong data at that time, I think learning patterns from that or getting information using some other technologies will definitely help here. No, see, we are getting data from Flipkart, yes, but we are not selling it. We are simply utilizing the knowledge contains in that particular web page, right? We are not, see basically we are selling products but from vendors. The information that we are crawling from Flipkart is simply attributes or knowledge about that product, right? And even if Flipkart, yeah, so adding to that, actually we have, we are actually planning to tie up with lots of manufacturers, lots of brands directly, right? In that case, even if Flipkart blocks us, we simply get data from any other sources, right? So this is like automation of the manual effort that we are taking, so that we can get information as much fast as possible, right? That's the aspect here. So how do you manage your inventories like reservation? I mean just, suppose a vendor has five mobile phones in stock and I want to buy three online, three web and suppose my friend also visits this retail store and wants three, so how do you manage that? That question actually I think Siddharth or Bhagatish can answer that question. So yeah, basically we are short on time. Can I just cover my second demo first and then we can? Okay, sure, thank you very much. Yeah, okay, the next case study that we are trying to solve here is like how to provide base deal to user, okay? So objective was to basically recommend, so basically if user is searching something, there may be a chance that he has a vague idea about that particular product in his mind, right? So can we actually recommend a good product or a base product which contains that particular attributes plus some other good feature about that, right? So for example, if you are searching a mobile phone which has let's say 13 megapixel camera and 2GB RAM, right? But 8GB memory, so 8GB storage. So can we actually recommend other product which has all these features plus some good features as well, right? So we try to solve that problem using recommendation systems. So we basically combined attribute-based recommendation system plus collaborative filtering, okay? But as we are hyper-local, we have to think about a very important third feature here and that is location. So there may be a chance that what your user is searching and whichever the product is very much similar to that particular product is not present in that location. So how to solve that thing? Then what to recommend to user, right? So here a recommendation system is not only based on user's criteria, it should be based on location as well, okay? So here we build a model where we try to find out a score for each product in our app. We called it as Zopper score. So basically Zopper score is calculated based on the product features. So if a particular product has all the latest features or all the good features, it has more Zopper score, okay? And whenever a particular user is searching something, so we actually study the user's behavior throughout our app, we try to personalize it and then based on user's location, we try to give base product based on Zopper score to him, okay? So basically if a particular user is searching something, in this case a washing machine, okay? So these are the recommended products for a user in Bangalore as compared to user in Delhi. So basically this particular washing machine is 5.5 kg with same brand, okay? But for that particular price range, that particular user can actually get a six kg washing machine, okay, with the same brand and some good features, okay? So here along with 5.5 kg, we are actually recommending him six kg washing machines as well. And that recommendations is actually getting changed based on his location, okay? So yeah, here to actually achieve that, we have to think about two problems. First is personalization and second is data warehousing. So in personalization, based on user sessions and user's past history, we try to build a user persona where we try to find out what are the categories of products user are searching, what are his base categories and products and how we based on that information and by adding it with information of some other users, how can we collaborate the information and give him base results, okay? So for this, we are currently building our own data warehousing system where we try to collect data from all the sources, process it and analyze it. So yeah, that's the next thing that is in pipeline. So any question regarding this demo? No, it's not, it's basically, so basically we actually find out few features for each category or each product, okay? And we assign weight to each feature. So basically it's a linear regression type of things where for each features, we calculate the weight. We dynamically change the weighting based on the new products in the market. And from that, actually we are calculating the Zopper score. So let's say if there is a latest product in the market, it has higher Zopper score as compared to the old product, but as time pass, its Zopper score keeps on decreasing. Hyper market, no, for calculating Zopper score, actually we didn't use hyper market. For calculating Zopper score, we are simply using product features, okay? The features that we actually find out for a particular category. After getting that, while recommending a product, we are using location. So it's two different problem actually, yeah. Hi, how are you measuring the effectiveness of the scores that you are calculating? Effectiveness, okay. So first thing, as I said, the scores that we have calculated, they are based on the latest technologies or latest features in that particular category, right? So if a particular phone is containing everything latest, so for example, let's say in case of one plus one, it has the lowest price, right? It has all the good features that we can call as flagship killer features, right? So after calculating all these features, we actually assigning it a number, right? And all the Zopper score for all the products in that category are relative to the top most, right? So based on that, we are actually calculate the ranking while showing that particular product to the user. So let's say if you are searching a mobile, so whatever mobile you are getting, they are based on a Zopper score, okay? So then we actually check whether a user actually clicking on first or second link or not, right? So based on user's click log, we get to know that even though we are giving more Zopper score to this particular category, sorry, this particular product, user is not clicking on that, right? So that is a feedback loop. So based on that feedback loop, we basically can solve the problem. So yeah, yeah, sure.


talk bonds in particular how markets have reacted to this and continue to react. Simon Michelle from SIGFIG Securities joins us now. How seriously is this being taken by the bond market Simon? Morning James, well we are starting to see markets react now you know we're in that last couple of weeks and what we saw on Friday was a bit of a sell-off of some of the periphery European sovereign names and and some of that demand going into Germany and also I think into the US as well as we saw yields for those nations pulled back so we are starting to see a little bit of reaction by markets now as they reposition and just start to pull back on the exposure to some of those more risky European nations and we're starting to see that reflected in yields over there. It's a little bit hard to know what's going out because on one day suddenly things are absolutely dandy markets are going high because everything's going to be sorted out no worries and then a couple of days later no oops sorry Gregson's back on the back on the table. Yeah it's been interesting hasn't it I mean the market's been quite complacent really and I think working under a view that you know a solution would be would result out of these negotiations either that or you know we'd see some delay put on that and we'd kick this issue down the road but you know I think we were talking last week that you know so we draw closer that if they don't come to a conclusion I think more importantly the the way to a solution you know isn't very clear at the moment especially with the political situation in Greece so I think markets are very suddenly all of a sudden sort of face that possibility we're seeing a lot more commentary around the impact of Greece leaving the euro so you know I think that's starting to be reflected in flows and pricing. Simon we know that over the weekend those talks failed they are continuing this week they have an important meeting coming up on Thursday so if we continue to see those talks you know caught up in a bit of a stalemate how do you expect markets to continue reacting do you expect this volatility to just increasing? Look I think it's absolutely right and I think certainly you know it's going to undo a little bit of the work that the ECB's been doing with this quantitative easing program it's going to see that reflected in yields you know I think you're going to see investors pull back on some of those periphery countries and pull back on exposure there I think you're going to see it quite quiet as we lead into that as people just sort of stand on the sidelines and wait to see what the outcome of this is going to play out over the next couple of weeks. Is there how realistic do you think the chance of Greece leaving the eurozone actually is my understanding is there's really there's no vehicle for that to happen there's no legislation by which that happens and look the idea of talking about them leaving is one thing but the actual mechanics of them leaving is an entirely different matter. That's exactly right James and you know I think there's a number of mechanisms that they can use but there's certainly no clear view on on how that would happen I mean obviously they would want to minimize volatility and you know manage that very very well but we don't know whether that would be you know on the back of a default with these creditors payments whether there would be some sort of you know a long period of you know transition essentially to try and minimize the impact the other thing is you know where does Greece go once it leaves the ECB and has no access to that support as well down the gurgle exactly that's exactly right so you know there's really no you know it's one thing to talk about the impact of the eurozone with the Greek except but then it's okay where does Greek go where does Greece go if they don't have access to that funding you know it'd be very difficult for them to get funding elsewhere in financial markets so a lot of issues that I think you know a lot of these stakeholders probably haven't really wanted to consider but markets are now starting to to wonder and price in that volatility certainly the saga continuing and expecting that it will continue to have an effect on markets globally this week but of course one of the other big focus points this week will be the Federal Reserve FOMC meeting so how are we seeing markets at the moment positioning themselves and in particular those US treasuries how are we seeing them positioning themselves ahead of that meeting yes interestingly and because we saw quite a big strong demand for US Treasury at the end of last week so that actually pushed the US yields back lower as people took advantage of that increase that we'd have at the beginning of this month so that was very you know very positive you know investors obviously still feel there's value in US yields that means that they don't think rates are going to go up anytime soon it'll all be about forward guidance I think from the from this meeting you know we're certainly not expecting any change in rates but the market will be looking is to get a clear picture of what the Fed's view is where they think this the move by the Fed in the Fed funds rate will be at the moment if you have a look at market expectation they're pricing in a December quarter so it'll be really you know do we start now thinking about 2016 as we've heard the IMF and the World Bank come out and suggest that the Fed might have to do or do we stick to that timing what do you think Janet Yellen and and the Fed think when they start getting a little bit of free advice from the likes of Obligard oh look I think that they would be very happy to hear it but you know what it means is not a great deal because you know they're more importantly looking to you know manage expectation both domestically obviously there are certainly some still some areas of concern in the US economy we've seen those raised by commentators recently as well but I think more importantly it's they just want that to be a manager or calm transition in Fed policy you know even if we do get an increase you know we're not going to get a you know a sudden number of increases on back to back it's going to be a very moderate increase it'll be a psychological move obviously when that first step up is but I think they've managed it very well if you look at markets you know we started to see a little bit of volatility now but we we are pushing that expectation a little bit longer obviously on the back of that slower growth expectation the US so I'm in a big week this week in terms of central bank activity locally we have the RBA releasing those minutes from their June board meeting tomorrow how are we seeing Aussie yields positioning ahead of that it's interesting very quiet obviously we had a bit of a pullback on Aussie yields last week as well after that strength in earlier this month I think it's you're right there's a lot of data we're waiting to get out to get a bit of a forward view from the central banks and with the RBA you know a lot in the media really about the impact of these lower interest rates housing obviously a big issue so it'll be interesting to see whether the RBA sticks on this you know fairly neutral bias at the moment yes you're you know they they do have an ability to move down but the impact of those movements is is lessening as rates fall lower and lower so I think the RBA will be all about sticking on the message that we saw on the back of their last minutes great stuff as always Simon thank you thanks James thanks Leanne


Okay, so welcome to this talk about the conveyor community first of all allow me to introduce myself My name is Ramon Roman Nissan I'm the product manager for the migration toolkit for applications in in red hat and Probably in relationship to this talk the most interesting thing about myself is that I was in red head consulting for five years Leading largest scale migration projects So that's why I guess they chose me for this PM thingy that I've been doing for the past year So without further ado, let's start talking about conveyor and Sorry for that, but I think the first thing we should be doing is getting a little bit of context of why we started this community And this will be a series of figures and statistics and everything So this might be a little bit of a snoozefest for the most technical part of the ocean audience Sorry for that. I'll try to be as quick as possible. So yes, let's get started So, let's get started with the latest CNCF survey 90% of the respondents report using Kubernetes so container wars are completely over nobody remembers other Container orchestration platforms probably aside from the ones that are trying to run away from them On the other hand this Garner latest Garner forecast By 2022 more than 75% of global organizations will be running container Containers in production. So if we get the two of them Then we can conclude that Kubernetes is becoming the default platform for application deployment And it is also the target for most of modernization projects out there. I Won't go through the whole Stuff that we have on the screen just to sum things up. There is a 30 billion business out there by 2026 related to application modernization. So that's that's a huge number out there, especially for vendors and GSIs but there seems to be a problem going back to the Garner forecast there seems to be a problem with the speed and the how this modernization and migration is currently happening and The problem is basically that there are a lot of Methodologies and tools out there But on one hand most of the existing tools create some sort of vendor looking to any cloud provider out there And on the other hand most methodologies about available out there sit within Organizations are and are not generic enough to be broadly transferable across common scenarios So That's exactly what we are trying to solve with the with the Khmer community And I don't know if you're familiar with that So we'll we'll we'll get through the basics and then we will focus on one of the projects that I'm involved in So about the Khmer community This is a completely open community that we have created to help organizations embrace Adopt and leverage Kubernetes and we have a two-pronged approach to these help to these kind of Yeah ease of use of Kubernetes on one hand We have a lot of things related to knowledge sharing. So we are a full-blown community We arrange and schedule meetups on a regular basis we are sharing Articles in different blogs about how to migrate and modernize applications in the context of Kubernetes and For example, even on the red hat side of things We have open source or we are currently working on open sourcing our methodology for application modernization And migration within the conveyor community and repositories the other hand of the two-pronged approach that we have for for these Easing of Kubernetes adoption is a series of tools that are being built Around a series of projects that have been contributed for the moment by IBM and Red Hat But we are really open to have other contributors on board We are really focused on this thing being an open community In which everyone is welcome and the proof of that is that we have submitted the Khmer community as a sandbox project For the CNCF we're currently working on getting this thing onboarded on the CNCF Going back to the tools, of course This is an open community So all the tools are completely open source and can be consumed upstream For those who want some sort or some degree of support We also have or will be shipping downstream distributions of the tools which will be available as Supported operators for free in in OpenShift Next thing I want to share Related to this knowledge sharing that we are doing in the community We just released the state of application modernization report for 2022. We run a survey across 700 organizations and companies out there To understand the latest trends on application modernization and migration. It's pretty interesting It's completely fresh and it has been published in our new and rebumped Conveyor.io website. So I invite you to to just take a look at it and Let's get back to the different Projects that we have within the conveyor community So what we're trying to do with our projects is to Address three of the six hours that of the six hours framework that Amazon popularized back in the day So we try to provide help to achieve three The first three of these hours the things that we understand These hours in our own way. So for example, we can see that we hosting as Moving applications towards Kubernetes without performing any change on the application itself That would be for example moving applications across different Kubernetes clusters And the idea is to retain the images the estate and the deployment manifest and for that We will be using the crane project. There's other possibility for rehosting which would be moving virtual machines from the traditional platforms like rev or VMware towards Kubernetes using cube bird or open ship virtualization in the case of Open shift and for that we will be using the forklift project Next are will be replatforming and we can see the replatforming as a moving applications from other Container orchestration with platforms towards Kubernetes for that we have to move to cube project from from IBM research and Finally, we can see the refactoring as adapting your application the source code of your application to run on Kubernetes coming from more traditional platforms like Application servers or servlet containers to have the application running on Kubernetes and for that We have the the tackle project to measure the whole software delivery performance We also have the Polaris product project that will help you Measure or track the different Dora metrics or DevOps metrics associated with as I said the software delivery performance so Yeah, since I'm there the PM from from migration toolkit for applications It makes sense for me to focus on the tackle project and start talking about application portfolio modernization and migration with the tackle project and usually I always like to start talking about Tackle with our vision statement, which I think is simple but ambitious at the same time I will read it We want tackle to become the ultimate open source toolkit to help organizations safely migrate and modernize their application portfolio to leverage Kubernetes Providing differential value on each stage of the adoption process and I want to stress the word safely Because as you might know for the refactoring a scenario there is no magic in there There is no pixadas. There is no magic button that you press and all the source code just runs on the target platform There is a lot of work involved in there So the approach that we had with tackle is completely different from what crane or forklift do which is fully automated our idea is to provide two differentiated things on one hand provide as much insight as possible for adoption leads for Architects leading this migration and modernization process to have or to make informed decisions So a lot of things I provide by the tool about the application portfolio And on the other hand for the developers for the ones that are actually performing the changes on the source code and adapting it To the target platform. We're trying to provide as much guidance as possible and of course some degree of Automation when possible So as I said to prompt approach to two key pilars insight for the adoption leads guidance and automation for the developers performing the changes the idea behind that approach is fairly fairly easy. We are focusing on Reducing the risk to make the migration process measurable and predictable so with that once we understand the The vision that we have for the tool let's get into an overview of tackle 2.0 that is about to be released We have we tackle one release in July just last year has been around for quite some time Has been proving to be useful on the field We are releasing tackle to the next generation of the tackle tooling which will become the upstream project for the migration toolkit for application the next generation of the tool and It has a lot of exciting things it enhances enhances what we probably Previously had on on tackle one. So let's talk about the different components that we haven't tackle First of all, of course an operator to make things as easy as possible So there is no need to fiddle around with Charts and everything everything gets automatically deployed and managed with an operator that is available for all Kubernetes distributions out there the only requirement is to Install the operator life cycle management manager Sorry an upstream distributions if you're using open shift that comes out of the box and should be available from from day one The usage is fairly easy provides a tackle CRD Everything gets installed and configured for you But you still have some granularity to adjust the installation to the kind of cluster that that the Kubernetes cluster that you have And for the moment we have Capability level two for the operator, but we're looking to enhance the the life cycle and make it even even better and more automated So that's it. Yeah, cool. I can install tackle automatically or out to magically but What can this thing do? first thing probably Key or or the driver for the user experience in tackle would be the application portfolio Inventory sorry, which is used to maintain an application portfolio of an organization So the the whole idea behind the inventory is to alert allow organizations to have a holistic view of their whole application portfolio and once they have this view being able to classify Applications in application types using an extensible tagging model that allows them to classify their applications in as many Dimensions as they might want so the idea is to is for an Organization to be able to classify their applications in application types And with that then being able to come up with suitable migration strategies for each one of these application types Aside from that well, we have expanded the application inventory. So now we have integration with a source code and binaries repositories We we can retrieve source code and binaries from different maven or or git repositories even subversion for the most legacy Organizations out there and of course if we are dealing with with source code repositories We need to deal with credentials as well So we have been implemented a credentials managers management system that allows you to have a decoupled usage of credentials So architects can consume credentials without necessarily knowing the contents of such Credentials so that's that's an enhancement on tackle to sort of that Next thing will be application assessment. So Three pillars on on tackle application portfolio management Assessment and analysis assessment will be next and by assessing we we understand a questionnaire driven assessment for Containerizations with ability So the idea of the tool is that it presents you with a Questioner with different answers and out of this answer the tool is able to Identify risks that might prevent you from running the application on containers as it currently is So it's pretty useful to get an overview of your application or application types and start understanding What would be the risk or the problems that you might have when trying to onboard these applications or migrated these applications towards? Kubernetes next step to get more into into the detail would be application analysis So once you have assessed your application portfolio you are able to get down to the detail of each one application and Run static analysis on your application source code on and binaries and try to detect Anti patterns in your in your source code that might be preventing you for from running your your application in Container so right now the analysis beat is only compatible with Java applications Sorry for that, but we're working on on expanded it This thing has been around for for quite some years the analysis mode and we have done what we have done is integrated into the whole tackle user experience and Of course it supports a numerous migration paths and creates and reach a set of reports we will see some examples now and Yeah, let's see for example issue identification cool things that it detects Where the problems are happening straight into your school source code and points out to the exact line That might be a problem for you to run the application on the target platform. It also provides hints it provides Story points For you to be able to measure the cost of migrating your your your application This is one of the key things about the analysis module. There's also a Technology identification system that allows you to get a deeper understanding of the technology a stack of the analyze Applications that might seem trivial, but when you are a large organization You probably don't have all the details about each one of the of your of the applications that you have in your portfolio So this is very helpful to get meaningful and and then real information about the technologies that are involved in each one of your your applications and There's yet another thing which is for me it's kids the dependencies identification And the coolest thing about this thing is that it is able to buy hash Identify each one of the different dependencies that your application might be using even if you are using a legacy application Let's say you leave in the past century and you're not using maven or gradle or anything And just just you're just shoving in your your jars into the main war or ear file this thing is able to identify these jars and Point you to the maven coordinates into the maven central repository So that's great for the process of mavenization of these legacy applications Which will definitely be a requirement from bring for bringing these applications into into the cloud There are Many migration paths supported by the tool out of the box This thing was developed back in the day for the migrations between application servers But we have expanded the rule sets that that the tool ships with So we support things like Of course cloud native or or cloud readiness, sorry We are opening for other runtimes There is a certain vendor that I cannot reveal just yet that is willing to contribute more rules for other container platforms and and and and cloud platforms as well So we expect to expand these rule sets as as times time moves on But you might be wondering yeah, that's cool but what if I'm using a corporate framework custom framework or This technology hasn't been just tackled just yet. What can I do? Well, this thing comes out of the box with a custom rules development model This thing is fully documented. So it's fairly easy using an XML syntax to create your own rules This is very powerful in a matter of minutes. You can be Identifying anti patterns of lots of types or or kinds within your your source code. So Yeah, it's it's fairly easy to also tackle this kind of no pun intended tackle these Custom use cases that you might be finding on large organizations Cool thing about the tackle project is that this being a huge collaborative effort between Red Hat and IBM At least for the moment But there seems to be other one other vendors and GSIs that want to get involved in the in the tackle project as well We have several initiatives for the moment key contributors are red hat and IBM research For example tackle have the main user experience and the application portfolio has been contributed by red hat Also pathfinder, which is the the project powering the assessment module of tackle also wind up Which is the project behind the analysis module of wind up But there are other upcoming initiatives really exciting stuff being contributed by IBM research So for example, we have the containerization assessment, which is able to identify Which will be the most suitable runtime image for an application based on a natural language description of the of the application So it uses AI and machine learning to try to match your description the description of your application with a suitable Container image which will be very very very very useful when we are dealing with a large portfolio With loose descriptions of the technologies involved which with each one of the applications We also have the automated configuration discovery project, which is able to understand The configuration files of a given runtime and translate it into a canonical model and then output any configuration file on any model available available, so translated into human That will mean that for example if you have a spring boot application and you want to migrate to work Quarkus it will be able to understand a spring boot configuration files and render them into Quarkus configuration files They they want to enhance this thing with AI So it will be able to look for hard-coded value configuration bales into into your source code and extract them into configuration files as well There's also the data intensive validity advisor or diva like we like to call it which is a transaction analyzer basically it detects this Distributed transactions in your source code and it's able to Tell you which are the different participants of these transactions and everything So it basically analyzed the storage layer of your applications that gives you insights on the different actors data stores That might be involved which is especially useful when you're trying to your to split your monolithic application into into microservices and Finally we have test driven modernization which Is one of the most exciting things in there the idea behind that is to create some sort of safety net so basically that the main problem when that you have when you are trying to migrate is to Ensure that the application behaves the same on the target platform. So this thing using automatically generated unit test will be able to create a Functional profile of your application that can bed can then be used when the application has been to migrate it To ensure that the application behaves the same. This is a really cool thing. I'm running out of time couple minutes Okay, so let's talk about the roadmap for tackle. I will just focus on the next release By June we will have tackle 2.0 out there. We expect to have an enhanced version of tackle 2.0 Tackle to tackle 2.1 by q3 having integration with some of these Tackle projects from IBM research that we discussed and also for we've moved to cube and you might be saying yeah That's cool, but I just want to try this thing. So Tackle to beta is out now now. So right now it is Available in the tackle to operator repository. There are instructions in there to to install the the tool and we expect to have it Available in operator have by the end of the day today or maybe tomorrow But if that's not enough, we will be demoing the whole thing by tomorrow on the red hat booth There is a demo theater in there. I will be running a demo of tackle 2.0 Yeah for for quarter past four I don't have it. I don't think we have time for questions that I'll be around I'll be around the red head booth So thanks everyone