Updated: Jun 23, 2021
We have set out to build an intuitive platform to help developers build, modify, deploy, and monitor applications that integrate less code with higher quality at a lower cost.
Enterprise applications are using an increasing number of external APIs and services for building both internal tools and new digital products. While cloud platforms such as AWS, Azure, GCP provide all the components and the computing power, development teams are writing supplementary code to utilize these components to cultivate business applications and internal tools.
As the number of companies building hardware devices increase, data collection on usage, and the ability to reorganize business processes becomes critical to successfully launch digital products and services with new features.
Our primary goal is to make it easy for development teams to reduce, reuse, automate, or eliminate code without sacrificing time and quality as well as minimizing the cost of building applications.
Starting point - Node-Red.
Node-Red is a programming tool for wiring together hardware devices, APIs, and online services in new and interesting ways. It's a visual programming interface and light-weight runtime built on Node.js, an event-driven non-blocking model that makes it ideal to run at the edge of the network in the cloud as well as on low-cost hardware such as the Raspberry Pi. [read more]
It was open-sourced in September 2013 and has been developed in the open ever since, culminating in it being one of the founding projects of the JS Foundation in October 2016.
Krysp - A low-code SaaS platform
Taking Node-Red's success in the hardware/embedded community and its capability to support enterprise integrations we had built a cloud service to simplify application development and integrations with low-code, higher quality, and lower cost.
Krysp platform is built on AWS and uses several of its cloud services to provide a seamless experience to a low-code development environment.
Virtualization. Not Multi-tenancy
Krysp is built on virtualization and does not share any resources such as databases, and file systems between environments. However, each environment can be shared by multiple users. This model lends itself well to enterprises with multiple users accessing the platform without sharing any resources with other user environments.
Each user environment is created as an isolated virtualized container. No databases or file systems are shared between environments. Resources accessed by a container are protected by user authentication.
Cloud platforms provide the capability to initialize and destroy resources (database, filesystem, message queueing, etc..) easy and fast, hence sharing a single resource between multi-tenants is no longer necessary.
Krysp uses Kubernetes for creating, updating, scaling, and managing containerized user environments.
Signup and Authentication
Signup, authentication, and user profile management are implemented as an external application. User login information is validated by this application and redirected to the appropriate Node-Red environment which validates auth tokens to allow access.
Krysp uses AWS Cognito service for authentication and authorization. Cognito provides security at the application level and the container level. User token validation by Node-Red is implemented as an extension.
Cognito provides secure user sign-up, sign-in, and access control to resources that are critical for a SaaS platform that supports authenticating with Google and other authentication providers for quick and easy access to the platform.
Application Usage Metrics and Analytics
Node-Red flow executions are stored in an elastic search cluster that provides application-level metrics to the user.
Node-Red is extended to add a new module that collects and stores flow execution details.
Each user flow execution is logged and the visualization graphs provide insights into flow execution metrics. Flow execution data is stored in elastic search and the metric dashboards are embedded into the billing/plan details section of the user portal.
System Performance & Alerts
System metrics provide visualizations of system resource usage like CPU, Memory, Network bandwidth, etc.
Each Krysp user environment, running in a virtualized container, is set up with system performance collectors to collect key performance metrics and alert users if the resource usage reaches a critical threshold.
Kubernetes cluster is setup with Prometheus, an open-source metrics, alerts, and monitoring solution. Coupled with Grafana, an open observability platform, is embedded in the user portal to provide users with system resource usage and alerts.
Usage - Plan & Billing
Application & System usage metrics help users pick the right usage plan that is appropriate for their applications.
Resource usage depends on the applications and integration rules required for a business process and changes as new flows are developed.
A shared workspace allows users to explore platform features, evaluate capabilities that help them build new applications, features, and integrations easily.
Playground is a full-featured Node-Red environment that users can explore pre-built flows that demonstrate the ease of use and features to quickly build and deploy applications with little or no code.
Get Started and build your new application or integration faster and with higher quality.