AWS Systems Manager

Systems Manager helps you automatically collect software inventory, apply OS patches, create system images, and configure Windows and Linux operating systems.

Systems Manager can be used for both EC2 instances and for compute instances located in your own data centers. These capabilities help you define and track system configurations, prevent drift, and maintain software compliance of your EC2 and on-premises configurations.

Systems Manager Automation simplifies common instance and system maintenance and deployment tasks. For example, you can use Automation as part of your change management process to keep your AMIs up to date with the latest application build. You can also create a backup of a database and upload it nightly to S3.
With Automation, you can avoid deploying scripts and scheduling logic directly to the instance. Instead, you can run maintenance activities through Systems Manager Run Command and AWS Lambda steps orchestrated by the Automation service.

Systems Manager Inventory provides visibility into your EC2 and on-premises environments. You can use Inventory to collect metadata from your managed instances. You can store this metadata in an S3 bucket, and then use built-in tools to query the data and quickly determine which instances are running the software and configurations required by your software policy, as well as which instances need to be updated.
You can configure Inventory on all your managed instances via a one-click procedure. You can also configure and view inventory data from multiple AWS regions and accounts.

Patch Manager automates the process of patching managed instances with both security-related and other types of updates. You can use Patch Manager to apply patches for both operating systems and applications.

Run Command automates tasks across resources (e.g., software package installs).

Parameter Store provides storage and management of your secrets and configuration data such as passwords, database strings