>> Hey friends, you know we develop
sample applications and release
them in open source repositories on
GitHub so that you can learn how to use
Azure services and features from working code.
You're welcome to use this code at your events,
in your blog post,
or even to jumpstart your own professional projects.
David Sanchez is here to give us a tour of
the Tailwind Traders Codebase today on Azure Friday.
[MUSIC]
>> Hey, I'm Scott Hanselman,
and it's Azure Friday and I'm here to talk about Tailwind Traders.
David Sanchez, how are you?
>> Very good and you?
>> I'm feeling pretty good. I love this code base.
You and I have worked together on this
and given demos and presentations.
>> Exactly.
>> Anybody can do that, right?
>> Yeah.
>> We presented build and things,
but they can present it there user group.
>> Exactly. Yeah. They can use it for their event,
blog post videos, or even into training.
>> What's interesting about it,
it's more complicated than most demos.
There's a lot of cool stuff going on.
>> Yes, and we always maintain and keep working on this.
So we add more documentation
to reduce the complexity of these demos.
>> It's not just a website that talks to a database, right?
>> No.
>> It tries to showcase and show you best practices as well.
>> Yes, exactly. We have a different repos as well.
So we will go through each repos, and each app.
>> So how is the structure here?
This is the homepage here in GitHub.
>> Yes. So right now here
I am at github.com/Microsoft/TailwindTraders.
This is the main repo. Here we
cover basically an introduction of Tailwind Traders.
So Tailwind Traders is a fictitious retail company store.
We developed a set of
applications to showcase the different features and
Azure services that you can
use to basically modernized these applications.
>> So you got AKS backend.
Your websites in ASP.NET.
You happen to use React.
The other nice thing about this is that
there's a desktop component as well.
>> Yes, and the desktop is based on.NET Core 3 that is on preview.
>> So you really are keeping it fresh.
I think that we do have a habit that we
see samples out there
that someone makes it and they leave it there.
>> Yeah, exactly.
>> This is always fresh. Always fun new stuff
happening in Tailwind Traders.
>> Yeah, we consistently are updating these repos.
>> It also has mobile applications too.
>> Yes, based on summary forms for,
that is also in preview.
So we are trying to add the latest bits
that we have from
the different engineering teams in order to do these demos.
>> Yeah. So let's give me a tour of
the different repositories and how it works.
>> Absolutely. So first of all,
we have the different repositories.
You said we have the different technologies
that we use in each repo,
and we also have demo scripts.
These demo scripts will help you
to not only deploy the application,
but also understand how to use the application
once that you already to deployed or build it or run it locally.
Yeah. For example, we have here the modernizing.net applications,
and for this one we use
the rewards application that is ASP.NET Framework.
So it is Web Forms Application based on.NET Framework.
What do you need? What is the takeaway of this demo script?
The different steps that you have to
do in order to deploy it and to use it.
As well, we have some author demo scripts.
As I mentioned before, we are also
adding more demo scripts and more documentation.
So as part of the application diagram,
here we have the website.
As you mentioned, it is a react based with.NET Core.
We connect it to the backend devices
that our containers are running on Kubernetes.
So we have as well the, there you go.
We have as well the mobile apps that connect to
the backend that is hosted in the AKS.
We have the rewards application that it is independent.
It is basically connected to a SQL Server Database.
We modernize this application adding Cloud Native Services like,
Logic Apps or Azure Durable Functions.
Not only make these applications based on Cloud Native Services.
We also add intelligence to
that application with cognitive service.
So we are in a AI has part of that.
>> This is a really great diagram.
I think that of all the diagrams that I've seen out there,
this is the most clear because it really tells
you exactly which components are used.
>> Yeah.
>> It tells you which pieces of Azure are used.
>> Exactly.
>> It tells you the language that the thing is used in it.
I like this particular diagram because it really
expresses that most people have a hybrid application.
>> Exactly.
>> They don't have an app that's written in one language.
>> No, that's correct.
>> All right.
>> Yeah. As part of the backend,
we also have Go as part of the languages.
We also have Node.js and obviously.NET Core.
>> So you've also got Cosmos and
SQL Server and Machine Learning and all of that stuff,
and the code for every aspect of this is all
in these repositories and the Tailwind Traders Organization.
>> Yes, exactly. As I mentioned,
something important here is that we use
these fictitious scenarios to
demonstrate how you can use this service.
These are not intended to be
best practices or architecture diagram,
or best of partnering practices.
>> Sure.
>> Yeah. Our main objective
here is how you can use the Azure services in
order to use it in your own applications
or use it as I get the starting projects.
>> I think what you're saying is it's
not perfect production prescription.
>> Yeah.
>> But it's still a pretty good sample.
I mean, I don't want you to put your sample down.
>> No.
>> Because while it may not be exactly how to do it in production,
it'll teach you how to use Machine Learning.
It'll teach you how to use Cosmos.
>> Exactly, yeah. That's the intention.
>> Yeah.
>> Then we have the Coupon app.
That is a desktop application.
We have a Windows Forms application and WPF,
and for these we use.NET Core 3.
As you mentioned, we also use Machine Learning.NET,
ML.NET, and that is part of the backend services that we have.
>> I see.
>> Then we have Son Applications Screens.
So you can take a look at how this application will look.
If you don't have an Azure account,
you can start from these options here.
We also have some blog posts,
videos that reference to these applications.
So for example, in Visual Studio 2019 launch event,
some demos where related without
Tailwind Traders. So you put it here.
We released Tailwind Traders as power of Connect 2018.
So we have here the both keynote that we did there.
If I go to each repo,
for example, I'm going to the website.
>> Okay.
>> We keep the structure of the repos.
It's basically a deploy that is in our template.
So you can deploy different resources that you
need for deploying this application.
We also have some PowerShell scripts or
Bhatia scripts in order to automate the process of the deployment.
Then we have some documentation or
images as part of the read me file.
We also have obviously the source code.
Then we have the screenshot of how the website will look like.
We also keep an Azure pipeline.
So you can go to the project,
and you can take a look how this was built.
>> I really think this is great.
Because you show up and you see it's healthy.
>> Yeah, exactly.
>> It's a nice reminder that this sample will build
because you're running at a continuous integration pipeline.
>> Yeah, exactly. If we break the build,
we also are showing
that transparency of what we break, so it's part of that.
>> As someone myself who used to do a lot of work in
the user groups and I like to support user groups.
This is a great opportunity for you
the viewer to go and take some of this.
You don't have to run the whole thing,
just take the piece you're interested in.
Give a talk on it.
Give a presentation.
Add to it. Build something new.
>> Exactly.
>> Add some new feature,
and then show that to your friends,
your brown bag at work, your group.
It's a learning tool,
and it's a presentation tool,
and it's open source and ready for you to use.
>> Exactly, yeah.
These Azure DevOps projects are open.
So anyone can go here and then take a look.
How we built this application.
How we the release,
and also what is on the backlog as well.
So they can also up in issues on GitHub,
and they will have
the back created in the repos here.
>> The work item shows up in
Azure DevOps from an issue created in GitHub.
>> Yes, exactly.
>> Now, let me ask you this,
do you want Pull requests?
Do you want community members to be involved?
>> Absolutely, yeah. We always request a review the Pull request.
Actually, these builds are configured
to run once that we received a Pull request.
>> Really? So if I get a Pull request,
even though I should talk to you
first before I send the Pull request,
it'll go and run a build on the Pull request to see if it builds.
>> Exactly, yeah. Here we have
the configuration for triggered that built,
once that we get a Pull request.
>> That's cool. Does the DevOps
build everything, even the mobile apps?
>> Yes. We have the Azure pipeline
for every single repo that we have there.
Something else that we keep hearing,
this repo is a live running of the website of the application.
>> Wow.
>> So you can go to tailwindtraders.com.
Here we have the website running in our production environment.
That is the one that I have deployed here in this subscription.
So we'll have the different resource groups related to each demo,
and we also have the backend deployed.
So as you mentioned,
if you want to run the website,
you don't have to compile
the whole solution and deploy the whole solution.
Don't let the source code of the website run it,
and it will connect to our
public endpoints that we have for the backend.
>> That's cool.
>> So I can start at tailwindtraders.com if I want
to or I can go up and checkout GitHub.com.
It's in the Microsoft Organization,
and there's Tailwind Traders.
It's the website and all the different things.
What's the best homepage do you think?
You think Tailwind Traders is the place to start?
>> Yes.
>> Right there. So GitHub/Microsoft/TailwindTraders,
and that'll link you to all of
the other repositories from Kubernetes,
to mobile, to functions.
So many different great features,
and products within Azure that you're using.
>> Yeah, and we also have here their Demo Scripts.
So you can take a look at that.
>> The Demo Scripts are really interesting,
because those are now for the public to use.
But this is the things that when you and
I are doing a demo for a conference,
we're reading those scripts.
How to setup the demo.
How to give a demo that's successful.
So a great way for people to get
involved in speaking, presenting, and teaching.
If you want to use this in your school,
or your bootcamp, I think we would encourage that.
>> Yeah, absolutely. If you want to contribute,
you can always send a Pull request,
and we will register.
>> Fantastic. I'm learning all about Tailwind Traders.
It's an Azure Open Source Demo Project.
I hope that you get involved.
I'm learning all about it today on Azure Friday.
[MUSIC]