The primary goal of technical writing is to provide useful and necessary information.
Technical Writing by Brian Lange
Better

Better

ORIGINAL:
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic.

BETTER:
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud. By using Amazon EC2, you avoid having to invest in hardware up front, so you can develop and deploy applications faster. Amazon EC2 allows you to launch as many or as few virtual servers as you need, and those servers can be configured to automatically scale up and down to handle changes in requirements and spikes in popularity, reducing your need to forecast traffic.

EXPLANATION:
The language changes here are a preference and not absolutely necessary. The phrase “you avoid having to invest in hardware up front” is more straightforward than “eliminates your need to invest in hardware up front,” but both phrases work. The structural changes are more necessary; they are made to emphasize that autoscaling is what allows your compute capacity to scale. Without this change there is nothing clear to reader as to why the ability to scale up or down would reduce “your need to forecast traffic.” After all, you can manually scale EC2 instances but doing so would not affect the need to predict traffic. Lastly, it is more appropriate to use “scale up and down” than “scale up or down.” The sentence is about general functionality not a specific instance in time, which means that “and” should be used.

ORIGINAL:
When importing your customer data, you’ll need to specify each customer’s unique identifier, also known as external_id. Before starting your CSV import it’s important to understand from your engineering team how users will be identified in ABC. Typically this would be a database ID used internally. This should align with how users will be identified by the ABC SDK on mobile and web, and ensures that each customer will have a single user profile within ABC across their devices. Read more about ABC’s user profile lifecycle.

BETTER:
Before you start importing customer data into ABC, you must determine how your customers will be identified within ABC. This unique identifier, known as external_id, must be associated with each customer record in ABC and its value must be included in the imports you perform. Typically, the value used to populate external_id corresponds with a database ID in your internal database. The external_id is used by the ABC SDK to identify your customers on mobile and web, ensuring that each customer has a single ABC user profile across devices. For more information, see ABC’s user profile lifecycle. 

Important:
Consult with your engineering team if you are uncertain about which internal database field should be used to populate external_id in ABC.

EXPLANATION:
The second sentence should really be the first. The phrase “Typically this would” should be “Typically this will.” However, I reorganized the sentence so this is not relevant. Use “See” instead of “Read.” I created an “Important Note” to add the sentence about consulting an engineering team.

ORIGINAL:
To use Object Lock, you must enable it for a bucket. You can also optionally configure a default retention mode and period that applies to new objects that are placed in the bucket.
BETTER:
To use Object Lock, you must enable it for a bucket. You also have the option of configuring a default retention mode and period that applies to new objects that are placed in the bucket.

EXPLANATION:
“Optionally configure” is awkward. “You also have the option of configuring…” is a little better than “Optionally, you can configure….”

ORIGINAL:
Amazon EFS supports the Network File System version 4 (NFSv4.1 and NFSv4.0) protocol, so the applications and tools that you use today work seamlessly with Amazon EFS. Multiple compute instances, including Amazon EC2, Amazon ECS, and AWS Lambda, can access an Amazon EFS file system at the same time, providing a common data source for workloads and applications running on more than one compute instance or server.

BETTER:
Amazon EFS supports the Network File System version 4 (NFSv4.1 and NFSv4.0) protocol, so the applications and tools that you use today work seamlessly with Amazon EFS. Multiple compute instances, including Amazon EC2, Amazon ECS, and AWS Lambda, can access an Amazon EFS file system at the same time, thereby providing a common data source for workloads and applications that run on more than one compute instance or server.

EXPLANATION:
Starting the last sentence fragment with “providing” is a little awkward. Using the word “thereby” (as a result of that) makes the sentence smoother and simpler to read. I also changed “running” to “that run” because the present participle is being used with “providing”

