New AWS Services Optimize Application Development Process

Image credit: iStockphoto/monstArrr_

Amazon Web Services (AWS) is always busy introducing new services, enhancing existing ones, and, quite often, driving trends. However, the company has upped its game even more in recent months.

In the first half of 2020, AWS announced an astonishing number of developments that enable technology interoperability, simplifying legacy feature removal, creating greater flexibility and time-savings for developers, and putting new capabilities at the fingertips of end-users.

ARM power

You are going to be hearing a lot about ARM processor architecture and not just because ARM, the chipmaker, is being acquired by Nvidia, the leading maker of GPUs.

Developed in the 80s, ARM processors are finally hitting their stride as companies are embracing ARM-based chips. ARM-based processors combine high-performance RISC designs, lower manufacturing costs, and reduced power consumption, making them ideal for portable devices like smartphones, tablets, and even laptops. More and more companies are designing processors that implement ARM architecture, including big names like Apple, AppliedMicro, Broadcom, Qualcomm, and Samsung Electronics. This year, Apple brought ARM chips into the desktop world with tailored extensions like a built-in security enclave, a motion coprocessor, and a neural engine.

AWS is among those embracing ARM architecture. That has led to introducing an array of robust services that will benefit developers and end-users alike. Case in point: this summer, AWS announced the general availability of its sixth generation of Amazon Elastic Compute Cloud (Amazon EC2) instances, including general-purpose (M6g), compute-optimized (C6g), and memory-optimized (R6g) instances. Powered by AWS-designed, ARM-based Graviton2 processors, they deliver up to 40% better price/performance over comparable current-generation x86-based instances.

They also offer 50% more NVMe SSD storage GB/vCPU over comparable x86-based instances. The local SSD storage works well for apps that require high-speed, low latency storage, and temporary storage of data such as batch and log processing, and high-speed caches and scratch files.

They’re ideal for workloads ranging from application servers, microservices, and high-performance computing to CPU-based machine learning inference, electronic design automation, and gaming. Numerous organizations have already successfully adopted ARM-powered instances and are realizing price/performance benefits.

The AWS Graviton-based instances are supported by a broad ecosystem of operating systems and services from Independent Software Vendors (ISVs) and AWS. They can be purchased as On-Demand, Reserved, or Spot Instances; covered by Savings Plans, or as Dedicated Hosts / Instances, and support up to 19 Gbps Elastic Block Store (EBS) bandwidth.

The AWS Graviton2 processors itself — released in late 2019 — deserve recognition too. Compared to first-generation ARM-powered Graviton processors, they provide twice as fast floating-point performance per core for scientific and high-performance computing workloads. They also offer optimized instructions for faster Machine Learning inference, always-on fully encrypted DDR4 memory, and 50% faster per core encryption performance to further enhance security.

Several AWS services, such as Amazon Elastic Load Balancing, Amazon ElastiCache, and Amazon Elastic Map Reduce, have realized superior price/performance in testing and will be moving into production on Graviton2-based instances.

Better, easier artifact management

AWS isn’t the only organization opting for ARM. As many others prepare to make a move, AWS is doing its part to facilitate the transition. That includes deploying services that streamline various aspects of the app development process, in keeping with the efficiencies and increased performance offered by ARM-based chips.

One that we’re most excited about is AWS CodeArtifact. This fully managed software artifact repository service eliminates the need for setting up, operating and scaling the infrastructure required for artifact management. It works with commonly used package managers and tools such as Maven and Gradle (Java), npm / yarn (JavaScript), and pip/twine (Python), so it can easily be integrated into existing development workflows.

AWS CodeArtifact can be used for creating centralized repositories for sharing software packages approved for use across development teams. Its integration with AWS Identity and Access Management (IAM) enables access control. Its support for AWS CloudTrail provides visibility into which packages are in use and where they can easily be updated or removed.

Containerization made easy

Using containers to modernize existing apps make them portable, increases development agility, and reduces operational costs. The problem is that the process requires numerous manual tasks that are time-consuming, error-prone, and slow down modernization efforts.

That’s why we think another recently deployed AWS service will have a positive impact on the app development process. AWS App2Container is a command-line tool that helps containerize existing apps running on-premises, Amazon EC2, or other clouds with no code changes required.

App2Container discovers apps running on a server, identifies their dependencies, and generates relevant artifacts for seamless deployment to Amazon ECS and Amazon EKS. It also provides integration with AWS CodeBuild and AWS CodeDeploy for a repeatable way to build and deploy containerized applications.

AWS App2Container generates artifacts such as Dockerfiles, container images in Amazon Elastic Container Registry (ECR), ECS Task definitions, Kubernetes deployment YAML, templates to set up a build/release pipeline in AWS CodePipeline, and more.

It can also be used to containerize ASP.NET (.NET 3.5+) web apps running in IIS 7.5+ on Windows and Java apps running on Linux.

Code review and optimization

Another handy tool that debuted this summer is Amazon CodeGuru. Powered by machine learning, this set of tools automatically reviews code for bugs and suggests potential optimizations. It includes two components:

  • Amazon CodeGuru Profiler helps developers find an app’s most expensive lines of code and then recommends how to improve the code to save money.
  • Amazon CodeGuru Reviewer helps improve code quality by using machine learning to identify critical issues and hard-to-find bugs during development.

DIY development

One more recently released AWS service we want to mention is Amazon Honeycode. This one has the potential to be a big time-saver for customers. The fully managed, low-code/no-code development tool makes it easy for anyone to quickly build powerful mobile and web apps with no programming required.

Customers can use a simple visual app builder to create highly interactive web and mobile apps, backed by a robust AWS-built database to perform tasks like tracking data over time and notifying users of changes. They can get started creating apps in minutes and build applications for up to 20 users for free. After that, they pay per user and for the consumed storage capacity.

What’s next is what’s now

We want to convey the primary message that AWS is continually developing and deploying services that make app development easier and more cost-efficient.  You can put these new services to work to innovate more, get to market quicker, generate significant cost savings, and much more.

Vyacheslav Gorlov, the Senior Solutions Architect at cloud-native systems integration, strategic consulting, and application development company ClearScale, authored this article.

The views and opinions expressed in this article are those of the author and do not necessarily reflect those of CDOTrends. Image credit: iStockphoto/monstArrr_