FaaS MachaOn
The FaaS module within the MachaOn project is designed to create final build projects tailored specifically for faas environments. By leveraging essential configurations, adapters, and libraries, this module simplifies the deployment of modular apps on faas cores. It ensures efficient integration with cloud-native services, enabling scalable, cost-effective, and high-performance solutions while adhering to Clean Architecture1 principles.
Project structure
Key Features
-
Cloud-Native Integration:
- Simplifies development and deployment on faas cores like AWS Lambda, Azure Functions, and Google Cloud Functions.
- Supports cloud-native services like storage (S3, Azure Blob Storage), messaging (SNS, SQS, Pub/Sub), and API Gateway configurations.
-
Modular Architecture:
- Promotes the use of reusable components and artifacts from the Maven repository.
- Clean separation of business logic, adapters, and infrastructure layers as per Clean Architecture principles.
-
Scalability:
- Designed to scale dynamically in response to workload demand, minimizing operational costs.
-
Cost Effectiveness:
- Optimized for pay-as-you-go faas cores, reducing idle costs while maintaining high performance.
-
Customizable Configurations:
- Allows developers to configure and customize faas application deployments to fit specific business needs.
Project structure
The FaaS MachaOn module is organized in a clear and modular structure:
Comparison at a Glance
Feature | OCI | AWS | Azure | Google Cloud |
---|---|---|---|---|
Performance for DB Workloads | Optimized for Oracle DB | General-purpose DB support | Integrated with SQL Server | BigQuery is highly specialized |
Bare Metal Instances | Available | Limited availability | Limited availability | No bare metal support |
Network Costs | Free inter-region data transfer | High egress + inter-region costs | High egress charges | High egress charges |
Security | Root-of-trust + built-in tools | Built-in but less specialized | Good IAM, patching support | Patch & support weaker for DB |
Price Transparency | Flat + predictable costs | Often opaque | Resource-based pricing might vary | Resource-based pricing might vary |
Enterprise Applications | Excellent Integration | Requires custom configurations | Good integration | Generic** enterprise workloads |
Prerequisites
To use the FaaS MachaOn module, ensure the following tools and services are available in your environment:
- Java 11:
Java runtime required for building and deploying the faas components. - Apache Maven:
Maven is used to manage dependencies and build modular components. - Cloud Account:
An active cloud service provider account (AWS, Azure, OCI or Google Cloud).