AWS keeps dominating, whether it is quality or quantity. As a result, many gems can get lost in the crowding.
AWS keeps expanding faster than anyone can deal with. Even seasoned architects confess that they know no more than 20-30% of the depth that AWS has to offer. While more options are always welcome, the downside here is that many excellent offerings get lost in the crowd.
It could be because they have a smaller, more specific use case, or because promoting them isn’t part of Amazon’s plans of aggressive expansion.
This article casts light on five such AWS offerings.
You’ve most likely not heard of them, and there are good chances that these will remain shrouded in obscurity going forward. These offerings are amazingly useful and highly cost-efficient, but they are almost not known to everyone.
One reason AWS hasn’t been able to make a dent in smaller-sized deployments, apart from its higher costs, is complexity.
The AWS documentation is so vast and confusing that if you manage to finish your research over a weekend and arrive at a concrete understanding, you can count yourself among the chosen ones. For the rest of us, AWS signifies complexity of a terrifying level. Even working out a monthly cost of an AWS service requires more brain cells I have, and leaves me with a lasting headache. As a result, smaller deployments is a space that has been dominated by the likes of DigitalOcean, Kamatera, Linode, etc., where you spin up a fixed-cost instance and forget about it.
But now, AWS has an answer.
Like most other non-top AWS offerings, Lightsail tiptoed around and settled on Amazon’s menu without getting noticed. It’s targeted at developers who are using those VPS as mentioned earlier services and will serve as a stepping stone to the full-fledged AWS platform later on. Lightsail has all the features you’d expect from your favorite provider:
Simple, predictable pricing
Lightsail has VPS starting from $3.50 for 512 MB RAM and goes all the way up to 32 GB RAM / 8-Core Processor for $160/month. The bandwidth usage is predictable and pretty generous as well, ranging from 1 TB to 7 TB, depending on your plan. In other words, if you’re paying $10 per month on Lightsail, you’re paying $10 per month. 🙂
Lightsail also brings many DevOps features that have become standard among cloud providers these days. Be it load balancers, managed databases, object storage, pre-configured servers for your favorite web apps (for instance, you can do one-click deployments for Node, Laravel, etc.), Lightsail has it all.
Full AWS access
Although Lightsail is a separate service, it’s not entirely cut off from the AWS ecosystem. Through VPC peering, you can enjoy the benefits of other AWS services while being on Lightsail.
Lightsail seamlessly upgrades to EC2 when your needs get bigger, and you’re ready to bite the complexity bullet. One can say that this is the whole idea Amazon had behind launching Lightsail, but hey, with service as excellent as AWS, I don’t see why anyone should be complaining!
The next member in our AWS solar system is Neptune (sorry, couldn’t resist the similarity!). Neptune is a highly available, fully managed graph database. It’s a relatively new offering, and is likely to remain unknown for two reasons: 1) The sheer number of AWS services available, and 2) The highly selective use case for graph databases.
For those wondering, graph databases are another sub-class of NoSQL databases that store and work with data in a graph format. They excel in applications where entities have a lot of relationships with each other, especially when those relationships have different inherent value. Some good examples that cry out for graph databases are search, social networks, recommendation engines, etc.
If you use (or want to use) AWS managed databases like Aurora, DynamoDB, etc., and you need a graph database for your next application, Neptune is the way to go!
Next on our list is an astounding offering — a hardware one!
Amazon’s Snowball is an old-fashioned (though highly capable) offer when you need to deal with large amounts of data.
To appreciate the usefulness of this weird-looking service, consider how much data your servers have to move (in and out) during a typical day. If you’re like me, it’s unlikely to go beyond a few MB. In such cases, we hardly ever think about data transfers as the Internet speeds are more than sufficient. But, some companies need to move several GB per hour or even several PB (Petabytes) per day. I don’t know about you, but I was tasked with backing-up or restoring data on this scale, I’d just resign from the job!
Snowball was built to deal with these cases.
Here’s how it happens: you require a Snowball device from Amazon, which gets delivered to you. You plug it into your systems and write absurd amounts of data to it overnight. Once done, you notify Amazon, and they pick up the device, ship it back to the data center, and upload all the data back to your S3 account.
The best part of this whole process is that the Snowball device is exceptionally efficient, supports several protocols, and is tamper-proof. So if you’ve been struggling with data that is really, really big and has mostly to do with archival, give Snowball a shot!
Despite the common name, Trusted Advisor is a valuable service if you’re an extensive user of AWS.
Think of Trusted Advisor as a tool to help you plan new infrastructure, optimize existing ones, or simply run scans to make sure your deployments meet the AWS security standards. Given how hard it is to do this on even a single server manually, I’d say Trusted Advisor is one of the hidden gems among lesser-known AWS offerings.
It can all sound a little abstract, so let’s look at some concrete examples of how Trusted Advisor can help you.
Trusted Advisor can scan your running EC2 instances and report cases of extremely low CPU and network utilization. This will help you discover actual usage patterns and save on your AWS bills by shedding off some of your instances during the very lean periods. On your own, it’d be complicated to come across this information.
The number of security screw-ups related due to improper S3 privileges is too many to count. All too often, a company ends up accidentally making its S3 bucket(s) public, and sensitive data that should remain hidden gets exposed and duplicated into the hands of malicious entities.
The fix is simple in theory: managing your S3 security permissions correctly, but is very easy to overlook. This especially happens in projects that have been running for a while, and someone changes the security settings by accident or for some testing but forgets to revert them. With Trusted Advisor, such instances will be detected and brought to your notice instantly.
These two examples don’t even scratch the breadth of what the Trusted Advisor can do for you. Since many of these checks are free, all I can say is that no matter what your level of AWS deployments, Trusted Advisor is a must.
Microservices are a lot of fun, especially for evangelists and manager who get told about their idyllic benefits and don’t have actually to code them. But for developers, Microservices are an architecture and debugging nightmare. It’s hard to trace messages as they pass from service to service, and often times it’s impossible to tell why something didn’t work or why a certain message got lost.
It gets especially bad when there are a large number of services involved. The number of possible interactions is high enough to overload the mind, let alone the code. Consider the following microservice diagram taken from StackExchange forums, and imagine having to trace through this mess.
Thankfully, with X-Ray, AWS has a tool that can greatly simplify how you debug microservices. Essentially, X-Ray is a service that automatically collects request logs from each service you’ve deployed, streamlines those logs by service, and combines it with other data like latency and throughput to present an information-rich snapshot of what’s happening at all times in your system.
X-Ray works on both microservice and serverless architectures. Another thing to keep in mind is that it’s not available on all AWS offerings (only Amazon EC2, Amazon EC2 Container Service (Amazon ECS), AWS Lambda, and AWS Elastic Beanstalk as of writing) and only three programming languages/environments are supported as of now: Java, .NET, and Node. This is so because X-Ray has to interact with your code directly, and involves a massive development effort on Amazon’s part.
That said, I’m 100% confident that more languages will be supported very soon (I personally see Go, Scala, Kotlin, etc., getting supported pretty soon, and interpreted languages to follow later).
In this article, I just wanted to show that there’s more to AWS than EC2, ELB, RDS, S3, etc. It’s not just infrastructure but also support tools where AWS is rapidly excelling. We don’t hear about these amazing offerings because Amazon doesn’t have space and budget to promote all of them — as of writing, there are close to 100 offerings from AWS!
As such, it’s unlikely that you’ll hear about these services in a major event or find books/courses about them. The best thing to do is to subscribe to the official AWS announcements and see if something new has been rolled out that can make your life easy!
If you are curious to learn about AWS, then go to Udemy, and you will find hundreds of online courses for your desired subject.