Modeling: Yang & JSON
Languages: Java, .Net*, Node.Js, Python
Stateless and Stateful Services
Many built-in services: IAM, DBaaS, Logging as a Service...
Build Tool integrations: Ant, Maven, IVY...
Similiarly for run and Manage
Polyglot secure runtime
High throughput messaging bus
Built-in security for workloads and interactions
Support for federated clouds
Built-in container and kuberenets support
Service Registry for lookups & routing
API Gateway for interoperability
DevOps Console
Real-time Monitoring
Service social graphs for message correlation
Approval Injections
Aggregated Logs and Search
Auto scaling policies and built-in self governance
Programmable load balancers and HA proxy support
Macaw platform allows easy integration with source code and versioning management systems like Git, Bit Bucket, Subversion, etc. Macaw manages multiple environment deployment for the same code base using a configuration file also called ‘Blueprint’.
Macaw supports explicit dependency management solutions like Ivy, Maven, etc so that dependencies can be isolated and downloaded on demand at the time of containerization of the service.
Macaw Microservices developer uses service configuration files to store information like database, etc so that the details are managed outside the service codes. Macaw platform provides ‘Locker’ functionality which store sensitive and critical credentials to cloud systems, etc.
Macaw allows explicit storage of environment details in config files as explained in Factor 3, any change for example to a database server, etc can be easily done by modifying such config files and notify the impacted services.
Macaw platform follows clear separation of build, publish, deploy, run and manage services. Macaw can easily be integrated with CI/CD tools like Jenkins etc., to automate this process with required controls.
Macaw platform allows development of stateful and stateless microservices. Any Microservice developed using Macaw platform are stateless processes unless specifically modified at code level to make it stateful. Macaw internally uses Redis for any service level caching.
Macaw supports automatically handles port binding for most of the services and uses. At the same time, allows UI services binding to a port as part of argument while publishing the service.
Macaw has built in feature of auto scaling depending on demand or failure of any services. These are achieved using configuration files. Macaw also allows to manage any containerised solutions there by allowing Macaw features for the services not developed using Macaw.
Macaw Platform core strength is auto scaling as it allows start, stop and shutdown based on demand and configuration. The framework allows faster start-up times so that is ready to be used sooner than later. The framework is also designed to graceful shutting down of a service.
Keep development, staging and production as similar as possible. Development, Staging and Production deployment are managed through configuration and with containerization of services. Macaw Platform keeps development, staging and production as similar as possible.
Macaw has full support for logs including elastic search. It has in built logs analytics and reporting mechanism at cluster, instance, service and API levels. The in built SECA (Service Event Collection and Analytics) to provide end to end visibility, real time analytics into the health and performance of microservices.
Macaw has automated most of the tasks for governing microservices based applications. The platform comes with Macaw console, which provides diverse administrative, life-cycle, and manageable interfaces to various users. Some of the key features are administrative user management, creating tenants and environments, managing full life cycle of services / applications. At the same time, various analytics are represented visually pulled from top level to inside service level.
Purpose built for enterprise grade distributed cloud-native applications