1
00:00:00,240 --> 00:00:06,930
In this video, we are going to learn benefits and drawbacks of using a list of functions.

2
00:00:07,950 --> 00:00:09,460
Let me start with the benefits.

3
00:00:09,480 --> 00:00:11,700
We can build and deploy rapidly.

4
00:00:11,790 --> 00:00:18,000
That means we can get start quickly using the workflow studio and create simple drag and drop interfaces

5
00:00:18,000 --> 00:00:19,220
with the functions.

6
00:00:19,230 --> 00:00:24,060
We can express complex business logic with the low code event driven workflows.

7
00:00:24,810 --> 00:00:32,250
And another benefit is write less integration code because it composed eight resources, over 200 services,

8
00:00:32,250 --> 00:00:38,430
including Lambda X, Propagate Dynamo, DB, SAS, Esquire's event page and so on.

9
00:00:39,060 --> 00:00:45,870
Another benefit is we turned and stateful workflows, state functions manage the state checkpoints and

10
00:00:45,870 --> 00:00:53,700
restarts for our make sure that our workflows run in order to, as expected, built in block, retry

11
00:00:53,700 --> 00:00:59,820
block and rollback capabilities, deal with the errors and expectations automatically based on our business

12
00:00:59,820 --> 00:01:00,450
logic.

13
00:01:01,080 --> 00:01:04,890
So another benefit is designed for reliability and scalability.

14
00:01:04,920 --> 00:01:11,880
Step functions offer two workflow types, which are the standard or express that can be used depending

15
00:01:11,880 --> 00:01:13,680
on our specific use case.

16
00:01:13,680 --> 00:01:17,370
Some that workflow are used to manage long running workflows.

17
00:01:17,760 --> 00:01:21,660
Express Workflows support high volume event processing workloads.

18
00:01:22,820 --> 00:01:28,910
So another benefit that we can use during the course decouple application workflow logic from the business

19
00:01:28,910 --> 00:01:31,160
logic that is done under best practice.

20
00:01:31,580 --> 00:01:37,520
So developments we can add workflow logic to applications that should only handle business logic, increase

21
00:01:37,520 --> 00:01:41,390
the complexity of applications, and can easily generate the issues.

22
00:01:41,630 --> 00:01:43,890
Now we can talk about the drawbacks.

23
00:01:43,910 --> 00:01:46,730
The first rollback is complex configuration.

24
00:01:46,730 --> 00:01:47,540
Step functions.

25
00:01:47,540 --> 00:01:51,410
Configuration is done with the Amazon set language.

26
00:01:51,830 --> 00:01:54,920
So Amazon set language is quite complex.

27
00:01:54,920 --> 00:02:01,610
Its syntax is based on JSON and therefore optimized for machine readability instead of readability by

28
00:02:01,610 --> 00:02:02,380
humans.

29
00:02:02,390 --> 00:02:05,020
So learning the language can be challenging.

30
00:02:05,030 --> 00:02:07,610
And the second drawback is over engineering.

31
00:02:07,610 --> 00:02:13,970
By using unnecessary cases, decoupling business logic from task sequencing can make your code harder

32
00:02:13,970 --> 00:02:19,550
to understand, while decoupling services from the orchestration layer can make things more scalable

33
00:02:19,550 --> 00:02:25,430
and easier to operate, the developers working on the systems will need to learn entirely separate services

34
00:02:25,430 --> 00:02:28,070
to be able to work with the advanced functions.

35
00:02:28,070 --> 00:02:32,900
But you should avoid with the old engineering one implementing your business logic.

36
00:02:33,320 --> 00:02:35,660
And another drawback is vendor lock in.

37
00:02:35,780 --> 00:02:37,910
Vendor lock in the Amazon State.

38
00:02:37,910 --> 00:02:41,810
Language is appropriate and can only be used to a yes.

39
00:02:41,810 --> 00:02:47,180
So therefore if you decide to migrate to different cloud provider, you will need to re-implement the

40
00:02:47,180 --> 00:02:48,980
orchestration layer or replace it.

41
00:02:48,980 --> 00:02:50,660
Another vendor's alternative.
