1 00:00:00,090 --> 00:00:01,470 ‫Hi, and welcome to this lecture 2 00:00:01,470 --> 00:00:04,380 ‫on Amazon EFS - Elastic File System. 3 00:00:04,380 --> 00:00:08,970 ‫So EFS is a managed NFS, which is a network file system. 4 00:00:08,970 --> 00:00:10,770 ‫And because it's a network file system 5 00:00:10,770 --> 00:00:14,010 ‫it can be mounted on many C two instances 6 00:00:14,010 --> 00:00:16,500 ‫and these EC2 instances can also be 7 00:00:16,500 --> 00:00:19,080 ‫in different availability zones. 8 00:00:19,080 --> 00:00:20,970 ‫That's the whole power of EFS. 9 00:00:20,970 --> 00:00:22,170 ‫So it's highly available, 10 00:00:22,170 --> 00:00:24,300 ‫it's very scalable, it's expensive. 11 00:00:24,300 --> 00:00:25,830 ‫It's about three times the cost 12 00:00:25,830 --> 00:00:29,160 ‫of a gp2 EBS volume and you pay per use. 13 00:00:29,160 --> 00:00:31,620 ‫So you don't have to provision capacity in advance. 14 00:00:31,620 --> 00:00:32,640 ‫Let me explain. 15 00:00:32,640 --> 00:00:34,440 ‫So you have your EFS file system 16 00:00:34,440 --> 00:00:36,600 ‫and you surround it with a security group. 17 00:00:36,600 --> 00:00:39,750 ‫And then you can have EC2 instances, many of them 18 00:00:39,750 --> 00:00:42,170 ‫in the us-east-1a availability zone, for example, 19 00:00:42,170 --> 00:00:47,170 ‫or EC2 instances, in the us-east-1b availability zone, 20 00:00:47,400 --> 00:00:49,920 ‫or us-east-1c availability zones 21 00:00:49,920 --> 00:00:51,840 ‫for your EC2 instances. 22 00:00:51,840 --> 00:00:54,120 ‫And they can all connect at the same time 23 00:00:54,120 --> 00:00:58,440 ‫to the same network file system through EFS. 24 00:00:58,440 --> 00:01:01,620 ‫So the use cases of EFS are content management, 25 00:01:01,620 --> 00:01:04,560 ‫web serving, data sharing, WordPress. 26 00:01:04,560 --> 00:01:07,830 ‫It uses in internally the NFS protocol. 27 00:01:07,830 --> 00:01:11,070 ‫And to control access to your EFS, you need to set 28 00:01:11,070 --> 00:01:13,110 ‫up a security group. 29 00:01:13,110 --> 00:01:15,670 ‫Now, EFS, it's very important to note that 30 00:01:16,748 --> 00:01:20,580 ‫it's only compatible with Linux based AMI and not Windows. 31 00:01:20,580 --> 00:01:23,160 ‫You can enable encryption at rest in your EFS drive 32 00:01:23,160 --> 00:01:27,240 ‫using KMS, and it's a standard file system on Linux. 33 00:01:27,240 --> 00:01:32,100 ‫So uses the POSIX system, and it has a standard file API. 34 00:01:32,100 --> 00:01:34,860 ‫And the cool thing about EFS is that you don't need to 35 00:01:34,860 --> 00:01:36,930 ‫plan the capacity in advance. 36 00:01:36,930 --> 00:01:39,270 ‫The file system will scale automatically 37 00:01:39,270 --> 00:01:42,150 ‫and it's pay-per-use for each gigabyte of data 38 00:01:42,150 --> 00:01:44,190 ‫you use in EFS. 39 00:01:44,190 --> 00:01:47,370 ‫Then we have different performance and storage classes. 40 00:01:47,370 --> 00:01:50,520 ‫So the first the scale about EFS, you get thousands of 41 00:01:50,520 --> 00:01:53,430 ‫concurrent NFS clients and 10 gigabytes plus 42 00:01:53,430 --> 00:01:55,380 ‫of throughputs, and you can grow 43 00:01:55,380 --> 00:01:58,440 ‫to a Petabytes-scale network-file system automatically 44 00:01:58,440 --> 00:02:00,090 ‫which is really nice. 45 00:02:00,090 --> 00:02:02,430 ‫You can also set the Performance Mode at the 46 00:02:02,430 --> 00:02:05,130 ‫EFS Network file system creation time, 47 00:02:05,130 --> 00:02:06,240 ‫and you have several options. 48 00:02:06,240 --> 00:02:09,390 ‫The first one is General Purpose, which is a default. 49 00:02:09,390 --> 00:02:11,940 ‫It's used for latency-sensitive use cases 50 00:02:11,940 --> 00:02:14,760 ‫such as a web server, a cms, et cetera. 51 00:02:14,760 --> 00:02:17,758 ‫But if you wanted to maximize throughput, you have Max I/O 52 00:02:17,758 --> 00:02:21,120 ‫which is a high latency kind of network file system, 53 00:02:21,120 --> 00:02:24,180 ‫but higher throughput and it's highly parallel. 54 00:02:24,180 --> 00:02:26,560 ‫So it's great if you have big data applications 55 00:02:27,841 --> 00:02:29,070 ‫or media processing needs. 56 00:02:29,070 --> 00:02:31,320 ‫Now, Throughput Mode, you have different options. 57 00:02:31,320 --> 00:02:33,651 ‫The first one is Bursting. 58 00:02:33,651 --> 00:02:36,420 ‫So you have one terabyte means that it's 15 megabytes 59 00:02:36,420 --> 00:02:40,140 ‫per second plus burst up to 100 megabytes per second. 60 00:02:40,140 --> 00:02:42,030 ‫So that's the kind of bursting you get. 61 00:02:42,030 --> 00:02:43,440 ‫You don't have to remember the numbers, 62 00:02:43,440 --> 00:02:44,970 ‫but just to give you an idea. 63 00:02:44,970 --> 00:02:46,620 ‫Provisioned is when you want to 64 00:02:46,620 --> 00:02:49,410 ‫set your throughput regardless of your storage size. 65 00:02:49,410 --> 00:02:52,710 ‫So the previous one was growing in throughputs 66 00:02:52,710 --> 00:02:55,260 ‫as we have more storage, but with provisions you 67 00:02:55,260 --> 00:02:57,150 ‫can have one gigabyte per second 68 00:02:57,150 --> 00:02:58,620 ‫for one terabyte of storage, 69 00:02:58,620 --> 00:03:03,030 ‫that is fine because you have de-correlated your throughput 70 00:03:03,030 --> 00:03:04,380 ‫from your storage. 71 00:03:04,380 --> 00:03:06,690 ‫And finally, to make things a little bit simpler 72 00:03:06,690 --> 00:03:09,540 ‫you have Elastic to automatically scale the throughputs 73 00:03:09,540 --> 00:03:12,120 ‫up and down based on your workload. 74 00:03:12,120 --> 00:03:14,790 ‫So for example, you can get up to three gigabytes 75 00:03:14,790 --> 00:03:17,160 ‫per second for reads and one gigabytes 76 00:03:17,160 --> 00:03:20,400 ‫per second for writes based on your workload. 77 00:03:20,400 --> 00:03:22,500 ‫And this is going to be a great fit when 78 00:03:22,500 --> 00:03:24,573 ‫you have unpredictable workloads. 79 00:03:25,830 --> 00:03:28,680 ‫Now for storage classes, again multiple options. 80 00:03:28,680 --> 00:03:30,750 ‫So you can set up Storage Tiers, 81 00:03:30,750 --> 00:03:32,610 ‫and it's a feature to move files 82 00:03:32,610 --> 00:03:35,580 ‫to a different tier after a few days. 83 00:03:35,580 --> 00:03:37,860 ‫So for example, the standard tier is 84 00:03:37,860 --> 00:03:40,050 ‫for frequently accessed files 85 00:03:40,050 --> 00:03:44,940 ‫and there is the infrequent access tier, the EFS-IA, 86 00:03:44,940 --> 00:03:48,480 ‫which is going to give you a cost to retrieve files 87 00:03:48,480 --> 00:03:50,250 ‫if you do ever retrieve them. 88 00:03:50,250 --> 00:03:53,430 ‫But when you store these files on EFS-IA, 89 00:03:53,430 --> 00:03:55,350 ‫you are paying a lower price. 90 00:03:55,350 --> 00:03:59,370 ‫And to enable EFS-IA you must use a lifecycle policy. 91 00:03:59,370 --> 00:04:01,950 ‫So let's assume we have some frequently used files 92 00:04:01,950 --> 00:04:03,780 ‫on EFS standard, but then one 93 00:04:03,780 --> 00:04:07,170 ‫of these files is not accessed for more than 60 days. 94 00:04:07,170 --> 00:04:09,768 ‫Then because of the lifecycle policy we set up together 95 00:04:09,768 --> 00:04:13,890 ‫the file is going to be moved to EFS-IA 96 00:04:13,890 --> 00:04:17,280 ‫in a different tier and it's gonna give us a lower cost. 97 00:04:17,280 --> 00:04:20,250 ‫Now in terms of availability and durability 98 00:04:20,250 --> 00:04:21,120 ‫you have two options. 99 00:04:21,120 --> 00:04:23,760 ‫You can set up EFS to be Multi-AZ 100 00:04:23,760 --> 00:04:25,560 ‫which is great for production use cases 101 00:04:25,560 --> 00:04:28,410 ‫because if an availability zone is down 102 00:04:28,410 --> 00:04:31,890 ‫then it will not affect your EFS file system. 103 00:04:31,890 --> 00:04:34,440 ‫But if you want for development to have 104 00:04:34,440 --> 00:04:37,170 ‫a one zone EFS file system, you can. 105 00:04:37,170 --> 00:04:39,920 ‫So it's great for development, but it's only in One AZ, 106 00:04:40,860 --> 00:04:44,430 ‫and backup are enabled by default, and it's still compatible 107 00:04:44,430 --> 00:04:47,220 ‫with the infrequent access storage tier. 108 00:04:47,220 --> 00:04:49,920 ‫So it's called the EFS One Zone-IA, 109 00:04:49,920 --> 00:04:52,500 ‫and that gives you the more aggressive discount 110 00:04:52,500 --> 00:04:56,730 ‫which is about 90% in cost saving if you use that. 111 00:04:56,730 --> 00:04:59,550 ‫So the example will ask you when should you use EFS 112 00:04:59,550 --> 00:05:01,890 ‫and then what options should you set 113 00:05:01,890 --> 00:05:04,830 ‫on your EFS network file system to ensure 114 00:05:04,830 --> 00:05:07,530 ‫that you validate and comply with the requirements. 115 00:05:07,530 --> 00:05:09,390 ‫Okay, that's it for this lecture. 116 00:05:09,390 --> 00:05:12,340 ‫I hope you liked it and I will see you in the next lecture.