Amazon Elastic File System
In this course, we will learn about some of the Amazon Web Services or (AWS) Storage Solutions and compare them to the Amazon Elastic File System offering. Comparing the options gives us some context when trying to determine which solution is appropriate for a given situation, and help us understand how EFS fits into the ecosystem of Amazon Storage options. Next, we will dive into EFS and describe the Amazon Elastic File system. We will talk about the benefits of using Amazon EFS, and describe specific features of the service. Then, we will discuss some typical use cases for the Amazon Elastic File System. And finally, we will describe how to find Amazon EFS in the AWS console, and give a brief overview of how it is usually configured. Authored by Sarah Blatnik and narrated by Mark Thomas.
Let's start off by looking at the AWS storage offerings and comparing a few of them. Amazon has more storage solutions than we're going to discuss here, and they will probably continue to add more in the future, but we're just going to focus on three of the options in this course. The reason we've selected these three is that at first glance they seem similar, and people are unsure which of these solutions to choose from to fit their current storage needs.
Amazon Simple Storage Solution, or S3, is an object storage solution. Object storage stores everything as a single object, not in small chunks or blocks. With this type Of storage, you upload a file, and if the file changes, to replace it, you must delete the whole file. This type of storage is best for situations where large files are written once and then accessed many times. It's not optimal for situations that require both heavy read and write access at the same time. So Amazon S3 is usually used for storage of large files, such as video files, images, static websites, and backup archives. For example, Netflix uses S3 for their data streaming service. They upload large movie files once, and then subscribers access and play the movies.
Amazon Elastic Block Service, or EBS is block level storage. Files are not stored as single objects. They're stored in small chunks or blocks so that only the portion of the file that is changed will be updated. This type of storage is optimized for low latency access and when fast, concurrent read and write operations are needed. EBS provides persistent block storage volumes for use with a single EC2 instance. As described, EBS is persistent, meaning that even if you stop or terminate an EC2 instance that's using EBS, the data on the disc remains intact. Use this type of storage like a computer hard drive where you store operating system files, applications, and other files you wish to retain.
Amazon Elastic File Storage, or EFS, is considered file level storage and is also optimized for low latency access, but unlike EBS it supports access by multiple EC2 instances. It appears to users like a file manager interface and uses standard file system semantics, such as locking files, renaming files, updating them, and using a hierarchical structure. This is just like what we're used to on standard premises-based systems. Use this type of storage like land storage where files are accessible to network resources. This was just a quick overview of these storage options. If you'd like to learn more about Amazon S3, EBS, or EFS, visit CloudAcademy.com and explore our course catalog for more beginner and intermediate courses covering the AWS storage solutions.
Before we start discussing how to use the Amazon EFS cloud-based file system solution, let's discuss how people are traditionally used to accessing network files and resources. In traditional premises-based networks, users access files by browsing network resources. They connect to a server, or a map driver's been configured for them. Once they connect through one of these options, they see a tree view of available folders and files. This functionality has been provided by various local area network, LAN systems, such as file servers or a storage area network, SANs, or network-attached storage, a NAS.
Now let's move on from the traditional premises-based solutions and talk about cloud-based solutions, specifically AWS and the Amazon Elastic File System. EFS provides simple, scalable file storage for use with Amazon EC2 instances. Much like traditional file servers or a SAN or a NAS, Amazon EFS provides the ability for users to browse cloud network resources. EC2 instances can be configured to access Amazon EFS instances using configured mount points. Mount points can be created in multiple availability zones that attach to multiple Amazon EC2 instances. So, much like your traditional LAN servers, EC2 instances are connected to a network file system, Amazon EFS. From a user standpoint, the result is the same. The user accesses network resources just as they have always done, except for now it's done using cloud technology.
So, how do people traditionally use EFS? Some common use cases for EFS include content repositories, big data, home directories, and development and testing environments. As you can see, it provides the same functionality as a traditional premises-based file system. Amazon Elastic File System provides many benefits to companies looking to move resources to the cloud. IT administrators currently spend a lot of time and energy estimating the future demand on the IT infrastructure. Finding that elusive sweet spot between under-buying and over-buying hardware is a struggle for every IT admin. Finally, once the hardware is purchased, there's the time that needs to be devoted to setting it up and maintaining it, and once it's all configured properly, there's demand for more resources and the cycle starts again. Developers need resources for testing applications that are in the process of being built. These resources will be used only for testing purposes but are just as costly as production machines. So, it's also important that they forecast potential needs before they need the equipment. If they're too conservative, it may delay their timeline for moving an application from development to production, and if they overestimate demand, then they have purchased expensive resources that will go unused. By taking advantage of cloud-based technologies like EFS, corporations can reduce capital investment costs. EFS automatically expands and contracts based on usage. Businesses only pay for what they use. Using cloud-based systems reduces the need to purchase expensive resources that need constant maintenance, monitoring, and updating. Reducing that burden allows companies to focus on the core mission of their business.
Now that we've given you an overview of what the EFS service can do and its benefits, let's talk about some specific features of the service. It's a fully managed file system for multiple EC2 instances, allowing it to serve as a common data source across potentially thousands of EC2 instances. It uses standard operating system APIs, so any application that is designed to work with standard operating system APIs will work with EFS. It supports NFS version 4.1 and uses standard file system semantics, such as strong consistency and file locking. It's replicated across availability zones in a region, meaning it's highly available. There's no need to provision storage capacity or performance. It grows elastically to petabyte scale. It provides low latency and can support thousands of concurrent connections. The through put and IOPS scale dynamically as required. The pricing for EFS is a pay per use model. You may per gigabyte per month of data stored. It can scale both up and down, so if you use more storage one month and then less the next month, you only pay for what you use. Note, as of this writing, EFS only supports Linux-based operating systems. So, how do I find EFS? Amazon Elastic File System can be found in the AWS Management Console at aws.amazon.com. Once you login to the console, look for these storage options and select EFS. From the elastic file system management console, you'll create a file system, configure access to EC2 instances, and manage EFS.
Now, how do we use EFS? Once you create the file system, you can access it by creating mount points within your virtual private cloud, or VPC. Once the mount points have been created, the NFS file system target can be accessed from any other machine. When the file system has been mounted to one or more instances, you can read and write data to the file system. That means that users within the region have access to a common data source. EFS can also be used for premises-based solutions as well. Amazon provides an option called AWS Direct Connect. An EFS file system can be mounted on a premises-based server then data can be migrated to the AWS cloud, hosted on an EFS file system.
About the Author
Sarah is an educator and instructional designer. She started her career doing computer training, Microsoft Certified training, then telephony training for a local Indianapolis start up. She has a passion for helping others to learn and writing engaging content. When she is not working, she loves to travel with her family, walk her dog, or curl up somewhere with a good book.