SUPERCONDACTOR BLOG

Meet SupercondActor: a high-tech platform that anyone can use

Why

If you want to build a modern corporate system implementing microservices architecture, if you want to make it scalable and reliable, easy to maintain and expand - you should take a look at Microsoft Azure Service Fabric.

If you don’t have access to Service Fabric experts, if your available skillset is limited to JavaScript/TypeScript, or if you want to take advantage of the cost efficiency and maturity of the Node.js development ecosystem - you should take a look at SupercondActor.

SupercondActor Business Platform is a distributed microservice orchestration system, simplifying operations and delivering new capabilities to Microsoft Azure Service Fabric.

After deploying SupercondActor to your Service Fabric cluster you gain the ability to manage practically unlimited number of microservices written in JavaScript or TypeScript. SupercondActor connects your services to underlying Service Fabric infrastructure, takes care of many scalability, reliability, and security details.

Azure Service Fabric is a mature, feature-rich microservices application platform, and today many Microsoft own cloud services run on Service Fabric, including Azure infrastructure and large-scale solutions like Azure SQL DB, Azure Cosmos DB, and Cortana.

SupercondActor Business Platform brings rather complex Service Fabric into the corporate software development mainstream.

What

SupercondActor allows you to focus on building features that add business value to your applications. From a simplest microservice with several lines of JavaScript to an enterprise system containing hundreds TypeScript applications, all kinds of business apps can be brought to hyper-scale with supreme performance and availability metrics.

Example App

Here is an example of a simple business application consisting of three microservices written in TypeScript and compiled to JavaScript.

SupercondActor Business Platform application example

In the diagram above, API Service receives calls from the Internet and sends messages to a Queue. Long-running Service subscribes to the Queue events acting as a message consumer - processes messages from the Queue and saves them into a Database. Scheduled Service running on a on a predefined schedule, retrieves data from the Database and sends messages through an external Email Server.

After Deployment

Here is what you get after deploying this application to the SupercondActor on a 5-node Azure Service Fabric cluster (by the way, the build and deployment process is very simple and can be completely automated):

SupercondActor Business Platform application deployed

Your application is isolated from the Internet by Azure Load Balancer and HTTPS Reverse Proxy, the application resides in a dedicated Virtual Network on a cluster of 5 virtual machines, backed by Azure Active Directory, Diagnostics, and Log Analytics workspace. Stateless API and Long-running Services are scaled to 5 instances each, providing high performance processing. Stateful Scheduled Service has 5 partitions, each in 3 replicas, enabling very reliable delivery of messages. To store secret passwords, connection strings, and other configuration parameters you have Azure Key Vault at your disposal. You can use Service Fabric Cluster Manager to manage your cluster infrastructure, and all your business services can be managed with interactive SupercondActor Platform Manager.

In addition to that, Service Fabric manages application lifecycle, allows side by side version deployment and upgrades, provides fast failover to secondary replicas, enables automatic scaling, cluster management, health monitoring and self-healing.

And all this you get by simply deploying your TypeScript or JavaScript application to the SupercondActor Business Platform.

How

In fact, SupercondActor does not limit developers to any particular way, style, or type of services they can create. The only thing you must do is to deploy the SupercondActor Business Platform package to your target Service Fabric cluster. How you write your business applications is up to you, though we do provide templates and scripts facilitating development and deployment of applications in a way familiar to any Node.js developer.

After Node.js application is tested and compiled into a JavaScript the resulting bundle should be packed together with service configuration files into a Code Package zip file, which will be uploaded to the SupercondActor cluster.

SupercondActor Business Platform code package

Code Package can be uploaded manually using SupercondActor Platform Manager, or via deployment automation script.

Behind the scenes SupercondActor interface layer connects JavaScript code to underlying infrastructure, opening full power of Azure and Service Fabric to be used by business microservices via simple JavaScript function calls.

One of the most powerful features of the SupercondActor Business Platform is the ability to create microservices dynamically at runtime. Any microservice can create other microservices or complete applications on the fly, enabling intelligent automated design of business applications.

Where

Everything you need to start using SupercondActor Business Platform can be downloaded from our GitHub repository https://github.com/SupercondActor.

The whole system can be deployed using a single script that creates Azure Service Fabric cluster, deploys SupercondActor Business Platform applications, and configures Active Directory authentication. There are scripts for SupercondActor deployment to remote or local development clusters, TypeScript project templates with webpack build and deployment scripts, business application examples, etc.

See detailed documentation at https://www.supercondactor.com/documentation

comments powered by Disqus