“Today, it’s not what we can do with technology, but what we expect from our technology.” – DJ Patil, Chief Data Scientist, U.S. Office of Science and Technology Policy, at AWS re:Invent 2016.
I couldn’t agree more. The general opinion is that today’s technology is so advanced that we can build practically anything. For the most part, it’s true. Hover cars (done), self-driving vehicles (done), AI robots (done), space travel (almost there), and so on. The problem lies in our expectations. We all expect hover cars to work like the ones on The Jetsons, or that space travel can take us to another far away galaxy. Expectations are the thing that gets us in trouble, in the end. The same rule applies in the business world. Our expectations often exceed what’s really possible.
Today, I will try to help you avoid this situation when it comes to choosing a Cloud platform for your business. If you’re still on the fence about which provider is right for you, take a look at our post comparing Amazon Web Services, Google Cloud, and Microsoft Azure. In this post, I will help you clarify what AWS technology can do for you by looking at some of the key AWS limitations that you should be aware of.
AWS is the fastest growing Cloud provider, and it offers more than 70 different services. For just about any service that you could think of, there is probably already a specialized service on AWS where you can deploy your setup. And, the entire AWS infrastructure is at your disposal.
However, this doesn’t mean that you can literally do whatever you want. Some of the AWS limitations are obvious, but others are hidden and should be carefully considered before you get started.
Let’s take a look at some of these limitations and how you can overcome them and keep your business safe in the AWS world.
1. AWS service limits
AWS service limits are set by the platform. The restrictions are there to:
- Prevent you from spending too much money on your first encounter with the platform
- Protect the system itself from uncontrolled resource usage
One of the main features of all Cloud systems, including AWS, is scalability and the ability to increase resources up when necessary. So, what’s the problem?
The answer is quite simple. You don’t really need that many resources. Most of the companies don’t need to have more than five Elastic IPs per region or more than 20 EC2 instances per region. The default limitations are set based on the needs of an average user. Increase these and you’ll pay more.
The good news is that you can submit a request for more resources if you really need more than five Elastic IP addresses per region.
AWS places default limits on several critical resources. These include:
- EC2 Instance: Default Limit: 20 per region
- EBS Volume: Default Limit: 5,000 volumes or an aggregate size of 20 TiB
- Elastic IP: Default Limit: 5 per region
- Elastic Load Balancer: Default Limit: 10
- High I/O Instance: Default Limit: 2
- Virtual Private Cloud: Default Limit: 5
These limits are often called soft limitations because you can also request fewer resources if you wish.
There are also hard AWS limitations that can not be changed at all. The following areas have hard limitations:
- EC2 Security Groups (EC2 Classic): Maximum of 500 per instance and each Security Group can have a maximum of 100 rules/permissions
- EC2 Security Groups (EC2-VPC): Up to 100 security groups per VPC
As you can see, these limits are related to security issues. Since safety is one of the key issues in Cloud computing, you should trust your Cloud provider in this area.
You can see the full list of AWS limitations on the official AWS service limits page.
2. Technology limitations
An exceptional characteristic of this limiting factor is that it can be applied to all Cloud services, not just on AWS. It depends on the general technology development that can not be quickly resolved.
Let me explain with an example. You have decided to create a teleport service that people can use online. To teleport myself, all I have to do is log in to the app, choose the location, and click “Go!” There’s just one catch. This service cannot actually work because, you guessed it, teleporting technology hasn’t been developed yet (unfortunately).
Yes, my example is a bit extreme, but you get the idea. If it is not possible for Amazon SES (Simple Email Service) to send more than 1 email per second (in the sandbox environment), there is no point in asking for an increase at this time. Technology is developing each day, and it will surely be possible to send 100 emails per second using Amazon SES at some point in the future. It’s just not feasible right now.
The best way to protect your business against such limitations is to be aware of them. So, make sure you have all the relevant information before you make an unreasonable request. It’s much easier to work around technology limitations than trying to fix them.
3. Lack of relevant knowledge by your team
If you choose to work with AWS as your Cloud provider, be prepared to learn and invest in your team’s education. As we mentioned before, AWS is an excellent and extensive platform, and you need to know what you’re doing if you want to use it. To be able to take advantage of all the useful features and services offered by AWS, you’ll want to know the platform as deeply as possible.
To successfully manage your AWS platform, you will need to invest in your team. It is always good to hire an experienced engineer who has already worked with AWS, but you should also help your team learn as much as they can about the platform. There are a lot of resources that they can use, from the rich AWS Docs section, community websites, and forums, to online learning platforms .
It is always good to complete the education process with certification, so make sure to encourage your co-workers to take a step forward and get AWS certified.
4. Technical support fee
When I say that technical support is an AWS limitation, I’m not referring to untrained personnel. I’m referring to the additional costs that dedicated tech support requires.
Just to be clear, your monthly fee includes a limited amount of support. If you need immediate assistance you can opt for one of three support packages: Developer, Business, or Enterprise. While this will increase your monthly costs, it’s also an investment that ensures that you will have the top team at your disposal in case of crisis.
Here is a snapshot of AWS’s pricing for support:
- Developer: $29/month
- Business: Greater of $100 – or –
10% of monthly AWS usage for the first $0–$10K
7% of monthly AWS usage from $10K–$80K
5% of monthly AWS usage from $80K–$250K
3% of monthly AWS usage over $250K
- Enterprise: Greater of $15,000 – or –
10% of monthly AWS usage for the first $0–$150K
7% of monthly AWS usage from $150K–$500K
5% of monthly AWS usage from $500K–$1M
3% of monthly AWS usage over $1M
You can see a more detailed report with a few examples of the pricing models on the official AWS Support page.
There are two things that you can do to overcome this limitation:
- Be prepared for additional costs and add it to your general business expenses
- Find your own AWS Consulting Partner
Since the first solution is quite straightforward, I will talk about the second one, because it might be very useful for you. AWS has a broad network of partner companies in its APN – AWS Partner Network. APN includes two types of partner companies:
- AWS Consulting partners: According to Amazon, “APN Consulting Partners are professional services firms that help customers design, architect, build, migrate, and manage their workloads and applications on AWS. Consulting Partners include System Integrators, Strategic Consultancies, Agencies, Managed Service Providers, and Value-Added Resellers.”
- AWS Technology partners: Are defined as “providers of software solutions that are either hosted on or integrated with the AWS platform. APN Technology Partners include Independent Software Vendors (ISVs), SaaS, PaaS, Developer Tools, Management, and Security Vendors.”
In this scenario, the ideal solution could be to find a local AWS Consulting Partner and use their assistance in adopting a new system. The main advantage of this is geographical location. You can find a Consulting partner in your area who will help you understand all of the aspects of AWS and provide the guidance and technical assistance whenever you need it.
5. General Cloud Computing issues
Finally, I’d like to mention some of the concerns that often come up when considering a move to the cloud, such as downtime, security, privacy, limited control, and backup protection. It is natural to worry about such issues (they are crucial to your business, after all), but the entire Cloud computing process and system already takes care of most of them. Large and respectable companies, such as Amazon, Google, and Microsoft, stand behind these systems and I believe that we can trust them with our business since they use the same resources to run theirs.
Final few words
As I said at the beginning, it is critical to know the difference between our expectations and reality. When it comes to AWS, you should not expect a perfect system with a simple setup where everything and everyone is waiting just for you. AWS is a complex infrastructure with its own rules and laws that you should respect and know. Once you are aware of them, your Cloud adventure will be much more comfortable than you ever imagined.