everythingpossible - Fotolia


AWS coding options allow ops and dev to speak same language

AWS supports a variety of programming languages. But instead of looking to the newest language, it's more important to take into consideration your development team and its skills.

Once an enterprise chooses AWS, it needs to decide which language it will use to build an application. On the surface,...

this sounds easy. But with the overabundance of programming languages and frameworks available, this can be a tough decision.

So, which AWS coding language works best? The truth is it depends on who you ask. Different developers have their own experiences, strengths and skills with languages and frameworks. So making the right choice often revolves around selecting a technology that your IT team knows.

AWS provides vast support for a variety of languages and frameworks. So, whether an administrator decides to use a familiar AWS coding language or something new, there are several tools, services and SDKs (software developer's kits) to accommodate most requirements.

Java has been around for more than 20 years, and it's a popular choice for enterprises. Experienced developers in the job market have Java skills based on its wide adoption and lifetime in the tech industry. But many question whether or not Java is still relevant, as it can be a bit memory intensive.

However, Java works with AWS Lambda -- a service used to run code without provisioning servers. Java is a first-class language on AWS, and the AWS SDK for Java makes it easy for developers to build apps integrated with the AWS platform. Developers can also use the Java SDK with the AWS Toolkit for Eclipse, which provides a rich development experience when working with Java on AWS.

Like Java, Microsoft's .NET platform is popular with enterprises and has been around for a long time. While the .NET framework supports a number of languages, C# is the one you see used most often with .NET. Microsoft invested heavily in making it possible to build cross-platform applications using this framework.

The new .NET Core is a lightweight and modular platform for creating apps that can run on Windows, Linux and Mac; this enables AWS shops to pick between Windows or Linux based instances, and they can also build and run web applications using ASP.NET Core inside Docker containers. While the technology is fairly new and still emerging, it would be a great fit for teams with existing .NET and C# expertise. Like Java, the job market is full of .NET and C# developers, so enterprises can build a team going forward if needed. AWS also provides a .NET SDK, which integrates with tools like Microsoft Visual Studio for building .NET apps.

If your team already has JavaScript expertise, Node.js might be a great choice. Node.js is a JavaScript runtime that uses Google's V8 engine, and it allows developers to write server-side code in JavaScript. The MEAN stack (Mongo, Express, Angular and Node) has gained immense popularity over the past few years for building web applications; it's commonly used on AWS.

So, which AWS coding language works best? The truth is it depends on who you ask. Different developers have their own experiences, strengths and skills with languages and frameworks.

Developers can tap into the Node Package Manager to find and reuse packages of code from hundreds of thousands of developers. Additionally, they can build fully functioning APIs using AWS Lambda functions written in Node.js. In addition, many IT teams are building serverless microservices; similar to other languages we've looked at, AWS provides an SDK for JavaScript for both browser-based client applications and server-based applications written in Node.js.

PHP is another popular language that powers some of the biggest sites on the internet. It's a common choice for web applications, as there is a large ecosystem of existing libraries and frameworks to use with it. The LAMP stack (Linux, Apache, MySQL and PHP) powers apps on AWS using a variety of architectures that support high availability and auto scaling. Like other languages, AWS provides a PHP SDK that's easy to use and integrates with applications.

While many operations engineers use Python to write scripts and automate tasks, developers also use it when building web applications. Django, which is a Python framework aimed at those who want to build apps quickly with less code, is commonly used within AWS.

Python is also a first-class citizen when it comes to building serverless architectures, and it is one of the primary languages AWS Lambda supports. Developers can use Python with AWS tools by using the SDK for Python.

Ruby, as well as Ruby on Rails, has been a popular choice for building web apps on the internet. The language has had strong adoption over the years, and there are number of reusable libraries available in the form of RubyGems. Like Python, Ruby is also often used on servers as a scripting language, and it integrates with popular configuration management tools, like Chef and Puppet. Developers can integrate with AWS in an application through the SDK for Ruby.

Gaining popularity, the Go programming language -- also known as golang -- has developed a reputation as an AWS coding option that is easy to write, reliable and maintainable. Go was developed by Google to provide the security of a compiled language like C++, while enabling the speed of a dynamic language like Python. Similar to ASP.NET model-view-controller (MVC), Ruby on Rails and Laravel with PHP, developers can use Go to build web apps that implement the popular MVC design pattern. However, it can be more difficult to find developers with Go skills compared to other languages. AWS offers support for applications with its SDK for Go.

Think dev skills first, then technology

When it comes to selecting one of these languages for a project, start by finding the right people and then focus on the technology.

Admins can use skills of existing teams or look for new developers who possess those skills and talents. When adding people to your team, admins should have a good idea of what type of talent is available locally. For example, if most developers in the local community are strong with JavaScript, building an app with Node.js makes sense.

Next, focus on the technical details. If an IT team needs to integrate with a legacy application, factor that into your programming language decision. For example, an admin may want to use the same AWS coding language as the legacy app to make use of existing code, libraries or frameworks.

Developers can also use an existing open source project that allows them to hit the ground running with much the work already done. This makes it easier to get the next application up and running on AWS.

Next Steps

Developers turning to Node.js in AWS

Deploy AWS apps with Elastic Beanstalk

Reasons to use Go as a programming language

Dig Deeper on AWS tools for development