1
00:00:00,000 --> 00:00:01,200
In this lesson, we're going

2
00:00:01,200 --> 00:00:02,940
to discuss serverless.

3
00:00:02,940 --> 00:00:05,670
In the ever-evolving landscape of technology,

4
00:00:05,670 --> 00:00:08,760
serverless computing has emerged as a game changer,

5
00:00:08,760 --> 00:00:10,470
revolutionizing the way developers

6
00:00:10,470 --> 00:00:12,600
build and deploy application.

7
00:00:12,600 --> 00:00:14,820
This paradigm shift is transforming

8
00:00:14,820 --> 00:00:17,340
the traditional model of software architecture

9
00:00:17,340 --> 00:00:20,700
making it more efficient, cost-effective, and scalable.

10
00:00:20,700 --> 00:00:22,260
So what is serverless?

11
00:00:22,260 --> 00:00:24,630
Serverless computing, despite its name,

12
00:00:24,630 --> 00:00:26,790
does not mean computing without servers.

13
00:00:26,790 --> 00:00:29,700
Instead, it refers to a model where the responsibility

14
00:00:29,700 --> 00:00:31,770
of managing servers, databases,

15
00:00:31,770 --> 00:00:34,230
and some application logic is shifted

16
00:00:34,230 --> 00:00:35,970
away from the developers.

17
00:00:35,970 --> 00:00:37,620
In a serverless architecture

18
00:00:37,620 --> 00:00:41,190
these tasks are handled by cloud service providers,

19
00:00:41,190 --> 00:00:43,380
allowing developers to focus solely

20
00:00:43,380 --> 00:00:46,620
on the individual functions that make up their application.

21
00:00:46,620 --> 00:00:49,020
The serverless model operates on a function

22
00:00:49,020 --> 00:00:51,510
as a service basis, where developers write

23
00:00:51,510 --> 00:00:54,180
and deploy individual functions that are triggered

24
00:00:54,180 --> 00:00:57,270
by events and run only when needed.

25
00:00:57,270 --> 00:00:58,710
That is a significant departure

26
00:00:58,710 --> 00:01:00,960
from the traditional service-based model

27
00:01:00,960 --> 00:01:03,780
where applications run continuously on a server,

28
00:01:03,780 --> 00:01:05,790
regardless of demand.

29
00:01:05,790 --> 00:01:07,290
One of the most popular examples

30
00:01:07,290 --> 00:01:10,650
of serverless computing is AWS Lambda,

31
00:01:10,650 --> 00:01:13,260
a service offered by Amazon Web Services.

32
00:01:13,260 --> 00:01:15,660
With Lambda, developers can run their code

33
00:01:15,660 --> 00:01:18,090
without provisioning or managing servers.

34
00:01:18,090 --> 00:01:19,890
They simply upload their code

35
00:01:19,890 --> 00:01:22,290
and Lambda that takes care of everything required

36
00:01:22,290 --> 00:01:24,330
to run and scale the execution

37
00:01:24,330 --> 00:01:26,700
to meet the application demand.

38
00:01:26,700 --> 00:01:29,370
Another example is Google Cloud Functions.

39
00:01:29,370 --> 00:01:32,220
Google Cloud Functions is a serverless execution environment

40
00:01:32,220 --> 00:01:35,160
for building and connecting cloud services.

41
00:01:35,160 --> 00:01:38,160
With Cloud Functions, developers write simple,

42
00:01:38,160 --> 00:01:40,680
single-purpose functions that are attached

43
00:01:40,680 --> 00:01:43,080
to events emitted from cloud services.

44
00:01:43,080 --> 00:01:44,520
The function is triggered

45
00:01:44,520 --> 00:01:46,950
when an event being watched is fired.

46
00:01:46,950 --> 00:01:51,060
So what are the benefits of using a serverless architecture?

47
00:01:51,060 --> 00:01:54,270
Serverless computing offers numerous benefits.

48
00:01:54,270 --> 00:01:58,380
The most significant is the reduction in operational costs.

49
00:01:58,380 --> 00:02:01,800
Since you only pay for the computing time that you consume,

50
00:02:01,800 --> 00:02:04,500
there is no charge when your code is not running.

51
00:02:04,500 --> 00:02:08,070
Serverless can result in substantial cost savings.

52
00:02:08,070 --> 00:02:11,160
Serverless can also offer automatic scaling.

53
00:02:11,160 --> 00:02:13,230
The cloud provider runs the code

54
00:02:13,230 --> 00:02:14,940
in response to each trigger,

55
00:02:14,940 --> 00:02:17,760
scaling precisely with the size of the workload.

56
00:02:17,760 --> 00:02:19,080
This means that applications

57
00:02:19,080 --> 00:02:21,060
are always at the right capacity.

58
00:02:21,060 --> 00:02:23,820
Moreover, serverless allows developers to focus

59
00:02:23,820 --> 00:02:26,580
on their core product instead of worrying about managing

60
00:02:26,580 --> 00:02:29,040
and operating servers or run times

61
00:02:29,040 --> 00:02:31,830
either in the cloud or on-premise.

62
00:02:31,830 --> 00:02:34,170
This improved focus can reduce the time

63
00:02:34,170 --> 00:02:36,270
to market for new applications.

64
00:02:36,270 --> 00:02:39,150
However, serverless is not perfect.

65
00:02:39,150 --> 00:02:42,030
It does come with its risk and challenges.

66
00:02:42,030 --> 00:02:43,740
These include vendor lock-in

67
00:02:43,740 --> 00:02:46,350
and the immaturity of best practices.

68
00:02:46,350 --> 00:02:48,840
Vendor lock-in is one of the most significant risks

69
00:02:48,840 --> 00:02:50,400
of serverless computing.

70
00:02:50,400 --> 00:02:52,080
When you use serverless services,

71
00:02:52,080 --> 00:02:54,660
you're often using proprietary interfaces

72
00:02:54,660 --> 00:02:56,610
of a specific cloud provider.

73
00:02:56,610 --> 00:02:59,070
This can make it challenging to switch providers

74
00:02:59,070 --> 00:03:02,340
or use multiple providers, limiting flexibility

75
00:03:02,340 --> 00:03:04,770
and potentially increasing costs.

76
00:03:04,770 --> 00:03:07,470
Also, serverless is a relatively new field,

77
00:03:07,470 --> 00:03:10,620
and as such, best practices are still evolving.

78
00:03:10,620 --> 00:03:13,080
While traditional software development practices

79
00:03:13,080 --> 00:03:14,880
can be applied to serverless,

80
00:03:14,880 --> 00:03:16,320
there are unique considerations

81
00:03:16,320 --> 00:03:18,330
that must be taken into account.

82
00:03:18,330 --> 00:03:20,640
So remember, while serverless computing

83
00:03:20,640 --> 00:03:22,350
offers numerous benefits,

84
00:03:22,350 --> 00:03:24,480
it's not a one-size-fits-all solution.

85
00:03:24,480 --> 00:03:27,000
It is essential to consider the needs

86
00:03:27,000 --> 00:03:30,090
and requirements of your specific application.

87
00:03:30,090 --> 00:03:33,150
While serverless abstracts away many complexities

88
00:03:33,150 --> 00:03:36,600
it also introduces new challenges like vendor lock-in

89
00:03:36,600 --> 00:03:40,120
and the critical dependency on the service provider.

