By Vyacheslav Gorlov, ClearScale
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.
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 percent better price/performance over comparable current-generation x86-based instances.
They also offer 50 percent 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, as well as for 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) as well as 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 percent faster per core encryption performance to further enhance security.
Many 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.
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 also can 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.
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 powerful 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
The primary message we want to convey is 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.
About The Author
Vyacheslav Gorlov is the Senior Solutions Architect at ClearScale, a cloud-native systems integration, strategic consulting, and application development company.