Speedy Microservices: Build and Deploy in 30 min with Copilot & Devprime
0 views
Aug 6, 2025
Unlock the secrets of rapid software development! Join us to learn how Copilot & Devprime revolutionize your Dev Experience. Discover code generation, streamlined development, & microservices deployment efficiency with observability, API, database, and other essential features. Redefine your process in just 30 minutes! 🔗 Conference Website: https://softwarearchitecture.live 📺 CSharp TV - Dev Streaming Destination http://csharp.tv 🌎 C# Corner - Community of Software and Data Developers https://www.c-sharpcorner.com #CSharpTV #CSharpCorner #CSharp #SoftwareArchitectureConf
View Video Transcript
0:03
welcome folks I will try to cover up a
0:06
welcome folks I will try to cover up a
0:06
welcome folks I will try to cover up a very huge product today that help us
0:10
very huge product today that help us
0:10
very huge product today that help us build and literally deploy a production
0:12
build and literally deploy a production
0:12
build and literally deploy a production application in 30 minutes but first
0:16
application in 30 minutes but first
0:16
application in 30 minutes but first let's start start talking about who I am
0:18
let's start start talking about who I am
0:18
let's start start talking about who I am right uh briefly I have 20 years working
0:22
right uh briefly I have 20 years working
0:22
right uh briefly I have 20 years working it Market I'm a consultant Cloud
0:24
it Market I'm a consultant Cloud
0:24
it Market I'm a consultant Cloud Solutions archat I I am a former
0:27
Solutions archat I I am a former
0:27
Solutions archat I I am a former Microsoft student partner and a speaker
0:30
Microsoft student partner and a speaker
0:30
Microsoft student partner and a speaker I love cart cart racing I build my own
0:34
I love cart cart racing I build my own
0:34
I love cart cart racing I build my own RV as you can see here and you will be
0:37
RV as you can see here and you will be
0:37
RV as you can see here and you will be able to keep in touch with me in
0:40
able to keep in touch with me in
0:40
able to keep in touch with me in LinkedIn and Instagram right um wow this
0:45
LinkedIn and Instagram right um wow this
0:45
LinkedIn and Instagram right um wow this is a very quick overview about myself
0:48
is a very quick overview about myself
0:48
is a very quick overview about myself let's go to the right thing right so Dev
0:52
let's go to the right thing right so Dev
0:52
let's go to the right thing right so Dev Prime has a mission right to empower the
0:57
Prime has a mission right to empower the
0:57
Prime has a mission right to empower the developers and accelerate the productive
1:01
developers and accelerate the productive
1:01
developers and accelerate the productive the main objective of this framework
1:05
the main objective of this framework
1:05
the main objective of this framework this tool is to give the developer and
1:08
this tool is to give the developer and
1:08
this tool is to give the developer and the business control of the domain and
1:13
the business control of the domain and
1:13
the business control of the domain and accelerate how we build up software
1:17
accelerate how we build up software
1:17
accelerate how we build up software microservices event driven
1:19
microservices event driven
1:19
microservices event driven applications so let's start talking
1:22
applications so let's start talking
1:22
applications so let's start talking about the challenge that we have in
1:24
about the challenge that we have in
1:24
about the challenge that we have in software development right so everybody
1:27
software development right so everybody
1:27
software development right so everybody knows it's very hard to hire
1:30
knows it's very hard to hire
1:30
knows it's very hard to hire new people to attract talent and even
1:34
new people to attract talent and even
1:34
new people to attract talent and even worse to retent this people inside your
1:36
worse to retent this people inside your
1:37
worse to retent this people inside your company we have a high cost right
1:40
company we have a high cost right
1:40
company we have a high cost right growing application is very complex and
1:43
growing application is very complex and
1:43
growing application is very complex and we deal with technical dab all the
1:47
we deal with technical dab all the
1:47
we deal with technical dab all the time everybody deal with
1:50
time everybody deal with
1:50
time everybody deal with failures applications that don't have
1:53
failures applications that don't have
1:53
failures applications that don't have reduse and high coupling and frequently
1:57
reduse and high coupling and frequently
1:57
reduse and high coupling and frequently we we need to rework in tools and the
2:00
we we need to rework in tools and the
2:00
we we need to rework in tools and the business many many
2:02
business many many
2:02
business many many times I know that people is dealing with
2:05
times I know that people is dealing with
2:05
times I know that people is dealing with difficulty to scale
2:07
difficulty to scale
2:07
difficulty to scale applications and that also brings to the
2:11
applications and that also brings to the
2:11
applications and that also brings to the table the high cost of this operation
2:15
table the high cost of this operation
2:15
table the high cost of this operation because you will have much more cost
2:19
because you will have much more cost
2:19
because you will have much more cost deploying your applications and scale
2:22
deploying your applications and scale
2:22
deploying your applications and scale and Etc so as the CEO of Dev Prime says
2:28
and Etc so as the CEO of Dev Prime says
2:28
and Etc so as the CEO of Dev Prime says delay on innovation is a DB is a digital
2:32
delay on innovation is a DB is a digital
2:32
delay on innovation is a DB is a digital dibit so if you take so long to
2:36
dibit so if you take so long to
2:36
dibit so if you take so long to innovate man you're losing money on the
2:39
innovate man you're losing money on the
2:39
innovate man you're losing money on the table right
2:42
table right
2:42
table right so D Prime brings to
2:46
so D Prime brings to
2:46
so D Prime brings to us a high quality software for backand
2:51
us a high quality software for backand
2:51
us a high quality software for backand for even driven up apis and
2:55
for even driven up apis and
2:55
for even driven up apis and microservices we want to boost the
2:58
microservices we want to boost the
2:58
microservices we want to boost the developer produ
3:00
developer produ
3:00
developer produ productivity I want to enable faster
3:03
productivity I want to enable faster
3:03
productivity I want to enable faster building of cloud native Solutions and I
3:07
building of cloud native Solutions and I
3:07
building of cloud native Solutions and I will show you in a live session called
3:11
will show you in a live session called
3:11
will show you in a live session called how we do this in 30 minutes right but
3:15
how we do this in 30 minutes right but
3:15
how we do this in 30 minutes right but where Dev Prime fits what is Dev Prime
3:20
where Dev Prime fits what is Dev Prime
3:20
where Dev Prime fits what is Dev Prime when we look to the stack of a
3:23
when we look to the stack of a
3:23
when we look to the stack of a development we have front end we have
3:25
development we have front end we have
3:25
development we have front end we have apis mediation layer Gateway layer but
3:29
apis mediation layer Gateway layer but
3:29
apis mediation layer Gateway layer but we have have back end and in most cases
3:33
we have have back end and in most cases
3:33
we have have back end and in most cases backend is where our problems scales is
3:38
backend is where our problems scales is
3:38
backend is where our problems scales is where we deal with most of our problems
3:41
where we deal with most of our problems
3:41
where we deal with most of our problems and here is where the dev Prime fits
3:44
and here is where the dev Prime fits
3:44
and here is where the dev Prime fits right we're talking
3:47
right we're talking
3:47
right we're talking about a platform right uh Dev Prime is a
3:53
about a platform right uh Dev Prime is a
3:53
about a platform right uh Dev Prime is a platform that brings inside a lot of
3:58
platform that brings inside a lot of
3:58
platform that brings inside a lot of features that you don't need to do
4:01
features that you don't need to do
4:01
features that you don't need to do anymore so every day people need to
4:05
anymore so every day people need to
4:05
anymore so every day people need to create a new API they need to create
4:07
create a new API they need to create
4:07
create a new API they need to create logs metrix they need to create uh res
4:13
logs metrix they need to create uh res
4:13
logs metrix they need to create uh res res ability they need to create a
4:15
res ability they need to create a
4:15
res ability they need to create a resilience strategy so you need to
4:18
resilience strategy so you need to
4:18
resilience strategy so you need to recreate the same thing all the time and
4:21
recreate the same thing all the time and
4:21
recreate the same thing all the time and that comes ready inside the dev Prime
4:25
that comes ready inside the dev Prime
4:25
that comes ready inside the dev Prime Dev Prime
4:28
Dev Prime
4:28
Dev Prime platform Dev Prime
4:30
platform Dev Prime
4:30
platform Dev Prime support HTTP grpc graph
4:34
support HTTP grpc graph
4:34
support HTTP grpc graph K logs tracing metric all the
4:37
K logs tracing metric all the
4:37
K logs tracing metric all the observability stack is resolved inside
4:40
observability stack is resolved inside
4:40
observability stack is resolved inside that platform and you will have access
4:43
that platform and you will have access
4:43
that platform and you will have access to the code and control whatever you're
4:46
to the code and control whatever you're
4:46
to the code and control whatever you're doing because our main objective
4:50
doing because our main objective
4:51
doing because our main objective is um
4:54
is um
4:54
is um to
4:56
to
4:56
to apply the design patterns and best
4:59
apply the design patterns and best
4:59
apply the design patterns and best practices
5:01
practices
5:01
practices faster so we bring to the table ready to
5:06
faster so we bring to the table ready to
5:06
faster so we bring to the table ready to be used an even driven architecture with
5:09
be used an even driven architecture with
5:09
be used an even driven architecture with nonblocking
5:10
nonblocking
5:10
nonblocking apis hexagonal architecture I will show
5:13
apis hexagonal architecture I will show
5:14
apis hexagonal architecture I will show you the domain driven design is applied
5:17
you the domain driven design is applied
5:18
you the domain driven design is applied the right
5:19
the right
5:19
the right way uh in the previous presentation I
5:23
way uh in the previous presentation I
5:23
way uh in the previous presentation I heard many times domain
5:25
heard many times domain
5:25
heard many times domain first daav Prime is a domain First Tool
5:30
first daav Prime is a domain First Tool
5:30
first daav Prime is a domain First Tool you need to think on your domain and you
5:32
you need to think on your domain and you
5:33
you need to think on your domain and you will be focused on the domain you don't
5:37
will be focused on the domain you don't
5:37
will be focused on the domain you don't need to take care anymore about
5:39
need to take care anymore about
5:39
need to take care anymore about resilience you don't need to take take
5:41
resilience you don't need to take take
5:41
resilience you don't need to take take care more about logging this is solved
5:44
care more about logging this is solved
5:44
care more about logging this is solved by the
5:46
by the
5:46
by the platform
5:49
platform
5:49
platform right other things that people needs to
5:52
right other things that people needs to
5:52
right other things that people needs to do when we're talking about
5:55
do when we're talking about
5:55
do when we're talking about microservices you need to consider the
5:57
microservices you need to consider the
5:57
microservices you need to consider the retri policies
6:00
retri policies
6:00
retri policies what should I do when I try to call an
6:02
what should I do when I try to call an
6:02
what should I do when I try to call an API and for some reason the API is
6:05
API and for some reason the API is
6:05
API and for some reason the API is offline or what should I do when I try
6:09
offline or what should I do when I try
6:09
offline or what should I do when I try to call uh for
6:11
to call uh for
6:11
to call uh for example uh the rapq and rapq is not
6:16
example uh the rapq and rapq is not
6:16
example uh the rapq and rapq is not working what is the resilience
6:21
working what is the resilience
6:21
working what is the resilience polish these things needs to be
6:23
polish these things needs to be
6:23
polish these things needs to be considered when we're talking about
6:26
considered when we're talking about
6:26
considered when we're talking about microservices when we're talking about
6:28
microservices when we're talking about
6:28
microservices when we're talking about even driven applications even driven
6:32
even driven applications even driven
6:32
even driven applications even driven architecture and this is already solved
6:36
architecture and this is already solved
6:36
architecture and this is already solved by the death Prime
6:38
by the death Prime
6:38
by the death Prime platform um and and also the dev Prime
6:43
platform um and and also the dev Prime
6:43
platform um and and also the dev Prime platform is ready to run on
6:47
platform is ready to run on
6:47
platform is ready to run on container so you will deplo this
6:51
container so you will deplo this
6:51
container so you will deplo this application in any cloud provider in any
6:55
application in any cloud provider in any
6:55
application in any cloud provider in any server is your choice right we are not
6:58
server is your choice right we are not
6:58
server is your choice right we are not attach it
7:00
attach it
7:00
attach it to any platform in fact we we're not
7:02
to any platform in fact we we're not
7:02
to any platform in fact we we're not attached to any cloud
7:07
provider there's a way a Sim
7:11
provider there's a way a Sim
7:11
provider there's a way a Sim seamlessly way to integrate services and
7:14
seamlessly way to integrate services and
7:14
seamlessly way to integrate services and applications so also the T Prime
7:18
applications so also the T Prime
7:18
applications so also the T Prime platform resolves a lot of protocols to
7:21
platform resolves a lot of protocols to
7:21
platform resolves a lot of protocols to us and bring this ready to to be used by
7:25
us and bring this ready to to be used by
7:25
us and bring this ready to to be used by the domain we also can stream data to CF
7:29
the domain we also can stream data to CF
7:29
the domain we also can stream data to CF TQ service Bus and many
7:32
TQ service Bus and many
7:32
TQ service Bus and many others Dev Prime platform connects with
7:35
others Dev Prime platform connects with
7:35
others Dev Prime platform connects with SQL and other databases and as I
7:38
SQL and other databases and as I
7:38
SQL and other databases and as I said we are Cloud native solution so you
7:41
said we are Cloud native solution so you
7:41
said we are Cloud native solution so you will be able to deploy any application
7:44
will be able to deploy any application
7:44
will be able to deploy any application to kubernetes aure AWS gcp and any
7:47
to kubernetes aure AWS gcp and any
7:47
to kubernetes aure AWS gcp and any other and of course we have all the
7:51
other and of course we have all the
7:51
other and of course we have all the security layers with Al zero al2 uh open
7:57
security layers with Al zero al2 uh open
7:57
security layers with Al zero al2 uh open ID and many other protocols so you can
7:59
ID and many other protocols so you can
7:59
ID and many other protocols so you can use to secure your
8:02
use to secure your
8:02
use to secure your applications right and Dev Prime has
8:08
applications right and Dev Prime has
8:08
applications right and Dev Prime has Bor exactly from the pain of scalability
8:13
Bor exactly from the pain of scalability
8:13
Bor exactly from the pain of scalability how do you
8:14
how do you
8:14
how do you scale how do you handle thousands of
8:17
scale how do you handle thousands of
8:17
scale how do you handle thousands of requests per second how do you monitor
8:21
requests per second how do you monitor
8:21
requests per second how do you monitor multiple
8:23
multiple
8:23
multiple microservices how do you track the
8:25
microservices how do you track the
8:25
microservices how do you track the failure among thousands of microservices
8:30
failure among thousands of microservices
8:30
failure among thousands of microservices right so we Design This platform for
8:36
right so we Design This platform for
8:36
right so we Design This platform for scalability but um let's stop talking I
8:40
scalability but um let's stop talking I
8:40
scalability but um let's stop talking I think we should see these things working
8:44
think we should see these things working
8:44
think we should see these things working right so just start anyone can go to
8:48
right so just start anyone can go to
8:48
right so just start anyone can go to your browser and open Dev
8:51
your browser and open Dev
8:51
your browser and open Dev prime. and you will be able to see our
8:54
prime. and you will be able to see our
8:54
prime. and you will be able to see our website there
8:56
website there
8:56
website there and uh how uh this to works and download
9:01
and uh how uh this to works and download
9:01
and uh how uh this to works and download it for free and try it for free but
9:03
it for free and try it for free but
9:03
it for free and try it for free but let's start I already have here the CLI
9:08
let's start I already have here the CLI
9:08
let's start I already have here the CLI installed in my machine right so I can
9:11
installed in my machine right so I can
9:11
installed in my machine right so I can simply start creating here a new
9:15
simply start creating here a new
9:15
simply start creating here a new solution let's start Dev Prime I will
9:19
solution let's start Dev Prime I will
9:19
solution let's start Dev Prime I will create a new solution I will uh call
9:24
create a new solution I will uh call
9:24
create a new solution I will uh call software architecture live I want to
9:26
software architecture live I want to
9:26
software architecture live I want to stream data to R to Mill and I want to
9:30
stream data to R to Mill and I want to
9:30
stream data to R to Mill and I want to state to
9:32
state to
9:36
DB all
9:38
DB all
9:38
DB all right now I have one empty solution
9:43
right now I have one empty solution
9:43
right now I have one empty solution created by Dev Prime on my machine this
9:47
created by Dev Prime on my machine this
9:47
created by Dev Prime on my machine this is a traditional uh hexagonal
9:50
is a traditional uh hexagonal
9:50
is a traditional uh hexagonal architecture unfortunately I don't have
9:53
architecture unfortunately I don't have
9:53
architecture unfortunately I don't have time to explore everything that we have
9:55
time to explore everything that we have
9:56
time to explore everything that we have around here we have Docker files we have
10:00
around here we have Docker files we have
10:00
around here we have Docker files we have scripts pipelines and Etc out of the
10:03
scripts pipelines and Etc out of the
10:03
scripts pipelines and Etc out of the box but we have a structure to create a
10:08
box but we have a structure to create a
10:08
box but we have a structure to create a new
10:09
new
10:09
new application and I will start showing
10:11
application and I will start showing
10:11
application and I will start showing something that is fun uh so for example
10:14
something that is fun uh so for example
10:14
something that is fun uh so for example I want to add an
10:19
aggregate I will call
10:23
customer so now I have one
10:27
customer so now I have one
10:27
customer so now I have one domain aggregates and this is called
10:30
domain aggregates and this is called
10:31
domain aggregates and this is called customer so what our customer
10:34
customer so what our customer
10:34
customer so what our customer have uh
10:37
have uh
10:37
have uh name customer have email little know
10:42
name customer have email little know
10:42
name customer have email little know phone maybe right this is our customer
10:46
phone maybe right this is our customer
10:46
phone maybe right this is our customer see I will reinforce the statement
10:50
see I will reinforce the statement
10:50
see I will reinforce the statement domain first I am caring about only I am
10:56
domain first I am caring about only I am
10:56
domain first I am caring about only I am only caring about the domain right
10:58
only caring about the domain right
10:58
only caring about the domain right anything else
11:00
anything else
11:00
anything else I want to see for now just a domain so
11:03
I want to see for now just a domain so
11:03
I want to see for now just a domain so after creating the domain I will run a
11:06
after creating the domain I will run a
11:06
after creating the domain I will run a new command here hey def Prime start my
11:09
new command here hey def Prime start my
11:09
new command here hey def Prime start my application Enit my
11:12
application Enit my
11:12
application Enit my application so the dev Prime engine is
11:16
application so the dev Prime engine is
11:16
application so the dev Prime engine is testing compiling and building my
11:18
testing compiling and building my
11:18
testing compiling and building my project and they will the two will give
11:21
project and they will the two will give
11:21
project and they will the two will give to us an output say okay uh I want to
11:26
to us an output say okay uh I want to
11:26
to us an output say okay uh I want to create files observe the accelerator the
11:30
create files observe the accelerator the
11:30
create files observe the accelerator the da Prime accelerator created 42 files
11:34
da Prime accelerator created 42 files
11:34
da Prime accelerator created 42 files and modified 10 files to
11:36
and modified 10 files to
11:36
and modified 10 files to us what I have now let's take a look our
11:40
us what I have now let's take a look our
11:40
us what I have now let's take a look our customer now have uh a new Constructor
11:45
customer now have uh a new Constructor
11:45
customer now have uh a new Constructor an empty Constructor one add method One
11:50
an empty Constructor one add method One
11:50
an empty Constructor one add method One update method delete method so the dev
11:53
update method delete method so the dev
11:53
update method delete method so the dev Prime engine created for
11:57
Prime engine created for
11:57
Prime engine created for us all the business logic
12:00
us all the business logic
12:00
us all the business logic inside the
12:02
inside the
12:02
inside the domain the domain is the piece
12:04
domain the domain is the piece
12:04
domain the domain is the piece responsible for connecting all the other
12:07
responsible for connecting all the other
12:07
responsible for connecting all the other layers of the application I have events
12:11
layers of the application I have events
12:11
layers of the application I have events here so create customer customer created
12:14
here so create customer customer created
12:15
here so create customer customer created I have the application now I have an
12:17
I have the application now I have an
12:17
I have the application now I have an application with an event handler here I
12:20
application with an event handler here I
12:20
application with an event handler here I have uh a G by ID event handler because
12:24
have uh a G by ID event handler because
12:24
have uh a G by ID event handler because eventually I need to handle something
12:26
eventually I need to handle something
12:26
eventually I need to handle something like that right and what happen if I
12:29
like that right and what happen if I
12:29
like that right and what happen if I simply click run
12:32
simply click run
12:32
simply click run here again the dev Prime engine is
12:35
here again the dev Prime engine is
12:35
here again the dev Prime engine is calculating everything compiling the
12:37
calculating everything compiling the
12:37
calculating everything compiling the code and in some few seconds I will have
12:41
code and in some few seconds I will have
12:41
code and in some few seconds I will have an application
12:44
running all right see I have logs
12:49
running all right see I have logs
12:49
running all right see I have logs structured logs here right the
12:51
structured logs here right the
12:51
structured logs here right the application started read the
12:54
application started read the
12:54
application started read the configuration from this file I don't
12:56
configuration from this file I don't
12:56
configuration from this file I don't have ID poens for now I'm connected to
12:59
have ID poens for now I'm connected to
12:59
have ID poens for now I'm connected to mongodb right observability security etc
13:03
mongodb right observability security etc
13:03
mongodb right observability security etc etc if I click
13:07
here I can see my micros service
13:11
here I can see my micros service
13:12
here I can see my micros service running let's show up something this is
13:15
running let's show up something this is
13:15
running let's show up something this is my mongodb right this is my application
13:20
my mongodb right this is my application
13:20
my mongodb right this is my application I don't have any database here but I
13:23
I don't have any database here but I
13:23
I don't have any database here but I want to create a new customer let's try
13:25
want to create a new customer let's try
13:25
want to create a new customer let's try out I will create here lookas uh Lucas
13:29
out I will create here lookas uh Lucas
13:29
out I will create here lookas uh Lucas atm.com PR and my phone number is here
13:33
atm.com PR and my phone number is here
13:33
atm.com PR and my phone number is here right let's
13:35
right let's
13:35
right let's execute whoa it has been
13:39
execute whoa it has been
13:39
execute whoa it has been accepted Dev Prime created the database
13:42
accepted Dev Prime created the database
13:42
accepted Dev Prime created the database for me and now I have the object
13:47
for me and now I have the object
13:47
for me and now I have the object there and I don't type
13:49
there and I don't type
13:50
there and I don't type anything I don't care about the database
13:52
anything I don't care about the database
13:52
anything I don't care about the database I don't care about anything else let's
13:55
I don't care about anything else let's
13:55
I don't care about anything else let's go back to our logs let's take a look in
13:57
go back to our logs let's take a look in
13:57
go back to our logs let's take a look in the logs
14:00
the logs
14:00
the logs so the application started right and
14:03
so the application started right and
14:03
so the application started right and here I have received a new post on this
14:08
here I have received a new post on this
14:08
here I have received a new post on this endpoint then it's triggered my service
14:12
endpoint then it's triggered my service
14:12
endpoint then it's triggered my service that triggered my domain and domain said
14:15
that triggered my domain and domain said
14:15
that triggered my domain and domain said hey process the event create
14:17
hey process the event create
14:17
hey process the event create customer this has been handled by an
14:20
customer this has been handled by an
14:20
customer this has been handled by an event handler that goes to the database
14:23
event handler that goes to the database
14:23
event handler that goes to the database creates a database and then trigger
14:27
creates a database and then trigger
14:27
creates a database and then trigger something out send the event out on my
14:32
something out send the event out on my
14:32
something out send the event out on my rap
14:33
rap
14:33
rap ill right so here we have a complete
14:37
ill right so here we have a complete
14:37
ill right so here we have a complete microservices running in 5
14:41
microservices running in 5
14:41
microservices running in 5 minutes of course we have to customize
14:44
minutes of course we have to customize
14:44
minutes of course we have to customize things we can customize things I can go
14:47
things we can customize things I can go
14:47
things we can customize things I can go into the code and change whatever is
14:49
into the code and change whatever is
14:49
into the code and change whatever is needed because the code is here I can do
14:53
needed because the code is here I can do
14:53
needed because the code is here I can do whatever is needed to put my business
14:56
whatever is needed to put my business
14:57
whatever is needed to put my business roles inside my domain right that's the
15:01
roles inside my domain right that's the
15:01
roles inside my domain right that's the main objective of the solution but let's
15:04
main objective of the solution but let's
15:04
main objective of the solution but let's take a look in
15:05
take a look in
15:05
take a look in something uh that is interesting right
15:08
something uh that is interesting right
15:08
something uh that is interesting right so my micros service is running here and
15:12
so my micros service is running here and
15:12
so my micros service is running here and I have I have many containers so let's
15:14
I have I have many containers so let's
15:14
I have I have many containers so let's imagine that my rap mq is out of service
15:17
imagine that my rap mq is out of service
15:17
imagine that my rap mq is out of service for any reason whoa my microserver is
15:21
for any reason whoa my microserver is
15:21
for any reason whoa my microserver is detected that the rapq is out and it's
15:25
detected that the rapq is out and it's
15:25
detected that the rapq is out and it's trying to
15:26
trying to
15:26
trying to reconnect if I go to my API and I try to
15:32
reconnect if I go to my API and I try to
15:32
reconnect if I go to my API and I try to retrieve
15:34
retrieve
15:34
retrieve something it's still working because the
15:38
something it's still working because the
15:38
something it's still working because the database is still there
15:41
database is still there
15:41
database is still there only the streaming adapter is not
15:43
only the streaming adapter is not
15:44
only the streaming adapter is not working as you can see here the systems
15:46
working as you can see here the systems
15:46
working as you can see here the systems is trying to to recover from a failure
15:49
is trying to to recover from a failure
15:49
is trying to to recover from a failure right oh it's not possible so open a
15:53
right oh it's not possible so open a
15:53
right oh it's not possible so open a circuit breaker now we have a circuit
15:55
circuit breaker now we have a circuit
15:55
circuit breaker now we have a circuit breaker
15:56
breaker
15:57
breaker on the triming
16:01
uh adapter right so the application is
16:04
uh adapter right so the application is
16:04
uh adapter right so the application is not trying but everything else is rning
16:06
not trying but everything else is rning
16:06
not trying but everything else is rning I can create a data I can eventually
16:10
I can create a data I can eventually
16:10
I can create a data I can eventually create a new person let's try to create
16:12
create a new person let's try to create
16:13
create a new person let's try to create Simon here right Simon you just received
16:16
Simon here right Simon you just received
16:16
Simon here right Simon you just received a new itail right um all right let's try
16:20
a new itail right um all right let's try
16:20
a new itail right um all right let's try to create a new register here Simon
16:24
to create a new register here Simon
16:24
to create a new register here Simon what's
16:25
what's
16:25
what's happening let's analyze the logs again
16:29
happening let's analyze the logs again
16:29
happening let's analyze the logs again so again we have a post right the
16:33
so again we have a post right the
16:33
so again we have a post right the application is running the domain said
16:35
application is running the domain said
16:35
application is running the domain said okay process the create
16:38
okay process the create
16:38
okay process the create customer uh it has been handled then go
16:42
customer uh it has been handled then go
16:42
customer uh it has been handled then go to the mongodb right process the event
16:45
to the mongodb right process the event
16:45
to the mongodb right process the event customer created and here is the trick
16:50
customer created and here is the trick
16:50
customer created and here is the trick hey I was trying to send out an event to
16:54
hey I was trying to send out an event to
16:54
hey I was trying to send out an event to customer created but it has not been
16:57
customer created but it has not been
16:57
customer created but it has not been delivered
16:59
delivered
16:59
delivered because we have the secret breaker RQ is
17:02
because we have the secret breaker RQ is
17:02
because we have the secret breaker RQ is not operational it's offline so dive
17:05
not operational it's offline so dive
17:05
not operational it's offline so dive Prime handled that message in the
17:08
Prime handled that message in the
17:08
Prime handled that message in the resilience level and if we go into
17:13
resilience level and if we go into
17:13
resilience level and if we go into our
17:14
our
17:14
our database now we have a Dev Prime string
17:17
database now we have a Dev Prime string
17:17
database now we have a Dev Prime string level here that is the
17:21
level here that is the
17:21
level here that is the resilience let's check um what will
17:24
resilience let's check um what will
17:24
resilience let's check um what will happen if I turn on my rap mq back again
17:30
happen if I turn on my rap mq back again
17:30
happen if I turn on my rap mq back again right uh raptim mq is back again is
17:33
right uh raptim mq is back again is
17:33
right uh raptim mq is back again is going on so in after some few seconds
17:37
going on so in after some few seconds
17:37
going on so in after some few seconds the application is trying to recover
17:39
the application is trying to recover
17:39
the application is trying to recover itself and
17:41
itself and
17:41
itself and voila after ret trying now the rapq is
17:46
voila after ret trying now the rapq is
17:46
voila after ret trying now the rapq is back online and now we have out event
17:53
back online and now we have out event
17:53
back online and now we have out event delivered now the message that has been
17:56
delivered now the message that has been
17:56
delivered now the message that has been saved on the resilience level
18:00
saved on the resilience level
18:00
saved on the resilience level has been sent to the raptim topic and I
18:04
has been sent to the raptim topic and I
18:04
has been sent to the raptim topic and I haven't created nothing I just need to
18:08
haven't created nothing I just need to
18:08
haven't created nothing I just need to take care about my domain the central
18:11
take care about my domain the central
18:11
take care about my domain the central part of D Prime is the domain right we
18:15
part of D Prime is the domain right we
18:15
part of D Prime is the domain right we are a domain first domain Centric domain
18:18
are a domain first domain Centric domain
18:18
are a domain first domain Centric domain driven
18:20
driven
18:20
driven design uh but well I showed you the
18:24
design uh but well I showed you the
18:24
design uh but well I showed you the power
18:25
power
18:25
power of the dev Prime platform how it works
18:29
of the dev Prime platform how it works
18:29
of the dev Prime platform how it works and how we can create code manage our
18:33
and how we can create code manage our
18:33
and how we can create code manage our application and Etc it's a very quick
18:36
application and Etc it's a very quick
18:36
application and Etc it's a very quick and high level
18:39
and high level
18:39
and high level um how can I
18:42
um how can I
18:42
um how can I say uh example right but let's take a
18:46
say uh example right but let's take a
18:46
say uh example right but let's take a look how it works when we're talking
18:50
look how it works when we're talking
18:50
look how it works when we're talking about uh the co-pilot right so I have
18:57
about uh the co-pilot right so I have
18:57
about uh the co-pilot right so I have here a a tool right it's still better
19:01
here a a tool right it's still better
19:01
here a a tool right it's still better we're still developing this and I will
19:03
we're still developing this and I will
19:03
we're still developing this and I will create a new project right uh I will
19:07
create a new project right uh I will
19:07
create a new project right uh I will call this software architecture live so
19:10
call this software architecture live so
19:10
call this software architecture live so I will create a new project here and I
19:13
I will create a new project here and I
19:13
I will create a new project here and I will give instructions so behind the
19:16
will give instructions so behind the
19:16
will give instructions so behind the scenes the DF Prime the DPX is used in
19:20
scenes the DF Prime the DPX is used in
19:20
scenes the DF Prime the DPX is used in co-pilot so uh I am I am building a CRM
19:27
co-pilot so uh I am I am building a CRM
19:27
co-pilot so uh I am I am building a CRM too uh and I
19:30
too uh and I
19:30
too uh and I want to track the customer
19:34
want to track the customer
19:34
want to track the customer interation
19:38
uh
19:40
uh
19:40
uh interactions customer have name mail
19:44
interactions customer have name mail
19:44
interactions customer have name mail phone
19:46
phone
19:46
phone address please respond in
19:53
English see uh the DPX
19:59
English see uh the DPX
19:59
English see uh the DPX can also give you your domain in your
20:02
can also give you your domain in your
20:02
can also give you your domain in your native language I don't know if you want
20:05
native language I don't know if you want
20:05
native language I don't know if you want to receive your domain in Portuguese or
20:08
to receive your domain in Portuguese or
20:08
to receive your domain in Portuguese or Indi or I don't know Spanish right you
20:12
Indi or I don't know Spanish right you
20:12
Indi or I don't know Spanish right you can ask to respond in a different
20:14
can ask to respond in a different
20:14
can ask to respond in a different language all right now the DPX is
20:17
language all right now the DPX is
20:17
language all right now the DPX is running behind the scenes calculating
20:19
running behind the scenes calculating
20:19
running behind the scenes calculating whatever is needed and interacting
20:23
whatever is needed and interacting
20:23
whatever is needed and interacting with the co-pilot to generate some
20:26
with the co-pilot to generate some
20:26
with the co-pilot to generate some classes so now we have cust customer
20:29
classes so now we have cust customer
20:29
classes so now we have cust customer interaction address and Etc right I will
20:33
interaction address and Etc right I will
20:33
interaction address and Etc right I will say Okay generate the code for
20:36
say Okay generate the code for
20:36
say Okay generate the code for me
20:38
me
20:38
me okay
20:40
okay
20:40
okay um let's go back to
20:44
um let's go back to
20:44
um let's go back to our
20:50
CLI I will uh create a new
21:01
and I will try now it's ampy
21:04
and I will try now it's ampy
21:04
and I will try now it's ampy right all right dippy DX
21:08
right all right dippy DX
21:08
right all right dippy DX list now I have the list of all
21:13
list now I have the list of all
21:13
list now I have the list of all my applications here and I will
21:20
start I want to use the streaming gra mq
21:25
start I want to use the streaming gra mq
21:25
start I want to use the streaming gra mq and this
21:26
and this
21:26
and this state will be mongod
21:29
state will be mongod
21:29
state will be mongod dby
21:33
right what's
21:36
right what's
21:36
right what's happening the F Prime accelerator is
21:39
happening the F Prime accelerator is
21:39
happening the F Prime accelerator is using the code generated
21:42
using the code generated
21:42
using the code generated by the artificial intelligence for us
21:45
by the artificial intelligence for us
21:45
by the artificial intelligence for us and creating the project from scratch
21:48
and creating the project from scratch
21:48
and creating the project from scratch and giving us everything ready to
21:51
and giving us everything ready to
21:51
and giving us everything ready to run also the
21:54
run also the
21:54
run also the tests so let's take a look
21:59
tests so let's take a look
21:59
tests so let's take a look into this new
22:06
code here we have the adapters the
22:10
code here we have the adapters the
22:10
code here we have the adapters the application we have the core the domain
22:14
application we have the core the domain
22:14
application we have the core the domain everything else but now we have the
22:17
everything else but now we have the
22:17
everything else but now we have the Aggregates here the address is here the
22:21
Aggregates here the address is here the
22:21
Aggregates here the address is here the customer is here already calculated with
22:24
customer is here already calculated with
22:24
customer is here already calculated with all the
22:25
all the
22:25
all the validations with all the tasks we have
22:28
validations with all the tasks we have
22:28
validations with all the tasks we have the
22:29
the
22:29
the interation everything's here and I just
22:32
interation everything's here and I just
22:32
interation everything's here and I just interact
22:34
interact
22:34
interact with the artificial intelligence to
22:36
with the artificial intelligence to
22:36
with the artificial intelligence to build up for
22:38
build up for
22:38
build up for us uh let's run this application just to
22:42
us uh let's run this application just to
22:42
us uh let's run this application just to see what's happening behind the scene
22:45
see what's happening behind the scene
22:45
see what's happening behind the scene and the difference between the previous
22:47
and the difference between the previous
22:47
and the difference between the previous one to this next one
22:59
all right let me refresh my
23:01
all right let me refresh my
23:01
all right let me refresh my screen all right now we have customer
23:04
screen all right now we have customer
23:04
screen all right now we have customer here if we take a look on customer we
23:07
here if we take a look on customer we
23:07
here if we take a look on customer we have other data
23:09
have other data
23:09
have other data here oh sorry I need to clean up my
23:12
here oh sorry I need to clean up my
23:12
here oh sorry I need to clean up my database because it's the same
23:15
database because it's the same
23:15
database because it's the same name just a
23:17
name just a
23:17
name just a second if you look to customer now the
23:20
second if you look to customer now the
23:20
second if you look to customer now the customer have much more information I
23:24
customer have much more information I
23:24
customer have much more information I can create a new customer here again um
23:29
can create a new customer here again um
23:29
can create a new customer here again um I can
23:35
use names and etc etc etc of course I'm
23:41
use names and etc etc etc of course I'm
23:41
use names and etc etc etc of course I'm going super fast here because we don't
23:43
going super fast here because we don't
23:43
going super fast here because we don't have time but we can generate more
23:47
have time but we can generate more
23:47
have time but we can generate more classes more validations and Etc here
23:50
classes more validations and Etc here
23:50
classes more validations and Etc here right um
23:54
right um
23:54
right um so let's try to execute this one
23:58
so let's try to execute this one
23:58
so let's try to execute this one let's go back to my DB all right
24:01
let's go back to my DB all right
24:01
let's go back to my DB all right now I have my customer here now the
24:04
now I have my customer here now the
24:04
now I have my customer here now the customer has interactions address and
24:08
customer has interactions address and
24:08
customer has interactions address and Etc right and again I don't type it
24:12
Etc right and again I don't type it
24:12
Etc right and again I don't type it anything I don't
24:14
anything I don't
24:14
anything I don't use any tool to build up that
24:17
use any tool to build up that
24:17
use any tool to build up that application just the accelerator of the
24:18
application just the accelerator of the
24:19
application just the accelerator of the dev Prime and the co-pilot behind the
24:21
dev Prime and the co-pilot behind the
24:21
dev Prime and the co-pilot behind the scenes right so this tool brings to us
24:27
scenes right so this tool brings to us
24:27
scenes right so this tool brings to us very huge application that publishes and
24:31
very huge application that publishes and
24:31
very huge application that publishes and receive events from qes for example
24:34
receive events from qes for example
24:34
receive events from qes for example right so I'm publishing here an out
24:36
right so I'm publishing here an out
24:36
right so I'm publishing here an out event that has been delivered on rapq I
24:40
event that has been delivered on rapq I
24:40
event that has been delivered on rapq I can also write applications to receive
24:42
can also write applications to receive
24:42
can also write applications to receive those events right let me show you up
24:46
those events right let me show you up
24:46
those events right let me show you up something I will open here because
24:49
something I will open here because
24:49
something I will open here because unfortunately we don't have time to go
24:51
unfortunately we don't have time to go
24:51
unfortunately we don't have time to go deeper on this uh I will open here two
24:55
deeper on this uh I will open here two
24:55
deeper on this uh I will open here two applications okay I will open um an
24:59
applications okay I will open um an
24:59
applications okay I will open um an order
25:02
service and I will open here a payment
25:07
service and I will open here a payment
25:07
service and I will open here a payment service let me call here
25:13
red both applic applications are being
25:16
red both applic applications are being
25:17
red both applic applications are being compiled right now and they are
25:22
compiled right now and they are
25:22
compiled right now and they are connected to each other over
25:25
connected to each other over
25:26
connected to each other over the rapt mq right let me refresh my API
25:31
the rapt mq right let me refresh my API
25:32
the rapt mq right let me refresh my API now I'm talking about an order API okay
25:35
now I'm talking about an order API okay
25:35
now I'm talking about an order API okay so let's put an order here I will try to
25:38
so let's put an order here I will try to
25:38
so let's put an order here I will try to create a new order here for
25:40
create a new order here for
25:40
create a new order here for Lucas with some
25:42
Lucas with some
25:42
Lucas with some customer I will buy don't know
25:47
customer I will buy don't know
25:47
customer I will buy don't know shirt
25:49
shirt
25:49
shirt One Price
25:51
One Price
25:51
One Price 10 no
25:53
10 no
25:53
10 no 10 all right let's create observe here
25:57
10 all right let's create observe here
25:57
10 all right let's create observe here in the background
25:59
in the background
25:59
in the background the order server will receive the intent
26:03
the order server will receive the intent
26:03
the order server will receive the intent of generation an order creating an order
26:05
of generation an order creating an order
26:05
of generation an order creating an order while here in the order side we have the
26:08
while here in the order side we have the
26:08
while here in the order side we have the payment that will be responsible for
26:11
payment that will be responsible for
26:11
payment that will be responsible for receiving the order and processing it
26:14
receiving the order and processing it
26:14
receiving the order and processing it right all right two microservices
26:17
right all right two microservices
26:17
right all right two microservices connected in one hand I have the order
26:20
connected in one hand I have the order
26:20
connected in one hand I have the order created and delivered and in the other
26:24
created and delivered and in the other
26:24
created and delivered and in the other hand I have one payment created so here
26:30
hand I have one payment created so here
26:30
hand I have one payment created so here I we received let's open here the
26:34
I we received let's open here the
26:34
I we received let's open here the streaming see payment streaming
26:37
streaming see payment streaming
26:37
streaming see payment streaming subscribe to order and now we have an
26:41
subscribe to order and now we have an
26:41
subscribe to order and now we have an inbound an in
26:44
inbound an in
26:44
inbound an in event order created that has been
26:47
event order created that has been
26:47
event order created that has been processed by the platform and this both
26:51
processed by the platform and this both
26:51
processed by the platform and this both codes are
26:54
codes are
26:54
codes are similar because they have the same
26:56
similar because they have the same
26:56
similar because they have the same structure they have the same uh pattern
27:00
structure they have the same uh pattern
27:00
structure they have the same uh pattern and following the same hexagonal
27:03
and following the same hexagonal
27:03
and following the same hexagonal architecture and even better if we go
27:09
architecture and even better if we go
27:09
architecture and even better if we go uh if we go to our let me open my other
27:13
uh if we go to our let me open my other
27:13
uh if we go to our let me open my other screen
27:17
sorry
27:19
sorry
27:19
sorry um oh here is to the Zipkin for example
27:23
um oh here is to the Zipkin for example
27:23
um oh here is to the Zipkin for example if we open Zipkin I can see all the
27:27
if we open Zipkin I can see all the
27:27
if we open Zipkin I can see all the interactions from all the
27:29
interactions from all the
27:29
interactions from all the services in one place I can see how they
27:34
services in one place I can see how they
27:34
services in one place I can see how they interacted with each other so for
27:36
interacted with each other so for
27:36
interacted with each other so for example let's take a look on this I have
27:40
example let's take a look on this I have
27:40
example let's take a look on this I have posted an order into the order micros
27:43
posted an order into the order micros
27:43
posted an order into the order micros service that went to the web layer order
27:47
service that went to the web layer order
27:47
service that went to the web layer order service domain Handler etc etc then I
27:51
service domain Handler etc etc then I
27:51
service domain Handler etc etc then I have started processing the same order
27:55
have started processing the same order
27:55
have started processing the same order in a new in a different microservice so
27:58
in a new in a different microservice so
27:58
in a new in a different microservice so we have tracking of each step of that
28:02
we have tracking of each step of that
28:02
we have tracking of each step of that specific request into multiple
28:06
specific request into multiple
28:06
specific request into multiple microservices if we look here on
28:09
microservices if we look here on
28:09
microservices if we look here on sack the same thing we can see every
28:14
sack the same thing we can see every
28:14
sack the same thing we can see every step that has been executed in the
28:17
step that has been executed in the
28:17
step that has been executed in the application and in me many applications
28:20
application and in me many applications
28:21
application and in me many applications payment we can see what happened into
28:23
payment we can see what happened into
28:23
payment we can see what happened into the order layer we can see everything so
28:26
the order layer we can see everything so
28:26
the order layer we can see everything so we have a complete observability
28:29
we have a complete observability
28:29
we have a complete observability solution with d Prime platform and this
28:32
solution with d Prime platform and this
28:32
solution with d Prime platform and this is out of the box and again let's stop
28:36
is out of the box and again let's stop
28:36
is out of the box and again let's stop rtim mq for a second just to see what
28:39
rtim mq for a second just to see what
28:39
rtim mq for a second just to see what will happen here in our observability
28:42
will happen here in our observability
28:42
will happen here in our observability logs right if we start again and I'm
28:47
logs right if we start again and I'm
28:48
logs right if we start again and I'm creating my tail here now I have an
28:51
creating my tail here now I have an
28:51
creating my tail here now I have an aor that is pointed by the tracking
28:56
aor that is pointed by the tracking
28:56
aor that is pointed by the tracking system the observability layer and I can
28:59
system the observability layer and I can
28:59
system the observability layer and I can see exactly what happened in our
29:02
see exactly what happened in our
29:02
see exactly what happened in our application because we have a
29:06
application because we have a
29:06
application because we have a huge observability to behind the scenes
29:10
huge observability to behind the scenes
29:10
huge observability to behind the scenes and we can see exactly the line that the
29:13
and we can see exactly the line that the
29:13
and we can see exactly the line that the problem has started we can see
29:17
problem has started we can see
29:17
problem has started we can see everything at best we can track every
29:21
everything at best we can track every
29:21
everything at best we can track every failure using the same ID right so if we
29:25
failure using the same ID right so if we
29:25
failure using the same ID right so if we look here if we try to search something
29:28
look here if we try to search something
29:28
look here if we try to search something with the ID I can see every single step
29:31
with the ID I can see every single step
29:31
with the ID I can see every single step about that specific object or request or
29:35
about that specific object or request or
29:35
about that specific object or request or intent
29:37
intent
29:37
intent right
29:38
right
29:38
right so unfortunately we don't have much time
29:43
so unfortunately we don't have much time
29:43
so unfortunately we don't have much time to go deeper inside each and every
29:46
to go deeper inside each and every
29:46
to go deeper inside each and every details of uh the dive Prime because
29:49
details of uh the dive Prime because
29:50
details of uh the dive Prime because dive Prime is a very huge
29:53
dive Prime is a very huge
29:53
dive Prime is a very huge stack it's a very huge
29:55
stack it's a very huge
29:55
stack it's a very huge Foundation we have multiple lay years we
29:58
Foundation we have multiple lay years we
29:58
Foundation we have multiple lay years we have uh Business Center development that
30:01
have uh Business Center development that
30:01
have uh Business Center development that needs to be explained in a specific
30:05
needs to be explained in a specific
30:05
needs to be explained in a specific session uh that frme is a domain driven
30:08
session uh that frme is a domain driven
30:08
session uh that frme is a domain driven design
30:09
design
30:09
design solution in in the minimal sense right
30:13
solution in in the minimal sense right
30:13
solution in in the minimal sense right because everything that we care is about
30:17
because everything that we care is about
30:17
because everything that we care is about the business we want to give the uh to
30:21
the business we want to give the uh to
30:21
the business we want to give the uh to empower the developer in a way that he
30:24
empower the developer in a way that he
30:24
empower the developer in a way that he can focus his effort in the domain
30:27
can focus his effort in the domain
30:27
can focus his effort in the domain driven and not taking care about
30:30
driven and not taking care about
30:30
driven and not taking care about technical stuff and doing uh ret Tri
30:33
technical stuff and doing uh ret Tri
30:33
technical stuff and doing uh ret Tri policies and Etc right that's is already
30:36
policies and Etc right that's is already
30:36
policies and Etc right that's is already soed by the platform
30:39
soed by the platform
30:39
soed by the platform [Music]