Skip to content

Latest commit

 

History

History
124 lines (98 loc) · 9.82 KB

File metadata and controls

124 lines (98 loc) · 9.82 KB

The Architecture for a Serverless Web

The Kitsune application development toolkit is an open-source suite of web development, content management, and serverless deployment tools, which enable web developers to build full stack serverless / cloud-native applications without having to learn how to program, configure or deploy cloud components. Our aim is to simplify cloud application development by enabling developers focus on the user experience and business logic, and not worry about the cloud architecture.

The application architecture generated by kitsune uses serverless / native cloud components or containers, enabling applications built with kitsune to be infinitely scalable and cost effective.

The toolkit has all the modules required to build end to end applications with kitsune. This is the same stack avaialble under kitsune's managed hosting environment for developers to quickly learn how to build applications with kitsune. Once comfortable with the experience, feel free to explore the optimizations continuously built and updated on our managed hosting environment, which offer you the ability to get up and running live with your project in a few minutes.

Features

  • Open Source
  • Cloud Agnostic
  • Enterprise Ready
  • Support for Hybrid and Multi cloud architectures
  • Extensible Language Components! (Including reports, seo, payments, and more)

Installation

  • Get the entire toolkit by cloning this repository
    > git clone https://github.com/GetKitsune/application-development-kit.git
  • That's all! Based on your requirement, build any module under the root, or try our live environment, both of which work very nicely with each other, providing a seamless experience.

The application-development-kit

The following modules are part of our toolkit:

kitsune Module Description Live Environment
Dashboard An enterprise ready dashboard which enables developers and teams to Build, Manage and Deploy their cloud-native applications. https://dashboard.kitsune.tools
IDE A browser based IDE, optimised for developing full stack cloud-native apps with kitsune. https://ide.kitsune.tools
App Services A suite of micro-services (like the compiler, publishing service, code optimiser, storage manager etc) that enable various aspects of application development & deployment in kitsune. https://api2.kitsune.tools

Table of Contents

  1. About kitsune
  2. Repository
  3. License
  4. Acknowledgements

About

A serverless future

Today 95% of applications on cloud are still deployed on server / IaaS components of public and private cloud. Our belief is that over the new few years the trend will shift towards cloud-native / serverless archiectures. With the adoption of smart devices amongst customers and a globally connected world, the need for applications to scale realtime is a reality.

Serverless Web Applications and UX Developers

kitsune framework is designed for applications that run on a browser - web applications. The most important feature of the framework is that it enables UX developers to use a html-based kitsune syntax to build any kind of full stack static/dynamic web application. The HTML-based declarative syntax of makes it extremely easy for UX engineers to get started. The kitsune compiler automatically converts the code into a serverless architecture for the target cloud. So as UX developers you do not have to spend time learning about multiple cloud providers & their components - with kitsune you get to focus on actual application logic and not the infrastructure logic.

kitsune is proven to be the fastest way to build serverless web applications on any cloud provider.

Security & Compliance

kitsune compiler can be easily customised to align to an enterprise SDLC process, data and other security policies. For example, as a finance company, you might want to ensure that all applications being built in your organisation have the database on your private data-centres where as the compute can be scaled on cloud. Or as a organisation you might want all your applications to be scaled on multiple cloud providers to increase reliability. In such scenarios, creating and implementing right architecture constraints across multiple teams becomes a challenge. For such organisations, you just need to customise the kitsune compiler with the right environment constraints (example, use on-prem for storage and compute on cloud etc) and then all the teams who use kitsune to build the applications - need not worry about the compliance.

kitsune is the most optimal framework for large enterprises who want to implement a secure and compliant cloud native culture across all teams.

NOTE: The kitsune application runtime has no browser footprint. No application logic (written in kitsune's language) is emitted in the output, this makes any downstream integrations (using k-script) absolutely secure.

Repository

Structure

Note: Currently this single repository contains all the modules of the kitsune application-development-kit. As the project matures, it would be split into appropriate individual repositories.

.
├── Dashboard             # kit dashboard project. Built with VueJS
├── IDE                   # kit IDE project, built with React
├── KAdmin                # CMS (for managing dynamic data properties of an application). Built with VueJS
├── KitsuneServer         # App Services projects. Built with C#
├── Optimiser             # kit code optimiser project. Built with Python
├── PublishService        # PublishService enables to publish applications to your cloud account. Built with Python.
└── Routing               # Routing-tree creator and manager. Built with GO

kitsune Dashboard

The dashboard enables development teams to build and manage multiple serverless applications in one single place.

You can experience the hosted version of the dashboard - https://dashboard.kitsune.tools

kitsune IDE

This a browser based IDE which has the provides the best tools to build a full stack serverless web application with kitsune.

You can experience the hosted version of the IDE - https://ide.kitsune.tools

kitsune App-Services

A suite of micro-services that enable various aspects of application development & deployment in kitsune. It includes the following projects:

  • kitsuneServer This contains the compiler (lexical parser, syntax parser, IL code generator), k-string (AI based content summarisation) handler, existing application crawl service, DNS validator and application Build service.
  • Optimiser This module takes care of the load time optimisation of the application. For web applications, it automatically identifies the static assets (like .js, .css, .jpg, .png etc) and creates a compressed and minified version. Optimiser also maintains the version of each file so that as a developer you do not have to worry about cache invalidation etc when you publish a new version of your application.
  • Routing This module is responsible to build a route-tree, each time a project is built. Routing module creates a unique regex tree for every kitsune projects and ensures that no two path lead to the same asset. This ensures that any potential URL conflict is identified during the Build process itself.
  • PublishService This module is responsible to deploy your application to the selected infrastructure provider.
  • KAdmin When you build a new dynamic web application with kitsune, the framework enables a CMS (<your_project_url>/k-admin) to manage the dynamic properties of the application. This enables developers to quickly test multiple scenarios by entering test data into the database via the CMS.

Application Development Process with kitsune

  1. Import your design/html files into a kitsune project. Each html file representing a user-view of your application.
  2. Create/Import your data-model (the dynamic properties of your application)
  3. Use the kitsune's declarative syntax to map the properties and the business logic on to the html files.
  4. As you write your application logic with kitsune, you can Build the project and check/review the serverless architecture built for your application.
  5. You can also enter test data against the data-model using the k-admin
  6. Once your application development and testing is complete, you can publish your application to the appropriate cloud infrastructure of your choice.

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Acknowledgements

kitsune is an initiative by NowFloats Technologies Pvt. Ltd. The aim behind this initiative is to jump start organisations who today do not have the cloud genes, to a cloud native culture - with ease.