ORIGINAL:
Amazon Elastic File System (Amazon EFS) provides a simple, serverless, set-and-forget elastic file system for use with AWSCloud services and on-premises resources. It is built to scale on demand to petabytes without disrupting applications, growing and shrinking automatically as you add and remove files, eliminating the need to provision and manage capacity to accommodate growth. Amazon EFS has a simple web services interface that allows you to create and configure file systems quickly and easily. The service manages all the file storage infrastructure for you, meaning that you can avoid the complexity of deploying, patching, and maintaining complex file system configurations.

BETTER:
Amazon Elastic File System (Amazon EFS) provides a simple, serverless, set-and-forget elastic file system for use with AWSCloud services and on-premises resources. It is built to scale on demand to petabytes without disrupting applications, growing and shrinking automatically as you add and remove files, eliminating the need to provision and manage capacity to accommodate growth. Amazon EFS has a simple web services interface that allows you to create and configure file systems quickly and easily. The service manages the entire file storage infrastructure for you, which means you can avoid having to perform complex and time-consuming tasks that are required to deploy, patch, and maintain complex file system configurations.

EXPLANATION:
The phrase “the entire file storage infrastructure” is a little better than “all the file storage infrastructure”
The original paragraph is technically fine but it’s best to use simple language when possible. The phrase “complexity of deploying, patching…” can be written more simply.

ORIGINAL:

Enable to allow admins access to Administration > Advanced Settings. Depending on how you’ve configured the Policy Access permission above, admins might have restricted access to Advanced Settings.

BETTER:

Enabling this feature allows admins to access Administration > Advanced Settings. An admin may have restricted access to Advanced Settings which is determined by how you configured the Policy Access permission.

EXPLANATION:

This is an example of where using the plural results in an incorrect statement. “Admins might have restricted access” is incorrect because the Policy Access permission only pertain to a single admin.

ORIGINAL:

The role admins are assigned dictates the level of access they have to the ABC Cloud Connector Portal. 

BETTER:

The role an admin is assigned determines the level of access to the ABC Cloud Portal.

ORGINAL:

Containerization allows developers to create and deploy applications faster and more securely. With traditional methods, code is developed in a specific computing environment which, when transferred to a new location, often results in bugs and errors. For example, when a developer transfers code from a desktop computer to a virtual machine (VM) or from a Linux to a Windows operating system. Containerization eliminates this problem by bundling the application code together with the related configuration files, libraries, and dependencies required for it to run. This single package of software or “container” is abstracted away from the host operating system, and hence, it stands alone and becomes portable—able to run across any platform or cloud, free of issues.

BETTER:

Containerization lets developers create and deploy applications faster and more securely. With traditional methods, code is developed in a specific computing environment and then transferred to a new location, which often results in bugs and errors due to the change in environments. For example, issues can arise when a developer transfers code from a desktop computer to a virtual machine (VM) or from a Linux to a Windows operating system. Containerization eliminates these problems by bundling the application code together with the related configuration files, libraries, and dependencies required for it to run. Containerization produces a single package of software, known as a container, that is abstracted away from the host operating system. This package stands alone, is portable, and can be run on any platform or cloud infrastructure.

EXPLANATION:

ORIGINAL:

Virtualization allows better utilization of resources in a physical server and allows better scalability because an application can be added or updated easily, reduces hardware costs, and much more. With virtualization you can present a set of physical resources as a cluster of disposable virtual machines.

BETTER:

With virtualization, resources in a physical server can be better utilized and these resources can be treated as a cluster of disposable virtual machines.  Applications can be easily added or updated, making scalability possible, reducing hardware costs, as well as providing other benefits.

ORIGINAL:
Early on, organizations ran applications on physical servers. There was no way to define resource boundaries for applications in a physical server, and this caused resource allocation issues. For example, if multiple applications run on a physical server, there can be instances where one application would take up most of the resources, and as a result, the other applications would underperform. A solution for this would be to run each application on a different physical server. But this did not scale as resources were underutilized, and it was expensive for organizations to maintain many physical servers.

