AWS Fargate is a serverless container management service (container as a service) that allows developers to focus on their application and not their infrastructure. While AWS Fargate does help with container orchestration, it does leave areas of concern where IronWorker fills the void.
Looking for an alternative to AWS Fargate? Get started with a free 14 trial with IronWorker.
What are containers?
Before we talk about AWS Fargate, let’s talk about making software and containers. Making software applications behave predictably on different computers is one of the biggest challenges for developers. Software may need to run in multiple environments: development, testing, staging, and production. Differences in these environments can cause unexpected behavior, yet be very hard to track down.
To solve these challenges, more and more developers are using a technology called containers. Each container encapsulates an entire runtime environment. This includes the application itself, as well as the dependencies, libraries, frameworks, and configuration files that it needs to run.
Docker and Kubernetes were two of the first container technologies, but they are by no means the only alternatives. These containers are then used in container management services. For example, IronWorker, Iron.io’s container management service, uses Docker containers.
What is AWS Fargate?
Amazon’s first entry into the container market was Amazon Elastic Container Service (ECS). While many customers saw value in ECS, this solution often required a great deal of tedious manual configuration and oversight. For example, some containers may have to work together despite needing entirely different resources.
Performing all this management is the bane of many developers and IT staff. It requires a great deal of resources and effort, and it takes time away from what’s most important: deploying applications.
In order to solve these problems, Amazon has introduced AWS Fargate. According to Amazon, Fargate is “a compute engine for Amazon ECS that allows you to run containers without having to manage servers or clusters.”
Fargate separates the task of running containers from the task of managing the underlying infrastructure. Users can simply specify the resources that each container requires, and Fargate will handle the rest. For example, there’s no need to select the right server type, or fiddle with complicated multi-layered access rules.
AWS Fargate vs ECS vs EKS
Besides Fargate, Amazon’s other cloud computing offerings are ECS and EKS (Elastic Container Service for Kubernetes). ECS and EKS are largely for users of Docker and Kubernetes, respectively, who don’t mind doing the “grunt work” of manual configuration aka container orchestration.
One advantage of Fargate is that you don’t have to start out using it as an AWS customer. Instead, you can begin with ECS or EKS and then migrate to Fargate if you decide that it’s a better fit.
In particular, Fargate is a good choice if you find that you’re leaving a lot of compute power or memory on the table. Unlike ECS and EKS, Fargate only charges you for the CPU and memory that you actually use.
AWS Fargate: Pros and Cons
AWS Fargate is an exciting technology, but does it really live up to the hype? Below, we’ll discuss some of the advantages and disadvantages of using AWS Fargate.
- Less Complexity
- Better Security
- Lower Costs (Maybe)
- Less Customization
- Higher Costs (Maybe)
- Region Availability
Pro: Less Complexity
These days, tech companies are offering everything “as a service,” taking the complexity out of users’ hands. There’s software as a service (SaaS), infrastructure as a service (IaaS), platform as a service (PaaS), and dozens of other buzzwords.
In this vein, Fargate is a Container as a Service (CaaS) technology. You don’t have to worry about where you’ll deploy your containers, or how you’ll manage and scale them. Instead, you can focus on defining the right parameters for your containers (e.g. compute, storage, and networking) for a successful deployment.
Pro: Better Security
Due to their complexity, Amazon ECS and EKS present a few security concerns. Having multiple layers of tasks and containers in your stack means that you need to handle security for each one.
With Fargate, however, the security of your IT infrastructure is no longer your concern. Instead, you embed security within the container itself. You can also combine Fargate with container security companies such as Twistlock. These companies offer products for guarding against attacks on running applications in Fargate.
Pro: Lower Costs (Maybe)
If you’re migrating from Amazon ECS or EKS, then Fargate could be a cheaper alternative. This is for two main reasons:
- As mentioned above, Fargate charges you only when your container workloads are running inside the underlying virtual machine. It does not charge you for the total time that the VM instance is running.
- Fargate does a good job at task scheduling, making it easier to start and stop containers at a specific time.
Want some more good news? In January 2019, Fargate users saw a major price reduction that will slash operating expenses by 35 to 50 percent.
Con: Less Customization
Of course, the downside of Fargate is that you sacrifice customization options for ease of use. As a result, Fargate is not well-suited for users who need greater control over their containers. These users may have special requirements for governance, risk management, and compliance that require fine-tuned control over their IT infrastructure.
Con: Higher Costs (Maybe)
Sure, Fargate is a cost-saving opportunity in the right situation when switching from ECS or EKS. For simpler use cases, however, Fargate may actually end up being more expensive. Amazon charges Fargate users a higher per-hour fee than ECS and EKS users. This is to compensate for the complexity of managing your containers’ infrastructure.
In addition, running your container workloads in the cloud will likely be more expensive than operating your own infrastructure on-premises. What you gain in ease of use, you lose in flexibility and performance.
Con: Regional Availability
AWS Fargate is slowly rolling out across Amazon’s cloud data centers, but it’s not yet available in all regions. As of June 2020, Fargate is not available for the following Amazon regions:
- AWS Fargate (EKS)
- Northern California
- São Paulo
- GovCloud (US-West and US-East)
- Cape Town
- Hong Kong
- * = Includes AWS Fargate (ECS)
- AWS Fargate (EKS)
AWS Fargate Reviews
Even though AWS Fargate is still a new technology, it has earned mostly positive feedback on the tech review platform G2 Crowd. As of this writing, AWS Fargate has received an average score of 4.5 out of 5 stars from 12 G2 Crowd users.
Multiple users praise AWS Fargate’s ease of use. One customer says that Fargate “made the job of deploying and maintaining containers very easy.” A second customer praises Fargate’s user interface, calling it “simple and very easy to navigate.”
Another reviewer calls AWS Fargate an excellent solution: “I have been working with AWS Fargate for 1 or 2 years, and as a cloud architect it’s a boon for me… It becomes so easy to scale up and scale down dynamically when you’re using AWS Fargate.”
Despite these advantages, AWS Fargate customers do have some complaints:
- One user wishes that the learning curve were easier, writing that “it requires some amount of experience on Amazon EC2 and knowledge of some services.”
- Multiple users mention that the cost of AWS Fargate is too high for them: “AWS Fargate is costlier when compared with other services”; “the pricing isn’t great and didn’t fit our startup’s needs.”
- Finally, another user has issues with Amazon’s support: “as it’s a new product introduced in 2017, the quality of support is not so good.”
AWS Fargate Alternatives: AWS Fargate vs Iron.io
While AWS offers Fargate as a serverless container platform running on Docker, Iron.io offers an alternative industry leading solution called IronWorker. IronWorker is a container-based platform with Docker support for performing work on-demand. Just like AWS Fargate, IronWorker takes care of all the messy questions about servers and scaling. All you have to do on your end is develop applications, and then queue up tasks for processing.
Why select IronWorker over AWS Fargate?
IronWorker has been helping customers grow their business since 2015. Even with IronWorker’s AWS Fargate’s similarities, IronWorker has the advantage in:
- Deployment Options
We understand every application and project is different. Luckily, Iron.io offers a “white glove” approach by developing custom configurations to get your tasks up and running. No project is too big, so please contact our development team to get your project started. We also understand that documentation is critical to any developer and have made a Dev Center to help answer your questions.
When you start your free 14 day trial, you will get to interact with the simple and easy to use Iron.io dashboard. Once you have your project running, you will receive detailed analytics providing both a high level synopsis and granular metrics.
As of June 2020, Fargate’s container scaling technology is not available for on-premises deployments. On the other hand, one of the main goals of Iron.io is for the platform to run anywhere. Iron.io offers a variety of deployment options to fit every company’s needs:
- Users can run containers on Iron.io’s shared cloud infrastructure.
- Users benefit from a hybrid cloud and on-premises solution. Containers run on in-house hardware, while Iron.io handles concerns such as scheduling and authentication. This is a smart choice for organizations who already have their own server infrastructure, or who have concerns about data security in the cloud.
- Users can run containers on Iron.io’s dedicated server hardware, making their applications more consistent and reliable. With Iron.io’s automatic scaling technology, users don’t have to worry about manually increasing or decreasing their usage.
- Finally, users can run IronWorker on their own in-house IT infrastructure. This is the best choice for customers who have strict regulations for compliance and security. Users in finance, healthcare, and government may all need to run containers on-premises.
Like it or now, AWS Fargate is a leader in serverless container managment services. As we’ve discussed in this article, however, it’s certainly not the right choice for every company. It’s true that Fargate often provides extra time and convenience. However, Fargate users will also sacrifice control and incur potentially higher costs.
As alternative to AWS Fargate, IronWorker has proven itself an enterprise solution for companies such as Hotel Tonight, Bleacher Report and Untappd. IronWorker, made by Iron.io, offers a mature, feature-rich alternative to Fargate, ECS and EKS. Users can run containers on-premises, in the cloud, or benefit from a hybrid solution. Like Fargate, IronWorker takes care of infrastructure questions such as servers, scaling, setup, and maintenance. This gives your developers more time to spend on deploying code and creating value for your organization.