About the talk
Dive into the Looker development platform toolbox to learn the fastest ways to make powerful purpose-built data applications that operationalize insights and streamline workflows.
Speakers: Nick Fogler, Mike Xu
Google Cloud Next ’20: OnAir → https://goo.gle/next2020
Subscribe to the GCP Channel → https://goo.gle/GCP
fullname: Mike Xu;
event: Google Cloud Next 2020; re_ty: Publish;
Hi everyone. Welcome to our talk today we're going to be talking about building data applications powered by looker. My name is Mike Schuh. I'm an architect of Google. I help our customers design, architect and Builder applications, using the liquor platform and say, I'm also joined by my friend and Holly Nick. Everyone, I'm Nick fogler. I'm the founder and CEO of Four Mile analytics and where strategic look her partner really specializing in the kind of customer experience is built on top of the looker platform features will be talking about today.
The for agenda, our talk today, we're going to be covering looking at the platform, all the different facets of Lookers platform to build your application. And also we're going to be looking at a case study of building an application. Using one of these facets, which is Epi for a global Fortune, 100 me Taylor. So look at originally was built as a business intelligence and Analytics tool for analysts marketers and project managers, it has this really awesome Blair of Technology called. Look at Mel. The
look modeling language which allows you to express business logic and then your end users can derive insights from data with no code at all. So, they don't need to know Sequel and they don't need to run mapreduce jobs. Those really evolved how to become an extensible platform to power other applications. So you can get the richness of every day. This was connected to look her. That has look at Mel built on top of it. You can also leverage Lucas governance and security model as well as borrow from its front end as well.
So, whatever you can be talking too much about looker. Today is plenty of content out there available. We're going to be primarily focused on Lookers platform. So there's three different facets that. Looker offers be in that in the API. These are ways of getting looker into your application and the extension framework is really to change liquor. So, that way it becomes more the application that you want the embedded looker. This is the way of getting a visual elements within the group such as dashboards Ford, Explorers or save reports a plot that
configurations. We can now to find some user context for in bed. So the user context, really serves two different purposes. First, we get end-to-end tracing of that user as they're using our native application and looker and secondly, we're all so tightly. Coupling, the security between the native applications and looker, we identified, we can either use a single sign-on service available. If we already had that built out where we can just use the native applications metadata and provide some sort of user ID to the looker. This context is also really important to provide to living because
this is what governs, what they can see and look at it in terms of data and also which features in look at they have access to within that in bed. Now, we're Switching gears a little bit. We're going to jump into the front and evacuation. We're finally going to stand sheet are in bed. Once the, in bed is instantiated, we can couple that with the native application through the event bus in this example, where modifying, which buttons are actually driving the dashboard interaction by binding listeners in our native application on top of lockers in bed.
But here's what it looks like. We have our native application outside of this red outline. And within the red out why we have embedded looker, you can see this. If you're familiar with Lucas dashboard this is just a stain blocker dashboard. But if you notice there's no filters like you don't see Lookers native filters. Rationing Building C filters outside within the native application and coupling that to the embedded dashboard through the event bus. You can't imagine how this can rapidly accelerate your development application cuz you're not really building too much pain and
Terror data visualization code. If you want something different though, like it's our dashboards and reports really don't meet your needs. That's really when we start recommending, the API API documentation page. And you can see the large list of different methods. We offer. These actually are the methods that we use internally to build looker itself and we offer them to you to build your application. So you have a hundred percent coverage of what letter can do directly to r. I p. I Is an example of an API application
that Nick has built with his team at 4-mile. So if you're, if you're familiar with looker, right off the bat, this mistake and natives Explorer and looker, but this is actually very different in this second application. We're really building the experience for the user, to be working with different audience, segments and cohorts in mind. So you really just compare cohorts and looking at the results between them instead of building these complex filter groups, If you were building out one of the Coke words using the attributes available within our user data set. And once we've built
out this cohort or multiple colors, we can start doing reporting against them to to search for outliers or maybe positive or negative performances within a specific area that coke or so much more custom-tailored experience designed for marketers, who are focused on cohort, research, Here we have another application that was built on top of our API. This was built for Global Payments, and this is a merchant portal and allows Merchants to see their transactions
over time, so they can see each of their giving customers what they're making transactions on when they made it. What kind of metadata is associate with those transactions. We also have top-level reporting over all of the cash flow throughout the day. Squirrels will be diving boards API, will recover a case study? Lastly, this is the newest Bassett to Lookers platform, which is the extension framework is very different from the, in bed and ATI route, because you really don't have to host anything. You don't have any
experience. With the arguments of liquor, with the users, need contacts of mine to help them discover inside and hopefully increase actionability. We're making liquor feel more like home to them. In this next dashboard, wear over a multiple metrics suffer for this example, this is a shoe, a sportswear company and we're looking at how the weather is impacting. The supply chain in terms of orders and dollar value to the business. Open, you can see how the center for really helps you build these experiences that just having
tables and graphs, don't necessarily help the users and dry inside. You want something really, really customer unique and liquor we encourage using the extension framework. So if you're interested in learning more about, also, how other people are using look as a platform or more about how other people using each of these fascist, there's lots of different resources available. First there's the looker blocks directory. Either just code example, Snippets of a can take and drop that right in your application. We all set to Mindy library's
Community tools, such as lynchers stress, testing tools, and finally, looking male patterns. So if you have a specific type of dataset, we already have, like the best ways of analyzing that they did that and you can just steal it from us. I'm going to turn it over to Nick so that we can look at a case study of actually building an application on top of the liquor platform. Thank you so much Mike. Yeah. So we had Four Mile had the great pleasure of partnering with Mike and his team over at looker recently on a year-long engagement to build a large-scale data
application on top of the locker API for the major Global retailer. And I'm super excited to be here today with you to share a little bit about the underlying business need that we were trying to address the technical approach we took and some of the outcomes. So let's Dive In. Our starting point on this engagement was an internal analytics application that our customer had previously built. Whose goal is really to serve metrics to their retail. Merchants, the merchants are the folks that are the key decisions about what to stock on the shelves, from which vendors to purchase
and how to price each item. So really foundational stuff for any retail business at the scale that this particular customer bars operates pricing decisions. You know involving pennies either way, you can have outcomes implications in the millions of dollars. So all of this decision making the court is very strategic. This application had been in development for about two years. They had to had about a hundred people plus working on it. And generally, the consensus was that there was insufficient level of Engagement people, just really weren't adopting the application
and the return-on-investment just wasn't there. Additionally, I think because of the lack of Speed and Agility they were really focusing on a one-size-fits-all approach to their analytics so it's very top down. The bottom line was that the application just really wasn't keeping Pace with the analytic needs of this organization and without access to timely and relevant Insight Merchants were, just not really using data to drive their decision-making. There are many, if you will was to come in and just highly accelerate the delivery of the right, insights
to the right, people at the right time and ultimately to help Drive the fundamentals of this business through data. Broadly speaking, I think anybody is application, will be composed of a couple of different layers on one hand. You'll have a data back ends, typically consisting of some kind of storage and Aquariums and sitting on top of that. And then you'll have application code which serves to provide a user interface and allow data exploration and data visualizations. We really saw opportunities in both of these layers to drive further acceleration.
On the data back inside. Our customer was using thoughtspot along with the green manual, and time-consuming data engineering workflow. The results product person wanted to publish a new insight. It would take weeks and sometimes months to get that in front of users to even find out if it had any kind of business value. So it aration Cycles were just taking way too long talks about this problem as the the date of bread. Lines problem in which, you know, you stand in a queue for a long time and you wait to get your little nugget of wisdom and then having gotten
a little taste for if you don't have to get back in the back of the queue and wake it all over again. The real Wonder of data analytics in my opinion is that good answers, but get new questions. And if your goal really is to build a data-driven organization and culture, your data stack needs to be responsive to this virtuous cycle of inquiry. What is really built to solve this exact problem? It's kind of its core value proposition and by adding liqueur to the stack now and you questions can be answered without this big long round trip of moving a transforming data. But
rather with just simple changes to Lookers data model by looking at which might prefer to earlier and those changes can be done practically in real-time. And by people with much less technical sophistication applying looker to the stack, a, we brought a huge increase in speed and flexibility on the application. Code side. We replaced a lot of verbose and poorly encapsulated code with an application development tool kit that we built, which gives Engineers the means to deliver new Data, Insights just an order of magnitude more quickly.
And with a lot less complexity, the toolkit offers a high level of usability and a very clear separation of concerns. So if you'll permit looks Diamond, one layer deeper and just take a closer look at the toolkit. It's kind of composed of two levels. There's a data service, back in data service, which is responsible for proxying API request to looker. And then on the front and SDK side, there is some capabilities to build data visualizations in a, more kind of recurring weigh. I will take a look at each
of those to an intern. The architecture of the application is composed of a series of microservices, each really in charge of their own area of concern. So there's one that does authentication, there's another that does log in. And there is also one, of course, the surface is thoughtspot, back stayed up to power. Front end, visualisations, we elected to integrate into this existing architecture by building a parallel looker back data service. This had the huge advantage of not really requiring us to rip and replace any part of the existing architecture.
If we had done so it probably would have brought product development to a standstill and probably would have been met with a lot of resistance. Let's say resistance to change. So instead we just built this parallel service and without a lot of fuss, we just started doing it a better and faster way, and let the results speak for themselves. In a pretty short amount of time, engineering teams for the organically just started. Moving over to using the look of data back service because it just made their jobs easier and love them to do a lot more with a lot less get a really good Advantage about
this, kind of data as a side car service, is that it exists somewhat decoupled from the application context in which it was developed, which music can be reused in a whole variety of different ways. We've essentially built a capability as much as we've built a specific solution and the capability can be used. If example, power other internal applications or even externally facing applications that our customer might want to monetize, Given the constraints of this particular Enterprise environments. Are dataservice wasn't built in the cloud, but it's important to note that
in other circumstances you could use cloud-based API tech services like apogee for example to play the same role in this kind of architecture. Okay. So with that discussion of the date of service, let's pivot a little bit and talk about the development tool kits that we built that handles the front end visualisations, For the funniest EK. We built a series of reusable react components. Each one representing a different data, visualization type, we develop the interface you're looking at here, which exposes you to the different basic components and documentation, allowing
developers and product owners and ux designers to collaborate on. The best way to tell the given data story anyone with access can adjust the viz configuration parameters to get the visit just right prior to committing any code. We didn't connect to these components to the look of data service. We just spoke about and parameterize them, such that we can pass the idea of any pre-built. Looker query object connected to the visit and essentially render the results here in real time. Once everybody's happy with the results, it's just a matter of really of copying a couple of lines
of generated code into the reactor application code base. So by way of supposed to look for data service, we spoke about earlier and this front end SDK, we've been able to live leverage existing capabilities within looker and build a scalable architecture that vastly accelerates time to value for our customers. While. Also decreasing complexity, the net result on this engagement has been a 10x increase in the speed. It takes to publish new insights in the application. And all of that was about a third of the engineering resources required. So now with
relevant and timely insights at their disposal, these retail Merchants are using the application in much higher numbers and with much more regularity than ever before. So from a purely quantitative perspective, I think it's fair to say a cheap mint unlocked but honestly the qualitative outcomes of this engagement to me are even more exciting. But we delivered initially with a series of capabilities offering speed and flexibility for the product team in the engineering team but subsequently we've taken the same capabilities and offered them to end users. Allowing
them really for the first time to self service in sight and as a result the product has moved from this very top-down one-size-fits-all approach to analytics to one that really promote so much greater data democratization, then ultimately better decision-making throughout the business. The net result is an organization much better prepared to steer the course through Challenging economic environments. So that pretty much wraps up what I want to share about this engagement. I do want to encourage you to explore how Lookers platform capabilities can transform your own due to culture and in
turn your business with that. I'm going to go ahead and send it back to Mike. All right, thank you, Nick, for that. Walkthrough of the case study. I really hope this talk gives you guys a good sense of the looker, platforms capabilities, how it works and what it can offer you a, hopefully, here, imagining how it can enable you and your team to build some really cool new date experiences. The building with the right tools can really decrease the complexity and also maintenance cost of our Rich applications in. This house is rapidly build
more and more powerful applications as well. It's important. Really to note that looker is really just a piece of the tool set with, in Google's development environment. In Google's ecosystem, there are lots of other tools designed with developers and their applications in mind together with by using all of these tools correctly. You can really accelerate development and enable your ability to deliver some custom experiences again. Because we're freeing up resources, or Augmentin or resources. This new capacity
allows us to really innovate and make groundbreaking business discoveries foreign users. If you're interested in learning more, you're some links to the looker platform and of course also to Four Mile at. So you can see what Nick and his team are up to and their projects. Was that thanks so much for coming to our talk, everyone. Thank you everybody.
Buy this talk
Buy this video
With ConferenceCast.tv, you get access to our library of the world's best conference talks.