BETTER:
In the past, applications were run on physical servers and there was no mechanism to define resource boundaries for those applications.  The inability to define resource boundaries meant that problems with resource allocation were common.  Resource allocation becomes an issue when multiple applications run on the same physical server and one application acquires the majority of available resources, causing the other application to underperform. Running each application on a separate physical server eliminates issues with resource allocation; however, this solution is expensive and does not scale effectively due to resources being underutilized.


ORIGINAL:
A principal must be authenticated (signed in to AWS) using their credentials to send a request to AWS. Some services, such as Amazon S3 and AWS STS, allow a few requests from anonymous users. However, they are the exception to the rule.

BETTER:
A principal must be authenticated (singed in to AWS) in order to send requests to AWS. Some services, such as Amazon S3 and AWS STS, allow certain types of requests from anonymous users. However, these unauthenticated requests are the exception to the rule.

EXPLANATION:
The phrase “using their credentials” is unnecessary, especially when the parenthetical phrase “signed in to AWS” is included.
This is an instance where the plural “requests” should be used rather than the singular. The phrase “few requests” is awkward because it could be interpreted as a small number of requests are allowed to be submitted anonymously.

Azure App Service enables you to build and host web apps

Better: Azure App Service lets you build and host web apps

App Service documentation

Better: What is App Service?

You can develop in your favorite language, be it .NET, .NET Core, Java, Ruby, Node.js, PHP, or Python.

Better: You can develop in one of these languages: NET, .NET Core, Java, Ruby, Node.js, PHP, or Python.

Applications run and scale with ease on both Windows and Linux-based environments.

Better: Applications run and scale on Windows and Linux-based environments.

Explanation: Don’t use marketing terms like “ease.”Marketing words are not necessary for the reader who is a developer.

This introduction to Amazon Simple Storage Service (Amazon S3) provides a detailed summary of this web service.

Better: This introduction to Amazon Simple Storage Service (Amazon S3) provides a detailed summary of the web service.

This guide describes how you send requests to create buckets, store and retrieve your objects, and manage permissions on your resources.

Better: This guide describes how you send requests to create buckets, store and retrieve your objects, and manage permissions for your resources.

The authentication process verifies the identity of a user who is trying to access Amazon Web Services (AWS).

Better: The authentication process tests the validity of a user who is trying to access Amazon Web Services (AWS).

You can configure buckets so that they are created in a specific AWS Region.

Better: When you configure a S3 bucket, you can specify the AWS Region it is created in.

With minimal configuration, the AWS CLI enables you to start running commands that implement functionality equivalent to that provided by the browser-based AWS Management Console from the command prompt in your terminal program:

Better: With minimal configuration, the AWS CLI allows you to run commands from the command prompt in your terminal. These commands implement functionality that is equivalent to that provided by the browser-based AWS Management Console.

The AWS Command Line Interface (AWS CLI) is an open source tool that enables you to interact with AWS services using commands in your command-line shell. With minimal configuration, the AWS CLI enables you to start running commands that implement functionality equivalent to that provided by the browser-based AWS Management Console from the command prompt in your terminal program:

Better: The AWS Command Line Interface (AWS CLI) is an open source tool that allows you to utilize AWS services from your command-line shell. With minimal configuration, the AWS CLI lets you run commands that implement functionality equivalent to that provided by the browser-based AWS Management Console.

AWS uses a pay-as-you-go service model. You are charged only for the services that you—or your applications—use.

Better:
AWS uses a pay-as-you-go service model. You are charged only for the services that you and your applications use.

For a scalable web application that also includes a back-end database

Better: For a scalable web application that includes a back-end database

Normally, you might use each individual service to provision these resources.

Better: Normally, you would use each individual service to provision these resources.

In some cases, you might have underlying resources that you want to upgrade incrementally. 

Better: In some cases, you will have underlying resources that you want to upgrade incrementally.

Explanation: The word “might” here is unnecessary and somewhat awkward because the phrase “In some cases” is being used.

Current:
AWS Health provides ongoing visibility into your resource performance and the availability of your AWS services and accounts.

Better: AWS Health provides continuous visibility into the performance and availability of your AWS services and accounts.