>> Hello, I'm Donna.
>> I'm Sara.
>> This is Ryan, and today,
he's going to be telling us all about the Common Data Service.
You don't know what that is? You got to tune in. See you soon.
[MUSIC].
>> Hello. Welcome to Less Code More Power. I'm Donna.
>> I'm Sara.
>> Today, we have a very exciting guest,
a proud of in the wild.
>> This literary is such an epic show.
We have got the master of the Common Data Service,
Ryan Jones with us today in the flesh.
So thank you so much for being with us today.
>> Thank you so much for having me.
Those are very kind words.
>> So Ryan, tell us all about you.
What do you do, what's the deal,
how do you make your way to Power Platform anyway?
>> So that's a great question. So I actually come from Azure.
I joined Dynamics and Power Apps,
joined about three years ago.
When I was in Azure, I built
a thing called Azure Resource Manager,
provision like all the stuff in Azure and that's actually
how I got to know Charles, our fearless leaders.
>> Wonderful. Now you work on Common Data Service,
do you want to tell us a little about that?
>> Yeah. So the idea with
the Common Data Service is we want to make it
easy to structure a variety
of business data and business logic to support a bunch of
little apps that work together in a secure and compliant manner.
>> Love it. That's fantastic.
What do you think is interesting about
Common Data Service that people do not know with misconceptions?
>> Well, so a lot of times when people
draw a Common Data Service on the white board,
they draw the database oil can.
>> Oh, yeah.
>> Yeah, we know that one.
>> To quote Family Guy, it grinds my gears because
CDS is so much more than a database, right?
>> So much more.
>> Whether it comes to all our business logic stuff,
whether it comes to the way that we store stuff in SQL,
we store it in Azure Blob,
and when we store in Azure Search,
and we store a little bit in Cosmos DB,
and a little bit in Azure Data Lake.
We do so many more way cool things
beyond just what you can do in a relational datastore.
Plus I really think it's cool how we make it really easy to do.
If you can build a Power App,
you can build a complex multi-tier application
using the Common Data Service,
and so I think that's pretty cool.
>> Yeah. Because you've made the UI so
available to people. It's easy easy.
You're not going in some weird tool that was made
about 40 years ago to go ahead
and actually create entities or tables.
>> Yeah, I joke, it's so easy,
a musician can do it.
>> Which you're a musician?
>> Yeah, I do play a little bit of music.
My undergrad degree is actually in music technology.
>> That's cool.
>> He's a musician by trait and definition,
that kind of music. So what kind of music?
>> Oh, I played a little bit of everything over the years.
>> Wow, okay.
>> That's cool.
>> You're also a race car driver?
>> I want to be.
I've gone to racing school a few times.
>> Wow.
>> That's cool.
>> I haven't wrecked anything yet,
but also my lap times weren't anything.
>> This sounds like a good race car driver,
one who hasn't crashed into anything.
>> Yes.
>> Yes. Well, if you
haven't crashed, you haven't tried hard enough.
>> I don't know if that works.
I wasn't being a dev, I don't know if that works on
race cars as much, but hey.
>> If it's somebody else's car.
>> Then is okay.
>> Exactly.
>> As long as you've got your helmet on.
>> Yes.
>> Exactly.
>> So will you show us some cool CDS stuff?
We hear you had white treats for the audience.
>> Yeah. So one of the cool things that
we've been working on lately is how to make it
easier to work with files and
images within the Common Data Service.
So I'll just go ahead and show you what this looks like.
So I'm going to create an entity for doing home inspections,
and we'll call this, let's see,
we'll call this Channel 9 Inspections,
and I'm going to click "Create".
While it's doing that in the background,
I'm going to start adding fields.
>> That was great, Channel 9 Inspections.
>> Yeah.
>> They can probably use this.
>> So let's see.
This will be home inspections.
So we'll get a picture of the front of the house and a picture
of the back of the house and floor plan.
So I'll call this field front,
I will make it an image,
and then I'm going to go into
my advanced options and I'll say can store full size images,
and also make it the primary image.
Then I'll do this exact same thing but for the back of the house.
So back and I'll select "Image".
>> Cool.
>> Then I will say it can store the full-size image.
So what we've done here is made
a bunch of improvements where number one,
you can store multiple images on a single record or single entity.
The other thing that we've done is made it so that you can store
the full-size image in addition to the little thumbnails.
We do some cool voodoo behind the scenes
so that the little image goes into SQL,
lists are really fast in your galleries and Power Apps,
but then when you drill in, do a record,
you get to work with the full-size image
so you don't get all the little jaggies.
>> That's right. Oh, cool.
It does that without you having to doing extra work?
>> Exactly, because I'm too busy trying to drive race cars.
>> Play the guitar.
>> Exactly.
>> Well, that's amazing. One of my pet hates is low res images.
I know this maybe sounds like a very privileged pet hate,
but in terms of when you're doing a lot of work,
specially design work or even blogs and all that kind of stuff,
low res images can ruin
all the hard work that rests behind the scenes.
>> Yeah. So my entity created here behind the scenes,
and so now what I'm going to do is we'll create an app using that.
So you'll notice I'm not creating
a million different connections
to Azure storage for this thing and SQL for that thing,
I just connect to the Common Data Service,
and so it's going to do all of its magic thing.
>> Look at the Power App magic happen.
>> This is my favorite part where
the machine built an app for you and you did not have to build it.
>> Well, the thing is I'm the world's worst designer.
So this is best looking app I can build.
>> Oh, same. So me, my Power Apps look like this because I'm not
a UI person and I know no idea about UI, how it works.
>> Exactly. We always joke,
UI is the other Ryan.
>> Yes.
>> So let's see. So now what I'm going to
do is I'm just going to go through and say I
want the front and the back and the floor plan.
By default, what we do for performance and reliability reasons,
we use the little thumbnails,
but it's really easy to start going
through and using the full-size image.
So if I wanted to go through and say, "Hey,
you know what, this guy, this front image right here,
I want to go through and make that the full size
image," I'm just going to danger,
unlock, I'm going to go advanced here.
>> Fancy.
>> But then,.Full.
>> That's it. So you don't even need to do anything.
You don't even need to change that in any extensive way,
it's just a case of.Full.
>> Okay, I didn't know this.
>> So I go do the same thing on the back
and then on my edit screen as well, but that's it.
All of a sudden, I'm now working with images, both thumbnails,
full-size images stored in different places, but that's it.
If you were to ask pro-dev,
I play one on TV, to do that,
it took him two weeks to build that exact same thing.
>> If they know what they're doing?
>> Yes, exactly.
>> If they're UI person also.
>> Then we also, we don't just want to have apps and data,
we want you to be able to pick action and automate on it.
So if I go over to my automate experience right here,
you can see where I've created a flow
where when an inspection is created,
it'll go through and retrieve
that full-size image and
then it'll turn around and send an e-mail.
>> I love it.
>> So here's an example.
New inspections for 4312 Dead End Drive
where to touch the full size image.
>> That's actually like some organizational perspective.
It's important to making sure we've got those full res images
because inspections are actually
important when we need the actual high res.
>> Exactly. You need to be able to see that scratch on
the corner versus saying
there is a scratch on the corner or where.
Yeah, absolutely.
>> This is epic.
>> This is really cool. I love that.
>> Thank you.
>> I learned a bunch of new stuff right now.
>> There is one of the things that would be really good for you
to just explain to our audience is a little bit
about how CDS does that in terms
of the fact that CDS is more done,
yeah, you mentioned about the unite of
the oil can and all that stuff,
tell the audience why it is so much better,
what services it provides.
Is there Common Data Service?
>> That's a great question.
So when I think about the Common Data Service,
we always start with this API.
This API, it isn't something that you have to interact with.
If you are a pro-dev, you can,
but that's always central to everything we do.
Everything we do is exposed through our OData APIs,
whether that is describing the shape of
an entity or allowing you to create, read,
update, delete a record for a given entity,
we'll start with that API.
Then beyond that, we then have a security layer,
because we think this is supporting
all these different business applications,
they store customer data,
all this stuff that's really important to be secured.
So we have all the authentication, authorization, auditing stuff.
I don't know, on one hand,
you can say it's boring, not very exciting,
but on the other hand, if you don't have it,
you're really in a rough spot.
So you got to have it.
So from there, we go into
our business logic layer where we understand things like,
"Oh, this is an image,
oh, the maximum size of an image is such and such,
oh, this value should be more than or less than that value."
Then we get into our data tier where you can go through
and describe the shape of your data,
where you can define calculated fields,
roll-up fields, and then we get into storage tier,
which is where we redo all the magic sequel and
Azure Blob and Azure Search and Cosmos DB stuff.
>> So much of what we saw today.
>> Exactly. Then we have
our integration connectivity where
we push it into Azure Service Bus,
Event Hubs, invoke webhooks through Azure functions.
So all of these things
where if you're trying to build that from the ground up,
you'd be doing it for a bajillion years.
>> Oh, easy. Just thinking through
the connectors will take you a very long time.
>> Yes.
>> We've done the thinking and incorporated so anyone can use it.
>> Exactly.
>> I love that.
>> That is so cool.
>> It is, right?
>> Yes.
>> One of the things though I really want to make sure that we
mention is the CDM and how that links a little bit with,
because the thing is there's got to be,
and I know it's very much like an airplane taking off
right now in terms of the Power Platform data flows.
But could you just give people
and tell our audience a little bit about
what that is and why that's
again critical to the Common Data Service.
>> Well, so when we look at data,
we have to understand the shape of
that data because if we don't understand the shape of the data,
we can't easily move that data from one system to another.
So when we look at the Common Data Model, of course,
there's a language, which is
a way that we describe the shape of that data.
But then what we've done is we've used that language to
describe the shape of
commonly used business entities like account,
like contact, so on and so forth.
By doing so, one is we're able to
build an ecosystem around that so
that we aren't all arguing about what
the appropriate shape of an account should be.
>> That's right.
>> Then of course, because it's standardized and
because it's well-documented in a machine-readable format,
we can then facilitate how we move
that data between different systems like CDS,
like Power BI, like Azure Data Lake.
It's really exciting to me because it used to be when
you'd have these complicated integration scenarios,
you'd start by arguing about what the contact is.
>> It starts with the fight. Until the fight
happens, you're not even making progress.
>> Yes. Then it's like, "Oh, well,
now we know what a contact is,
but how are we going to describe it?"
Then you're like, "Okay, well, now we know those two things,
but we still have to make these two systems talk together."
There's all these questions that through the common data model,
you no longer have to answer.
We see that customers are able to be much more
successful with their deployments just because it's ready to go.
Like CDM, there's 100 entities in the Common Data Service out of
the box that are ready to
go following the Common Data Model account,
contact, there are a couple of custom entities here as well.
So you can see here if I sort,
but there's a lot of goodies in here.
Here we'll scroll past custom,
we can tell how we do a little bit of testing there,
but a bunch of standard entities that are there from day zero.
>> Yeah. Let's see that. That's good because a lot of
people have that same need.
>> Yes.
>> We hear from all the time, how do you
collect feedback, how to collect feedback?
Well, let's make a way that everyone can distribute.
>> Exactly. Every organization,
every industry doesn't know that.
>> Everyone has some one.
>> It's funny because I took my industries with the CDM,
this is where you get the industry accelerators,
this is where we got the healthcare accelerator,
the non-profit accelerator, these things,
and if anyone hasn't seen the not-for-profit accelerator,
go ahead and check that out, we'll put in the show notes.
But these are the things that now
I bet you're so excited just
the possibilities are going to come up.
>> Yeah. We see it's
all these people partnering together, working together,
and building these cool things together as a community
further in specific industries or across industries as well.
>> Love it. So before Ryan leaves us,
we're going to ask you for a call to action.
>> Okay.
>> We'd love for you to assign the audience some homework.
>> Okay.
>> What do you want everyone to go and try today?
>> So here's what I'd ask,
go home, spin up your Common Data Service environment,
create an entity using an image,
full-size image with a file
and build a Power App and flow over the top of it.
You'll find it super easy and
opens up a whole bunch of cool new app scenarios
that weren't possible in the past.
>> That's amazing. What a cool call to action.
>> That's a great call to action. Perfect. Thank you
so much for being with us today and thank you to Ryan.
>> Yes, thank you so much.
>> Thanks for having me, it was a lot of fun.
>> Of course. Till next time. Less code.
>> More power.
[MUSIC]