Does AWS need coding to be useful?
There are thousands of potential use cases when dealing with the cloud. AWS offers many dozens of services to help speed up time to value and productivity. However not everyone knows how to code, so that begs the question does AWS need coding to be useful?
There are many cloud based services provided by Amazon Web Services which require no coding knowledge at all. This includes services which cover a broad array of workloads including storage, email, machine learning, media, server backup and many more.
This article will describe eight of those services provided by AWS and show how they might work without needing to write any code. The range of codeless things that are powered by Amazon is quite amazing.
One service offered by Amazon which doesn’t require any coding knowledge is Amazon Route 53. This is a DNS service which allows you to setup and configure your domains. The domain used with Amazon Route 53 can either be one purchased directly within Amazon Route 53 or from another domain provider. For great deals on domains take a look at my recommended domain provider list here.
If using an external domain provider, which I usually do, you will need to set the nameservers on the domain to point to Amazon. For example with Namecheap, which is where this domain was purchased, you set the nameservers to the values provided by Amazon after adding the Hosted Zone for the domain in the AWS console. If the domain was purchased in the AWS console, this step is not needed.
Once the nameservers are properly configured in the domain providers system you can then start setting up your domain in the AWS console. This includes things like the A record, the AAAA record (for IPv6), TXT records, CNAMEs, SOA records, MX records for mail, PTR, SRV, SPF, NAPTR, and CAA records. These are known as Record Sets in the Route 53 service. All of these can be set in the console without needing to write a single line of code!
The great thing about Amazon Route 53 is that it scales elastically and globally without needing any work from you. The cost per hosted zone is $0.50 per month for the first 25 zones and then that reduces to $0.10 per month for any hosted zone above and beyond that. Queries to the service are charged at $0.40 per million queries for the first billion queries per month and $0.20 per million queries after that. So as you can see, this service is quite inexpensive and very simple to use.
Another service which doesn’t required any programming to use is Amazon CloudFront, which is a content distribution network. This allows Amazon to cache requests to your website and serve the cached versions of the pages instead of directly hitting the web servers for each request. This can save money as it reduces the load on your web servers. The servers can also help reduce load times for your users since the cached pages are cached at the CDN edge nodes which are distributed around the world. Customer requests will hit the edge node closest to them, which could mean faster load times depending on where they are and where your servers are.
Amazon CloudFront can be completely configured through the AWS console and does not require any coding for that configuration. This website currently uses Amazon CloudFront pointed at an Amazon S3 bucket (more about Amazon S3 later) which contains all of the web pages and related data. This was all setup without needing to write a single line of code.
The Amazon CloudFront distribution can also be configured to use your custom domain as it has an integration with Amazon Route 53. It can also be setup to provide SSL encryption for your domain with an integration with Amazon Certificate Manager. The Amazon CloudFront service also supports HTTP2 as well as IPv6 if those are settings you’d like to enable. The service also allows forcing redirection from HTTP to HTTPS if that is something that your site might require.
The Amazon CDN has another feature which allows you to enable geo restriction on the site. This gives the user the ability to customize what countries around the world are allowed to view the content, and restrict others from being able to access the content. Any HTTP error code can also be configured to redirect to a certain page, fully customizable by the user. All of these settings require zero coding by the Amazon Web Services Customer.
Continuing with the theme of website hosting, another service offered by Amazon Web services which doesn’t require writing any code to work with is Amazon Simple Storage Service, or Amazon S3 for short. This service allows you to upload and store virtually any type of file of almost any size via the Amazon console. The current file size limit is 5 terabytes, which likely most users won’t have any issue with.
Amazon S3 can be used for more than just storing website content. You can store your word documents, excel sheets, personal images, or any other data files which may be used in a big data processing workflow. There is an unlimited amount of files that can be placed in an S3 bucket (the data container) and these objects are setup to be very reliable. In fact, with the eleven nines of durability (99.999999999%) it would take over one hundred thousand years before you would expect to lose or have corrupted a single file when storing one million files in Amazon S3.
There are also many third party tools that work with Amazon S3, outside of the Amazon console which can make working with the storage service even easier without writing any code. For example S3FS-FUSE is a plugin for most operating systems that allow you to mount a storage bucket into your file system. That way you can work with the objects in S3 just like other files and directories on your system.
When running a website, it is usually a good idea to install an SSL certificate for your domain so that traffic to the site, or servers, is encrypted. This prevents malicious third parties from spying on the communications to and from your servers.
Amazon has started providing a service to their cloud users which allows them to generate these SSL certificates for free. The AWS team has also built many integrations with this service to other Amazon cloud services including Amazon CloudFront which was described previously. In fact, this website is using one of the Amazon generated certificates to provide the SSL/TLS encryption.
The above certificate was generated with the Amazon Certificate Manager by first proving domain ownership, which is quite simple since the domain is managed by another Amazon service, Amazon Route 53. Once that was verified, the certificate is generated and automatically maintained and updated by Amazon Web Services. This generated certificate then showed up in the Amazon CloudFront configuration page, which allowed the site to use the certificate and protect communications with the Amazon provided CDN. All of this was done without needing to write a single line of code. This is much easier than the process that used to required to setup and maintain SSL certificates.
However, this service only provides Domain Validated (DV) certificates. If you are looking for something a little more secure, as in Organizational Validation (OV) certificates or Extended Validation (EV) certificates, you can see my recommended SSL certificate providers here.
Another thing most companies, or startups, need is an email service. There are a lot of options out there on how to setup, manage, maintain and host email. One of those options is a service offered by Amazon known as Amazon WorkMail.
This service is quite trivial to setup within the Amazon web console. Under the services dropdown you would select Amazon WorkMail. From there you would click the Add organization button to open the wizard which will you allow to start setting up this email service hosted and managed by Amazon. They have a few different setup mechanisms. One being the Quick Setup method and the other being the Standard Setup.
The Quick Setup method takes less than 2 minutes and uses many default configurations. It will use a free test domain instead of your own domain, but that can be changed after the fact, as long as you have a domain that you can set the MX records for. All email content stored within the service is also encrypted using the default Key Management Service key for you Amazon account.
If instead you want a little more control, you’d opt for the Standard setup. This allows you to setup your own user directory or link it to an existing Microsoft Active Directory. When using this setup method you can also use a custom KMS key for encrypting the email data within this service. This also is initially setup with a free test domain, but can be converted over to one of your owned domains after the fact.
The WorkMail user directory also lets you use other Amazon services such as WorkDocs, WorkSpaces and others if desired. Again, all of the above is setup and configured without needing write a single line of code.
Another service offered by Amazon, and slightly different from the previous, is known as AWS Media Convert. This service can be used to take a video, and other media content, that is stored in either your Amazon S3 bucket or accessible from an HTTP or HTTPS endpoint, and convert it into different video (or other) formats or formats with varying dimensions which are better for certain devices than the original content.
Using the AWS console you are able to create a job in which you specify the input video, and potentially the associated audio file for that video, as well as the transcoding options that you want applied to the video, and finally the output location in an Amazon S3 storage bucket that you would like the end results placed into. This service features the ability to setup Digital Rights Management (DRM) on the output video that is generated so that the content can be protected and only viewed by those that are authorized to view it.
This service offers a very flexible way of transforming many types of media files so that end user of that content gets the best experience possible for their device. It is also designed to be able to process massive amounts of these media files without manually needing to setup and configure the worker nodes to process the data, which can be a huge time saver for some Amazon cloud users.
This conversion service is also a pay-as-you-go service, meaning that you only pay for the conversions you actually run. It allows you to focus on what is important for your business instead of needing to manually setup and maintain a custom video conversion pipeline.
Another interesting service provided by Amazon, which is in the machine learning space is called Amazon Polly. This service is built on top of Deep Learning technologies to provide Amazon customers with the ability to take written text and produce audio speech snippets of that text. This can all be accomplished with the Amazon console by selecting Amazon Polly from the services section.
Once the page has loaded, you’ll notice a text entry field which you can use to type a message in. Once ready, you can hear what the conversion might sound like by using Listen to speech button. If you are happy with the result you can click the Download MP3 button to get a copy of the generated audio file.
There are a couple generation engines available to the service. There is the Standard model and the Neural Model. I usually prefer the Neural model as it has much more natural sounding generated speech from the written text. You are also able to select many language options for the generated speech. These languages currently include English, French, German, Hindi, Icelandic, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Turkish, Welsh, and a few other variations of these.
Even with all of the language options, there are many voice options available as well. Currently there are five female voices and four male voices that can be used and each of these can be configured to work with the languages mentioned previously. Again, from my testing, the Neural model seems to sound much more natural when generating the sound snippets.
The current size of text that can be used in the amazon console is up to 3000 characters for immediate listen or download, but the service lets you synthesize up to one hundred thousand characters if the audio output is saved into an S3 bucket. The quality and type of the audio can also be configured via the UI to meet your needs. This can all be accomplished without writing a single line of code!
Amazon Comprehend is a natural language processing (NLP) service which also provides text analytics. This service is built on top of machine learning models designed and tested by Amazon, and gives access to these amazing models to their cloud based customers.
Using the Amazon console you are able to paste text into an entry field and analyze that text with the service to quickly get insights from the document including key phrases, language detection, sentiment scoring of the text, and entity recognition.
As you can see in the above screenshot, the service is able to identify companies, people/names, places and many other key aspects of the text. This is very useful as you can to get a quick summary of the important features of pieces of text available to you, so that the document can be quickly summarized.
Amazon Comprehend also offers a medical comprehension system which is a machine learned model specifically designed for looking at and comprehending medical type documents. This is an example of a custom model that is designed for a specific application. Something like this may be useful in your domain as well if a custom model is tuned for your specific application.
As you can see, Amazon is really stepping up their game in the machine learning space and trying to make it accessible for all, even those that may not have a data science degree, or machine learning capability in house. The cloud is going to help make advances in certain fields much more quickly than they have happened in the past as these models become much more accessible to everyone.