WEBVTT

NOTE
This file was generated by Descript 

00:00:00.050 --> 00:00:04.040
Hey, and welcome back to our
series on EC's methodology.

00:00:05.040 --> 00:00:09.000
Last time we talked about infrastructure
today, we'll cover some of the

00:00:09.000 --> 00:00:13.170
key services we use to build our
products and make them reliable.

00:00:14.170 --> 00:00:17.050
You almost always need a few services.

00:00:18.050 --> 00:00:22.130
One to expose data to your app,
one to handle authentication and

00:00:22.130 --> 00:00:27.380
authorization, another one to handle
long running tasks for example.

00:00:28.380 --> 00:00:31.980
For most apps beyond
simple presentational ones.

00:00:32.010 --> 00:00:35.130
You'll generally need at
least a couple services.

00:00:35.305 --> 00:00:38.445
Sometimes these are things you'll
run yourself and other times they

00:00:38.515 --> 00:00:39.955
are services you will pay for.

00:00:40.955 --> 00:00:45.935
Here's a basic breakdown of the most
common services we'll either build or

00:00:45.935 --> 00:00:48.815
configure and deploy for our projects.

00:00:49.815 --> 00:00:51.765
First up authorization.

00:00:52.765 --> 00:00:56.845
You'll need some sort of service
to handle registration and login.

00:00:57.515 --> 00:01:01.595
We sometimes deploy keycloak, but
more recently we've been exploring

00:01:01.625 --> 00:01:05.915
offerings from a company called
Ory and sometimes we use Auth0.

00:01:06.355 --> 00:01:09.665
In some cases, we also just
use authentication, built

00:01:09.665 --> 00:01:11.255
into a given framework.

00:01:11.528 --> 00:01:12.398
An API

00:01:12.638 --> 00:01:16.358
An API is how your app
interacts with your data.

00:01:17.358 --> 00:01:21.798
We like to use a combination of
a tool called Hasura a framework

00:01:21.798 --> 00:01:27.948
called Nest JS to build GraphQL
APIs on top of a Postgres database.

00:01:28.948 --> 00:01:29.968
Workers.

00:01:30.968 --> 00:01:36.008
You often need services to take care of
long running tasks like running reports.

00:01:36.558 --> 00:01:40.368
These should be separate from
your API so that they don't slow

00:01:40.368 --> 00:01:42.168
down the API when they're running.

00:01:42.678 --> 00:01:44.268
We like to call them workers.

00:01:45.268 --> 00:01:46.228
Clients.

00:01:47.228 --> 00:01:49.838
These ones might be a bit
obvious, but they count.

00:01:50.838 --> 00:01:54.768
These are the user facing applications,
which connect to all of your other

00:01:54.768 --> 00:01:57.558
services, like a web app or a mobile app.

00:01:58.558 --> 00:02:02.508
What are some common services you
use in your system architectures?

00:02:03.008 --> 00:02:05.038
Follow us if you want to
keep up with this series.

00:02:05.138 --> 00:02:06.608
We have a lot more to share with you.

00:02:06.765 --> 00:02:08.535
We're constantly updating this process.

00:02:08.535 --> 00:02:11.805
As we learn from ourselves,
our partners and our community.

00:02:12.431 --> 00:02:15.431
If you think we could work together,
we'd love to partner up with you and

00:02:15.431 --> 00:02:17.261
help you out on your next project.

00:02:17.711 --> 00:02:18.611
See you next time.