How Bubble hosting works
This section explores how Bubble hosting works and what kind of services you get with the hosting
Whenever you access the Bubble editor or load a page within your app, there is an active interaction between the device being used and the Bubble server. Here, the Bubble software, often referred to as Bubble's proprietary "engine," diligently operates, to keep the editor and the app running.
The Bubble engine connects a range of services with one goal in common: to make it possible for a single developer with no programming experience to design, develop, deploy and maintain a fully functioning web application.
Bubble's engine works predominantly to connect all the different services that Bubble offers to the user's device and maintain communication between them.
You can see Bubble's engine as consisting of two modules: one on the server, and the other on the local device of the user. This is true both for you as a developer when you use the Bubble editor, and for users who visit your app.
The local engine consists of a collection of files that are downloaded to the browser when a page or the editor is loaded, and it establishes a connection with its twin engine on the server to operate.
Every app that you create comes with two ready-to-use databases (one for Development and one for Live). Bubble has automated most of the processes that usually require a dedicated person or team to operate, such as:
- Database Setup: Bubble automatically creates and configures the databases (Development and Live) when you start a new app. You don't need to worry about any setup or maintenance tasks.
- Schema Management: You can define your app's data structure visually. You don't have to write SQL queries or manage database schema manually as this is managed automatically.
- Backups: Point-in-time backups are created continuously for any change in the Development and Live database individually.
- Restoring backups: You can also restore one or all data types to any point in time
- Security: We provide tools to manage the security aspects of the database, including automated encryption and managing user access with privacy rules. We use AWS RDS’s AES-256 encryption to encrypt data at rest. You can see for yourself the encryption we use for data in transit.
- Data Manipulation: With Bubble's visual programming model, you can manipulate data (Create, Read, Update, Delete operations) without writing code. Bubble automates the process of generating the necessary commands to perform these operations on the database.
- Uptime: we continually scan for any downtime and have both automated processes and dedicated teams that ensure a 99.93 % uptime
- Data API: a direct, secure API connection that gives controlled access to read and make changes to your database can be enabled with just a few clicks
The easy communication with the database is facilitated by the two engines constantly communicating.
Bubble has completely automated the backup process, making sure that you can easily restore your app to an earlier point in time with just a few clicks:
- App development: every change you make to your app is logged so that you can not only undo changes, but you can create named save points or restore the app to an earlier point in time.
- Version control: Bubble also lets you easily create different branches where you can work on separate parts of the app in isolation to make it easy to manage teamwork, feature development and hotfixes
- Database: the same point-in-time backups are automatically handled for both the Development and Live database individually
Every process performed by the Bubble engine is logged and searchable, meaning you can track what operations have taken place and navigate to the exact workflow where the process took place. The logs also give you a full overview of the user and parameters associated with each action.
Uploading and using files is fully automated and secure, allowing you to work with files that can be kept private to each user. Files are hosted on the endpoint
An essential feature of high-performing web applications is the implementation of a Content Delivery Network, or CDN. A CDN is a system that distributes copies of your data and content across a network of servers located around the globe, ensuring fast accessibility regardless of a user's geographical location. Each Bubble app is integrated with Cloudflare, a leading provider of web infrastructure services. This integration not only ensures rapid delivery of files worldwide but also bolsters your app's security against potential threats and cyberattacks.
Bubble's engine also offers an easy way to set up APIs:
- The Data API allows external apps to connect securely to your databases to read and make changes to it
- The Workflow API allows external apps to trigger workflows in your app.
Bubble's servers are hosted on Amazon Web Services (AWS), a leading cloud services platform known for its robust security and scalability. Bubble uses many of the services that AWS offers to run the editor and apps, which means they are regularly audited by independent third parties and continually tested and optimized as a result of being used by millions of other software systems outside of the Bubble sphere.
The security aspect is taken care of by AWS's comprehensive set of security tools and best practices. They have multiple layers of operational and physical security to ensure the integrity and safety of data. This includes features like keeping data centers safe from physical harm (such as natural disasters, power failures and overheating), data encryption, network firewalls, and secure access controls.
Amazon AWS is compliant with certifications such as SOC 2, CSA, ISO 27001, and more.
Since Bubble operates on its proprietary engine, which is consistently maintained and updated, the migration of your app away from Bubble's hosting is not possible. However, Bubble does provide an alternative in the form of a dedicated server environment, enabling you to have a secluded and more adjustable server control as well as a static IP. You can read more about this in our article series on the Enterprise plan. We recommending getting in touch with our Sales team to discuss the possibility of setting up a dedicated environment.
Bubble's shared server environment is hosted in the US, and we don't currently offer the possibility of changing that location. Our Enterprise plan, on the other hand, lets you choose the AWS region where you want your app to be hosted. We recommending getting in touch with our Sales team to discuss the possibility of setting up a dedicated environment.