Guidance for Utility Bill Processing on AWS
Unlock sustainability insights by converting public utility invoices into machine data
Overview
How it works
This architectural diagram illustrates a scalable approach to processing utility invoices into machine-readable data from binary image sources. This framework can be used to automate the extraction process, apply custom data transformations, and generate insights for sustainability reporting purposes.
Deploy with confidence
Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs.
Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Operational Excellence
This Guidance uses standard service metrics to monitor the health of individual pipeline components, such as Lambda function concurrency or error rate. In addition, Amazon CloudWatch metrics, alarms, and dashboards can be customized to monitor the operational health of this Guidance and notify operators of any faults.
Security
The resources deployed through this Guidance are safeguarded through the policies and principles of AWS Identity and Access Management (IAM). Least-privilege access and role-based access controls should be used to grant operators the necessary permissions to modify resources, such as deploying an updated stack through AWS CloudFormation.
Reliability
This Guidance uses infrastructure-as-code in an AWS Cloud Development Kit (CDK). These CDK stacks are deployed through CloudFormation for resilient change management that will automatically rollback if a fault is detected during deployment. In addition, by using loosely coupled dependencies like EventBridge rules, this Guidance can handle ingestion events from Amazon S3 and implement retries on downstream quota limits. These services enhance reliability through a decoupled, scalable, and serverless architecture, allowing for automatic scaling, reliable event processing, reduced operational overhead, and consistent, repeatable deployments through infrastructure-as-code.
Performance Efficiency
This Guidance is designed to scale in order to meet the processing requirements for utility invoices. It employs a queueing mechanism to regulate the rate at which invoices are processed. For customers with large, consistent inference workloads, they can request an increase to the Lambda concurrency limit and use the provisioned throughput model of Amazon Bedrock so that the application's performance needs are adequately addressed.
Cost Optimization
The selection of serverless technologies that can be configured with this Guidance reduces costs that are directly correlated to the number of invoices processed. For the storage of binary invoice documents, this Guidance uses the Amazon Simple Storage Service Intelligent-Tiering storage class or Amazon S3 Lifecycle configuration policies. These policies can lower the long-term storage costs or eliminate the long-term storage of documents entirely.
Sustainability
This Guidance uses Amazon S3 to store invoices, which represent the largest data type within the application. AWS customers have the ability to make minor adjustments to achieve their ideal data storage configuration by using Amazon S3 Intelligent Tiering or Amazon S3 Lifecycle policies, as outlined in the Cost Optimization section. Amazon S3 enables the optimization of data storage through energy-efficient tiers while also reducing the carbon footprint through the shared infrastructure and renewable energy usage.
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages