Code Monkey home page Code Monkey logo

koupleless's Introduction

Coverage Status license Maven Central

Koupleless: Modular Development Framework and Serving Platform

English | 简体中文

Would you like your application to start in just 10 seconds, consuming only 20MB of memory? Have you encountered issues with large applications causing collaboration bottlenecks and low release efficiency? Are you struggling with the high resource and maintenance costs associated with numerous small applications? If you're facing these challenges, then Koupleless might be the solution you're looking for. Koupleless approaches application architecture from a modular perspective, offering an extremely low-cost solution to address pain points encountered throughout the entire lifecycle of application development, operation, and execution:

  1. Excessive application fragmentation leading to high machine and long-term maintenance costs
  2. Insufficient application fragmentation causing collaboration bottlenecks
  3. Lengthy application build, startup, and deployment times resulting in low iteration efficiency
  4. Severe fragmentation of SDK versions with high upgrade costs and long cycles
  5. High costs associated with building platforms and middle platforms, as well as difficulties in business asset precipitation and architectural constraints
  6. Long microservice chains leading to poor call performance
  7. High costs associated with microservice decomposition and evolution

How does Koupleless address these issues? Koupleless vertically and horizontally splits traditional applications, with the vertical split separating the base and the horizontal split separating multiple modules. The base shields modules from infrastructure concerns, while modules contain only the business-specific portion, enabling quick startup and insulating them from infrastructure concerns, allowing module developers to experience a Serverless-like environment. Koupleless thus evolves into a low-cost, Serverless solution by refining the granularity of development and operations while shielding infrastructure. For detailed explanations of the principles, please refer to the official website. Further detailed explanations of the principles are available on the official website.

image

The most important aspect is that Koupleless can assist existing applications in evolving into a modular development model at an extremely low cost, addressing the aforementioned issues and helping businesses reduce costs, increase efficiency, and enhance competitiveness.

The Advantages of Koupleless

Koupleless is a mature development framework and operational scheduling platform capability that has been refined internally within Ant Group for 5 years. Compared to traditional image-based application models, it offers approximately 10 times improvement in development, operations, and runtime calling. Summarized into 5 key features: Fast, Cost-efficient, Flexible deployment, Smooth evolution, and Production-scale validation.

image

Here are performance data comparing modular development and deployment with traditional image-based approaches for an actual production application.

image

What is a Module?

Modules utilize extreme sharing and isolation technologies, which enable hot deployment (updating online code without restarting the machine).

Isolation is achieved through ClassLoader class isolation based on SOFAArk and object isolation based on SpringBoot SpringContext.

Sharing is facilitated by class delegation loading based on SOFAArk and cross-SpringContext object lookup and invocation based on SpringBootManager.

So, in physical terms, a module can be considered as one ClassLoader + one SpringContext.

What is the Base?

The base is just a regular application, same with the original app (such as standard SpringBoot).

Quick start

Please check the official website Quick Start.

module_dev_and_deploy_1.mp4

Koupleless Components

image

Contributing

We appreciate anyone who contribute here together. Please scan the QR code to join the developer collaboration group.

IAM number QR code
DingTalk group (recommand) 24970018417 image
WeChat zzl_ing image

Long-term planning and our vision

We hope to further refine and open up these capabilities to be more extreme and applicable to a wider range of scenarios. Help more businesses solve application development problems, achieve cost reduction and efficiency improvement, and ultimately become an excellent research and development framework and solution for global green computing, achieving:

  1. Speed as you need
  2. Pay as you need
  3. Deploy as you need
  4. Evolution as you need
image

koupleless's People

Contributors

lvjing2 avatar lylingzhen avatar liu-657667 avatar yuanyuan2021 avatar codenoobking avatar tomorjm avatar charlie17li avatar gongjiu avatar gold300jin avatar sususama avatar yuanyuancin avatar qixiaobo avatar gaosaroma avatar dependabot[bot] avatar linwaiwai avatar tovihe avatar yuhaiqun19892019 avatar qq290584697 avatar lunarscave avatar zjulbj avatar hustchaya avatar zemingzhu avatar chenlei3641 avatar ujjboy avatar suntaiming avatar nmcmd avatar novoland avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.