Frappe framework: Full Stack Low code platform

frappe

Frappe framework is a low code, open source, web framework in Python and Javascript for the 21st century. Frame framework eliminates 97.42% effort in developing software. The framework comes with almost everything you need to build a modern web application. It has a full blown Admin UI called the Desk which handles forms, navigation, lists, menus, permissions, file attachment and more


Frappe manages the application including:

● Metadata
● Database operations (CRUD)
● Controllers
● Web Workers and Job Workers
● Views
● Admin UI (Desk)
● Portal UI
● Reports and Prints
● REST API
● Communication (Email/SMS etc)


Frappe Framework uses the following services for running the application:


● MariaDB (database)
● Frappe Framework (Python) (web framework)
● Redis (cache + queue)
● NodeJS (socketio)
● File Server
● NGINX (Web Proxy)
● Supervisord + Gunicorn (process manager)

Bench and architecture


frappe

Frappe framework benefits


Frappe was built to power our flagship product ERPNext. The core philosophy at Frappe is to write as little code as possible. Frappe Framework powers mission critical products for large businesses. Customers use the Frappe framework for building internal apps as well as full stack customer facing SaaS applications. It comes with following benefits


Rapid Application Development

After setting up Frappe Framework, you can be productive in no time. Creating models, wiring controller code and updating views are all handled by the framework.


Frequently used components in building B2B softwares

Anything that might be needed by a modern web application is probably built into the framework already. PDF generation, Emails, SMS, Web Pages you name it. If there is something missing in Frappe Framework, we might already be working on it right now.


Easy Deployment

Bench is the all-in-one tool to manage all things Frappe. It handles app updates, database migrations, generating configs for nginx and supervisor, scaffolding new apps and much more.


Multi Tenant

Bench supports multi-tenancy out of the box. It means you can spin up multiple instances of apps with separate databases on the same codebase. It also supports port-based multi-tenancy where you can set up multiple bench environments for different versions of apps.


Extensible architecture

Build powerful extensions on top of Frappe by creating your own apps. Apps can bring their own models or modify existing ones in Frappe.


Frappe Cloud

Frappe Cloud (frappecloud.com) makes it easy to host Frappe Apps like ERPNext with a modern dashboard, analytics, and predictable pricing. Frappe Cloud is powered by AWS frappe-cloud


Why Frappe Cloud

Frappe Cloud offers reliable, scalable and secure cloud hosting for Frappe and ERPNext Enterprise Plus applications.


Features

  • 1. Dedicated Server: Setup, configure and manage a server with analytics, notifications etc.
  • 2. Private benches: Run multiple version sites on the same server
  • 3. Site management: Add, drop sites, manage upgrades, backups
  • 4. Reporting: Resource utilization, Access logs, Database logs
  • 5. Support: SLA based support for sites and servers managed by Frappe Cloud

  • Reliability

  • 1. 99.97% Uptime: Ensures a high level of availability with 99.9% uptime, minimizing potential disruptions and downtime for users
  • 2. Backup and recovery: Offers a user-friendly mechanism for backup and recovery for both application and database servers
  • 3. Notifications: Proactive alarms for key metrics such as CPU, memory, diskspace, utilization, VM management, resource starvation
  • 4. Managed upgrades: Tool for managing deployments and upgrades with automated recovery.
  • 5. Logs and analytics: Provides in-depth analytics on downtime events, helping businesses understand patterns, identify bottlenecks, and optimize operations

  • Security

  • 1. Virtual Private Cloud: Creates a secure and isolated virtual network environment, allowing businesses to deploy resources with enhanced privacy and control over their cloud infrastructure
  • 2. Dedicated servers with VPN: Ensures data privacy and confidentiality by establishing encrypted and secure connections over the internet, enabling safe communication and remote access to private networks
  • 3. Access Controls: Team based access to specific sites and key based SSH access to private servers
  • 4. Traffic and log monitoring: Helps you monitor and do forensic analysis of security incidents
  • 5. Security assessment (ISO27001): We do regular security assessment and certification including ISO 27001 and third party VAPT. You will be among the first to know any newly discovered vulnerabilities

  • Scalability

  • 1. Database analysis: Access to slow query logs and other database analytics
  • 2. Dynamic resource allocation: Dynamically resize your servers based on your need

  • Architecture


    Typical Frappe Cloud (FC) cluster has a similar architecture:

    FC-Cluster

    A more complex architecture would explain the redundancy for each server along with the network cluster.


    Components

  • 1. Proxy Server: Cluster level reverse-proxy (NGINX, Reverse SSH proxy and ProxySQL)
  • 2. Application (Frappe) Server:Runs Frappe containers
  • 3. Database Server: Runs MariaDB
  • 4. Log Server: Centralized logging (ElasticSearch + Kibana)
  • 5. Monitoring Server: Preconfigured monitoring dashboard and alerts (Prometheus + Alertmanager + Grafana)

  • Benefits over self hosted


    Benefits Self Hosted Frappe Cloud
    Easy Deployment Install and deploy with Linux Shell UI based containerised deployments
    Automated Upgrades to Frappe Apps No Yes, easy and assisted upgrades
    Automated Backup and recovery No, Manual and error prone Automated backups and recovery
    Automated Logs and monitoring Manual configuration Automated and always on
    Centralized database for multi-tenant deployments No Yes
    Centralized access control No Yes, Team level permissions and key based SSH access control
    Best practices and pre-configures DevOps You setup your own devops practices Preconfigured best practices

    Your Website Title