TITLE: [MUSIC]
ALI POWELL: Hello, I'm Ali Powell.
I lead the Digital and App Innovation solution area
for the customer success team here at Microsoft.
We're a team of 12,000 tech professionals who
get up every day around the world to do one thing,
to work with developers like you to ensure
whatever you build on the Microsoft Cloud is a success.
You might ask why. It's simple
if you're not successful, we're not successful.
Microsoft has been helping customers deploy
technologies to drive technology change
for nearly 50 years.
We know what it takes to successfully
plan and launch digital transformation,
and we draw on that expertise when
working alongside customer tech teams,
bringing best practices and
the latest tech to co-develop successful solutions.
I'm going to share a couple examples with you.
Each is different, but each came about in similar ways.
First up, professional services giant UI
transitioned a menu Excel in
SQL-based tax application to a fast,
modern, fully automated, web-based solution.
It shows the power of partnership
and combining expertise and capabilities.
In this case, combining
UI's tax expertise with
our digital transformation know-how and the
comprehensive capabilities of
the Microsoft Cloud to co-create
a very clever and unique solution
that delivers impressive results.
TITLE: [MUSIC]
DAVE HELMER: In today's environment,
alliances are critically important,
and our relationship with Microsoft is critical.
We're relying on the Azure stack,
the engineers at Microsoft,
to build our Global Tags platform,
which is a data management platform that's
integrated with state of
the art engines and without Microsoft,
it'd be challenging to build all of these capabilities.
One example is our value added tax app,
which allows us to extract data
from the client's environment payables, receivables,
validate the information, then transform
it into a common data model and then with APIs,
take it to state of the art tax reporting engines
generating tax returns then for clients
to EY specialist reviews
and centers of excellence and having that
common data model leveraging
the wonderful Microsoft technology.
This app is now driving
really high degrees of
automation standardization and with that,
you're seeing higher quality efficiencies and less risk.
WOJCIECH LASKOWSKI: Microsoft offered a very individual approach to us,
and they started with analyzing and understanding of
our processes and all the steps
we need to perform to provision the app.
Yeah, we spent countless of hours together finding
the best solution for automating this,
and that's why they came
to us with this CNAB and the portal,
and we were starting with learning
how to use this tool
because previously it was not known for us,
so we just need to learn how to use it.
Microsoft came to us with a solution to move to
Cloud-native application bundles and
create the bundle of for our application.
They introduced us to the new framework,
CNAB which specifications you can find on GitHub
and come online to porter.sh to deliver for bundles.
The only prerequisites was signing for Docker,
which is used to pack up the bundles.
We are storing our bundles in
Azure Container Registry or GitHub account.
How we can use porter.sh.
To start, we have to prepare our mixins for all APIs.
They do not have their own building blocks
or ceilings available.
For our application we are using Azure mixins,
Ansible mixins to connect to
our internal building blocks system
and or playwright to automate
all manual work in our scenario creating connections and
connectors in power apps
after each creation of a new instance.
Using porter.sh we can store
all our infrastructure definitions as
a code and glue this together with [inaudible] processes.
Now all the components of
previous boxes are stored in one box.
The box will be represented as
a file called porter YAML file.
Once porter YAML file is created,
we can build this solution to generate the bundle to run
the process of creating
the new VAT instance of
the app using [inaudible] command.
When we have our new [inaudible] bundle already
and stored in a GitHub or Azure Container Registry,
we can use it to scale deployment by
creating multiply instances simultaneously.
We can trigger this from anywhere,
even from our local personal computer.
Let me quickly show you in
my Visual Studio Code to
the structure of the porter yaml file.
From the top you have the name of
your bundle version of it and description.
We can use our version of the bundle to make
our upgrade process or uninstall process.
The registry is used to store the bundle.
I'm going to publish this bundle as a package to
my GitHub account as it's a Docker-based solution,
we need to pass the Docker template file to define
all the information about
the operating system we will use.
In a template file we can define
all additional components that our mixins can use later.
Going forward, we have
a mixin sections where we can
determine the mixins we will use and their version.
Below we are starting
the main sections of the porter.yaml file,
which is install, upgrade and uninstall.
In those sections we are starting over
logic about our applications.
On the end of the file we have credentials
and parameters which are used by our bundle.
Once our porter.yaml file is ready,
we can start to build our bundle.
Previously we had 12 different deployments
for Azure Services.
We have a long process of creating
and deploying the power apps environments,
and some of the steps were manual.
Thanks to porter.sh,
we made our new VAT bundle,
which allows us to have a single artifact with
all information required to create a new instance.
Our developers and DevOps engineers no
longer need to do so much
operational knowledge to do their job,
and we can prepare the bundle with
the exact version of our dependencies.
For one instance, it used to take 50 hours and
let's say one and a half day
to provision one client instance.
It required around like two or three people to work on
the same job and
the process was really
complicated and requires a lot of knowledge,
a deep knowledge about all the components and
all the processes which are involved in this,
and right now we are it's reduced up to
three hours per one instance and previously we
were able to do once in a time and right now we are able
to provision multiple clients at the same time.
We can use definitely this knowledge in other projects,
in other various projects across
tax in UI and other organizations.
For me it was like the next level
right of relationship between
the customer and the vendor.
It was like really strong relationship
and when we had the chance to just spend
the hours together with Microsoft engineers
and to chat with them not only on the project things,
but also on some other related things,
and it was really nice.
ALI POWELL: A pretty creative solution.
One with results that extend
beyond modernizing a single app.
Reusability is key to EY.
They wanted a solution they could reuse to
modernize other critical client applications.
The container bundling technology developed
for this solution enabled them to
gain experiences that can now be modernized for
other applications across the business.
But next up, a different
perspective on the concept of code development.
We all know technology can't stand still.
We continually advance what's possible to expand
the potential of technology to
transform business and industry.
That means positioning our talent ahead of the curve to
pull those advancements forward to meet customer needs.
In turn to a question we are frequently asked What if?
TITLE: [MUSIC]
BRENNEN CAGE: Hey bot, what were the sales for Q2?
ECHO BOT: Q2 sales were $2,452,500.
ALEXIS KINZELIN: The challenge that we have seen
and that we hear held from
the customers is how do we
improve the experience within a meeting?
A lot of activities today with
the pandemic was people walking
in a hybrid model in
a remote manner and
so meeting is becoming more and more usual.
People are spending hours and a lot of time in meetings,
and they still need to collaborate and do
things together, achieve things together.
To do that, they need the appropriate tools to do
that and one of the key as that we received and
held was around how do we improve the experience
within the meeting and how do we assist meetings?
BRENNEN CAGE: The customer wanted to be
able to ask a question
and get an answer about their business.
They wanted to be able to say,
"What were the sales today?
Or what were the sales compared
from last month to the month before?"
They want to get that answer and that's
a lot of data that someone might not
know or might not be able to pull up very quickly
and they want to use a bot to be able to do that.
You can have a trigger word that says, "Hey,
bot" or really whatever you want because
it's a custom solution that
we're listening into that speech on the bot and say,
"What were the sales today?"
We can then use that speech to text to go
Query Power BI and get all of
the actual data and then
have the bot talk right back into the meeting.
It has a real time connection between
Teams and the server that it's running on.
It seems like an actual person
was thinking and then responding.
Here on this Microsoft graph com samples,
we have the Echo bot sample.
If you come over into samples,
public samples Echo bot.
Here is the complete application
for the team's voice Echo bot.
There is a complete documentation of how
to get it running from end to
end and then if we go in and take a look,
I want to show a couple different parts of the code
of what's really happening here.
We have this bot media stream class and if I scroll down,
there's one thing that we're
taking a look at in this media session audio socket.
This audio socket is where we'll be
able to listen and also talk back into the meeting.
One thing we're going to do is subscribe to
the changes in when audio is being received.
If we come down to the bottom we can take a look at that
on media audio received
and we have two different options on this echo bot.
One is you,
it will repeat exactly what you say.
You say something, you will hear your yourself.
Or if you want to use cognitive services
such as this language service,
you can have the bot actually respond back with
a bot voice and with
cognitive services you can actually
change the language with this.
You can have it be having spoken in
one language and you can
have it repeated and
that same language or even a
different language if you want to.
If we look at this first part,
it's appending the audio stream,
this buffer, and sending it to the language service,
so the language service can then
stream that speech to
text and then once it gets the text,
it's going to then do a text to speech.
ALEXIS KINZELIN: This solution is built on using two main components.
One thing is the Microsoft Teams,
so you need to have
the ability to use Microsoft Teams for meetings,
but there is no extra cost to use team as a platform.
Everything you can deploy to extend the expense in
Teams will be free of
charge from our Teams licensing perspective.
What you will have to pay for is
the infrastructure to host the bot itself.
We did that on Azure but you could do
that in other places.
Basically, everything that you
have an Azure subscription on
one side and you can develop
your custom code and then plug the solution into
Microsoft Teams to create new scenarios
and so what has been done here is really to
accelerate this complex scenario because
basically a recording bot was
initially designed by partners for compliance recording.
This one is the main intent of this solution and
we made it more easy to
deploy and all the complexity beyond that
was and is now directly part
of the solution that you deploy.
If you think in terms of time to value for
the customer to build such a solution,
there is a lot of benefits to start
from this solution now available on GitHub,
than starting from scratch or from
the previous sample that we had.
BRENNEN CAGE: VMSS is Virtual Machine Scale Sets to be
able to deploy the same workload on there and then be
able to scale that up and
down and this is the first sample
that is deployed onto Virtual Machine Scale Sets,
which a lot more people have a lot more skills and
capabilities using VMs versus
the older version of Cloud services
or even Service Fabric,
so right there, it helps developers because we're
using virtual machines and VMSS for the scalability.
Hey bot how did Q2 sales perform against projected sales?
ECHO BOT: It outperformed projected sales by
$202,500 or nine percent.
BRENNEN CAGE: Hey bot, how does Q2 sales
compare to Q2 from the previous year?
ECHO BOT: It outperformed the previous year's Q2 sales by
$302,500 or 14 percent.
BRENNEN CAGE: Hey bot, thanks.
ECHO BOT: You're welcome. Enjoy build.
TITLE: [MUSIC]
ALI POWELL: Advancing. What's possible is
often done in partnership with
customers who join us in asking what if questions.
In this case, what if I could ask Teams for
sales figures during a meeting instead of having to wait?
Is that possible? What would it take?
What else can I do with it?
You can see how the questions then
lead to the next set of innovations and advancement.
If you're curious about the Teams meeting Echo bot,
I invite you to be a part of
that advancement and check out
the public samples on GitHub and
ask your own what if questions.
The Echo bot and
the ENY tax application are
just two examples of
co-developing solutions with customers.
We have thousands and thousands more.
Tomorrow, thousands of
Microsoft customer success probes
are going to wake up and go to work
with developers around the world to ensure what they're
building on the Microsoft Cloud is a success.
Truly excited that you're one
of those developers that we get to partner with.