{"id":2388,"date":"2023-03-09T14:50:44","date_gmt":"2023-03-09T22:50:44","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/"},"modified":"2023-03-09T14:50:44","modified_gmt":"2023-03-09T22:50:44","slug":"data-sync-capella-app-services-and-mobile","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/data-sync-capella-app-services-and-mobile\/","title":{"rendered":"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.couchbase.com\/products\/capella\/app-services\/\" target=\"_blank\" rel=\"noopener\"><span>Capella App Services<\/span><\/a><span> is a fully managed cloud backend for your mobile, desktop and IoT frontend applications. On the other end of the spectrum, the paradigm of <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/edge-computing-for-100-uptime\/\" target=\"_blank\" rel=\"noopener\"><span>\u201cEdge Computing\u201d<\/span><\/a><span> has gained a lot of traction in recent years. Edge Computing is a distributed computing topology that aims to bring compute and storage closer to the edge, which is essentially the location where data is generated and consumed. Applications running at the edge benefit from low latency real time responses, reduced network bandwidth costs to cloud and adherence to data privacy and regulatory restrictions which prescribe that sensitive data is processed at the edge.\u00a0<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Edge Computing complements Cloud Computing. The cloud continues to serve as the source of truth. Data that is processed at the edge is transmitted to the cloud for eventual consistency and data integrity. <\/span><i><span>So how do we enable such a deployment topology that combines the power of Capella\u2019s managed cloud environment with self-managed, on-prem edge deployment?<\/span><\/i><span> This is possible with the <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/sync-inter-syncgateway-overview.html\" target=\"_blank\" rel=\"noopener\"><span>Inter-Sync Gateway Replication<\/span><\/a><span> protocol that offers enterprise-grade scalable, secure sync between couchbase cloud and edge clusters.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>In this post, we will walkthrough an example of how you can set up a hybrid deployment between a Capella managed App Services deployment and a self managed Couchbase Mobile deployment.\u00a0<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hybrid Deployment Topology &amp; Use Cases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><span>In the context of this post, we use hybrid deployment topology to refer to a topology consisting of a fully managed Capella App Services syncing data with one or more self managed couchbase mobile clusters. A self-managed couchbase mobile cluster could be one that\u2019s deployed and managed by a user in a public cloud, private cloud or data center or on-prem. A simple hybrid topology is shown below. In this model, data is stored and processed in Capella App Services as well as in the self-managed couchbase mobile cluster. Data is synced between the cloud and edge cluster using Inter-Sync Gateway Replication. Mobile and desktop client apps can sync data with Capella App Services or with self-managed Couchbase Mobile cluster.\u00a0<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14141 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1024x494-1.png\" alt=\"couchbase capella cloud to edge sync\" width=\"900\" height=\"434\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>There are several use cases of distributed cloud deployments as described in this <\/span><a href=\"https:\/\/resources.couchbase.com\/c\/cloud-edge-computing-wp?x=8VqgG5#page=1\" target=\"_blank\" rel=\"noopener\"><span>whitepaper<\/span><\/a><span>. They include resiliency to Internet disruptions and reduced latency in data processing.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Specifically, hybrid deployment topology offers the following benefits :-<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Data Privacy\/Governance<\/b><span>: Fulfillment of regulatory policies that dictate that sensitive data that should only be stored and processed on self managed, private or on-prem data centers<\/span><\/li>\n\n\n<li><b>Phased Migration to Capella<\/b><span>: Not as obvious, but the hybrid topology with Capella will simplify the migration of existing on-prem couchbase mobile deployments to Capella. While <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/app-services\/migrating\/on-prem-to-capella.html\" target=\"_blank\" rel=\"noopener\"><span>XDCR based migration<\/span><\/a><span> allows a one-shot migration of on-prem mobile clusters to Capella App Services, wherein all clients have to switch over from self-managed cluster to Capella. On the other hand, a hybrid topology with a bi-directional Inter-Sync Gateway Replication will allow for a phased migration &#8211; allowing for clients to migrate over time.<\/span><\/li>\n\n\n<li><b>Emerging Cloud Provider Edge Services<\/b><span>: As cloud service providers continue to expand their infrastructure to the edge with offerings like <\/span><a href=\"https:\/\/aws.amazon.com\/about-aws\/global-infrastructure\/localzones\/\" target=\"_blank\" rel=\"noopener\"><span>AWS Local Zones<\/span><\/a><span>, users can take advantage of these offerings by connecting their\u00a0 self-managed couchbase mobile clusters deployed at the edge of the cloud provider network with Capella App Services.<\/span><\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Active Cluster<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The Sync Gateway cluster on which the replication is initialized or scheduled is the <\/span><b>Active Cluster<\/b><span>. Think of it as being equivalent to a client in a classic client-server connection that is initializing a connection. In hybrid deployment, this would correspond to the self-managed Couchbase Mobile cluster. In other words, all replications (bi-directional and uni-directional) are initialized on the self-managed side.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Passive Cluster<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The Sync Gateway cluster that is the target of replication is the <\/span><b>Passive Cluster<\/b><span>. Think of it as being equivalent to a server in a classic client-server connection that is listening for incoming connections.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Walkthrough<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><span>We will walk through a simple example that demonstrates how you can setup a Hybrid topology with Capella App Services. For brevity, we will not be walking through the specifics of how you deploy and provision Sync Gateway on-prem or on Capella App Services. If you are new to Capella App Services, please refer to the <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/app-services\/deployment\/creating-an-app-service.html\" target=\"_blank\" rel=\"noopener\"><span>Getting Started with App Services<\/span><\/a><span> guide. If you are new to Couchbase Mobile, refer to <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/get-started-prepare.html\" target=\"_blank\" rel=\"noopener\"><span>Getting Started with Sync Gateway<\/span><\/a><span> guide.\u00a0<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Initial State<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span>In order to support hybrid deployment with Capella App Services, the <strong>Active Cluster<\/strong> which is the self-managed mobile cluster <\/span><b>MUST be running Sync Gateway versions v3.0.5 and or v2.8.4.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14142 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/isgr-initial-state-1024x456-1.png\" alt=\"capella app service edge\" width=\"900\" height=\"401\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Self-Managed Cluster<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><span>This is the Sync Gateway database configuration on the self-managed side of the deployment as retrieved using <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest-api-admin.html#\/Database_Management\/get_database_information\" target=\"_blank\" rel=\"noopener\"><span>GET db<\/span><\/a><span> call.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Request<\/b><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;sh&#8221; decode=&#8221;true&#8221;]curl &#8211;location &#8211;request GET &#8216;https:\/\/on-prem-syncgateway:4985\/travel-sample\/_config&#8217;<br \/>\n     &#8211;header &#8216;Accept: application\/json&#8217;<br \/>\n     &#8211;header &#8216;Content-Type: application\/json&#8217;<br \/>\n     &#8211;header &#8216;Authorization: Basic c2d3X2FkbWluOnBhc3N3b3Jk'[\/crayon]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Response<\/b><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;js&#8221; decode=&#8221;true&#8221;]{<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;server&#8221;: &#8220;couchbases:\/\/on-prem-couchbase-server&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;bucket&#8221;: &#8220;travel-sample&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;username&#8221;: &#8220;sgw_admin&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;password&#8221;: &#8220;xxxxx&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;name&#8221;: &#8220;travel-sample&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;sync&#8221;: &#8220;nfunction sync(doc, oldDoc) {n\u00a0 if (doc.type) {n\u00a0 \u00a0 \u00a0 channel(&#8220;channel.&#8221;+doc.type);n\u00a0 }n\u00a0 else {n\u00a0 \u00a0 \u00a0 channel(&#8220;!&#8221;);n\u00a0 }n}&#8221;,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;import_docs&#8221;: true,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;cache&#8221;: {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;rev_cache&#8221;: {},<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;channel_cache&#8221;: {}<br \/>\n\u00a0\u00a0\u00a0\u00a0},<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;unsupported&#8221;: {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;warning_thresholds&#8221;: {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;xattr_size_bytes&#8221;: 943718,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;channels_per_doc&#8221;: 50,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;access_and_role_grants_per_doc&#8221;: 50,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;channels_per_user&#8221;: 50000,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;channel_name_size&#8221;: 250<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<br \/>\n\u00a0\u00a0\u00a0\u00a0},<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;enable_shared_bucket_access&#8221;: true,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;num_index_replicas&#8221;: 0,<br \/>\n\u00a0\u00a0\u00a0\u00a0&#8220;delta_sync&#8221;: {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;enabled&#8221;: true<br \/>\n\u00a0\u00a0\u00a0\u00a0}<br \/>\n}<br \/>\n[\/crayon]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As you can see, the configuration is straightforward.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span>I have a Sync Gateway database named \u201c<\/span><i><span>travel-sample<\/span><\/i><span>\u201d backed up by a \u201c<\/span><i><span>travel-sample<\/span><\/i><span>\u201d bucket on Couchbase Server. The \u201ctravel-sample\u201d bucket is a sample bucket that is loaded into the server.<\/span><\/li>\n\n\n<li><span>\u201c<\/span><i><span>sgw_admin<\/span><\/i><span>\u201d is the sync gateway user that is used for authenticating Sync Gateway to Couchbase server.<\/span><\/li>\n\n\n<li><span>The sync function does the following:<\/span>\n<ul>\n<li><span>All documents that have a &#8220;<\/span><i><span>type<\/span><\/i><span>&#8221; property are assigned to a corresponding channel corresponding to that document type. For example, documents that have a <\/span><i><span>&#8220;type&#8221;:&#8221;airline&#8221;<\/span><\/i><span> are assigned to a channel named <\/span><i><span>&#8220;channel.airline<\/span><\/i><span>&#8220;, a document that has a <\/span><i><span>&#8220;type&#8221;:&#8221;airport&#8221;<\/span><\/i><span> are assigned to a channel named <\/span><i><span>&#8220;channel.airport&#8221;<\/span><\/i><span> and so on.\u00a0<\/span><\/li>\n<li><span>The documents that do not have a <\/span><i><span>&#8220;type<\/span><\/i><span>&#8221; property are assigned to a public channel.<\/span><\/li>\n<\/ul>\n<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The rest of the configuration is default.<\/span><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Capella App Services<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><span>This is the configuration on the Capella App Services side.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>I have an <\/span><b>App Endpoint <\/b><span>named \u201c<\/span><i><span>travel-sample<\/span><\/i><span>\u201d that is backed up by a \u201ctravel-sample\u201d database. In my example, the \u201c<\/span><i><span>travel-sample<\/span><\/i><span>\u201d database is <\/span><i><span>empty<\/span><\/i><span>.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14139 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/app-endpoint-1024x296-1.png\" alt=\"capella App Endpoint\" width=\"900\" height=\"260\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The <\/span><b>Access Control Function <\/b><span>is identical to the Sync Function on the self-managed side.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14138 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/access-control-1024x589-1.png\" alt=\"capella access control\" width=\"900\" height=\"518\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>I have an <\/span><b>App User<\/b><span> named \u201c<\/span><i><span>demo@example.com<\/span><\/i><span>\u201d who is granted access to &#8220;<\/span><i><span>channel.airline<\/span><\/i><span>&#8221; channel (in addition to the system public \u201c!\u201d channel).<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14140 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/app-user-1024x598-1.png\" alt=\"Capella App user\" width=\"900\" height=\"526\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting up Inter-Sync Gateway Replication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The self-managed Couchbase mobile cluster is the \u201cactive cluster\u201d and it is the cluster where replications <\/span><b>MUST<\/b><span> be initialized.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-14143 aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/isgr-setup-replication-1024x451-1.png\" alt=\"capella to edge sync\" width=\"900\" height=\"396\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>I will initialize a bi-directional, continuous replication named \u201c<\/span><i><span>pushandpull-with-target-continuou<\/span><\/i><span>s\u201d on the self-managed Sync Gateway using the <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest-api-admin.html#\/Replication\/upsert_replication\" target=\"_blank\" rel=\"noopener\"><span>PUT _replication<\/span><\/a><span> API.\u00a0<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Request<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14168 size-full aligncenter\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/image1-1-3.png\" alt=\"inter sync gateway replication setup\" width=\"624\" height=\"324\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Validating Data Sync<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Finally, since we have a bidirectional sync setup between Capella App Services and a self managed cluster, I can validate that document changes made on either endpoint are synced over to the other side.<\/span><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Syncing from self-managed Couchbase Mobile cluster to Capella App Services<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Changes to any document on self-managed are automatically synced over to the cloud as demonstrated below. This is because we do not have any filters set on the replication.\u00a0<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" class=\"wp-image-14160 size-full\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/isgr-1-w-calloutarrow_sm.gif\" alt=\"\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a0<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Syncing from capella App Services to self-managed Couchbase Mobile cluster<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><span>In contrast, only changes made to documents that have a property &#8220;<\/span><i><span>type<\/span><\/i><span>&#8221; of &#8220;<\/span><i><span>airline<\/span><\/i><span>&#8221; on Capella App Services are synced down to the self-managed cluster. The reason for this is because the App User on Capella App Services, \u201c<\/span><i><span>demo@example.com<\/span><\/i><span>\u201d is granted access to only the <\/span><i><span>\u201cchannel.airline<\/span><\/i><span>\u201d. So the App User can only read documents of &#8220;<\/span><i><span>type<\/span><\/i><span>&#8220;equal to&#8221;<\/span><i><span>airline<\/span><\/i><span>&#8220;.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14161 size-full\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/isgr-2-w-arrowcallout_sm.gif\" alt=\"\" width=\"1782\" height=\"1080\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoring Replications<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Once your configurations are up and running, you can monitor it via the <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest-api-admin.html#\/Replication\/get__db___replicationStatus__replicationID_\" target=\"_blank\" rel=\"noopener\"><span>replicationStatus<\/span><\/a><span> endpoint.\u00a0<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><span>You can <\/span><a href=\"https:\/\/cloud.couchbase.com\/sign-in\" target=\"_blank\" rel=\"noopener\"><span>try Capella App Services<\/span><\/a><span> for free today and deploy hybrid topologies with self-managed edge clusters.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>Be sure to deploy v3.0.5 or v2.8.4 versions of Sync Gateway which you can download from our <\/span><a href=\"https:\/\/www.couchbase.com\/downloads\/?family=sync-gateway\" target=\"_blank\" rel=\"noopener\"><span>downloads page.<\/span><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span>If you want to dive into the details, here\u2019s where you can find more information:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n<\/li>\n\n\n<li><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/learn\/icr-sgreplicate.html\" target=\"_blank\" rel=\"noopener\"><span>Documentation: inter-Sync Gateway Replication<\/span><\/a><\/li>\n\n\n<li><a href=\"https:\/\/www.couchbase.com\/solutions\/edge-computing\/\" target=\"_blank\" rel=\"noopener\"><span>Solutions Page: Edge Computing<\/span><\/a><\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><span>The <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/\" target=\"_blank\" rel=\"noopener\"><span>Couchbase Forums<\/span><\/a><span> is a great place to reach out with questions. Please leave a comment below or feel free to reach out to me via <\/span><a href=\"https:\/\/twitter.com\/rajagp\" target=\"_blank\" rel=\"noopener\"><span>Twitter<\/span><\/a><span> or <\/span><span>email me<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Acknowledgements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><span>I would like to thank <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/author\/heymarkgamble\/\" target=\"_blank\" rel=\"noopener\"><span>Mark Gamble<\/span><\/a><span> for his review and feedback on the blog post.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Capella App Services is a fully managed cloud backend for your mobile, desktop and IoT frontend applications. On the other end of the spectrum, the paradigm of \u201cEdge Computing\u201d has gained a lot of traction in recent years. Edge Computing is a distributed computing topology that aims to bring compute and storage closer to the [&hellip;]<\/p>\n","protected":false},"author":1423,"featured_media":2387,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_acf":"","footnotes":""},"categories":[627,301,9,448],"tags":[24,628],"ppma_author":[252],"class_list":["post-2388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-app-services","category-cloud","category-couchbase-mobile","category-edge-computing","tag-cloud","tag-hybrid-topology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Data Sync between Capella App Services and Mobile Deployments<\/title>\n<meta name=\"description\" content=\"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/data-sync-capella-app-services-and-mobile\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments\" \/>\n<meta property=\"og:description\" content=\"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/data-sync-capella-app-services-and-mobile\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-09T22:50:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1892\" \/>\n\t<meta property=\"og:image:height\" content=\"912\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments\",\"datePublished\":\"2023-03-09T22:50:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/\"},\"wordCount\":1457,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/cloud-edge-isgr-1.png\",\"keywords\":[\"cloud\",\"hybrid topology\"],\"articleSection\":[\"App Services\",\"Couchbase Capella\",\"Couchbase Mobile\",\"Edge computing\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/\",\"name\":\"Data Sync between Capella App Services and Mobile Deployments\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/cloud-edge-isgr-1.png\",\"datePublished\":\"2023-03-09T22:50:44+00:00\",\"description\":\"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/cloud-edge-isgr-1.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/cloud-edge-isgr-1.png\",\"width\":1892,\"height\":912},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-sync-capella-app-services-and-mobile\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/rajagp\"],\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/priya-rajagopalcouchbase-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Data Sync between Capella App Services and Mobile Deployments","description":"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/data-sync-capella-app-services-and-mobile\/","og_locale":"es_MX","og_type":"article","og_title":"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments","og_description":"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/data-sync-capella-app-services-and-mobile\/","og_site_name":"The Couchbase Blog","article_published_time":"2023-03-09T22:50:44+00:00","og_image":[{"width":1892,"height":912,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png","type":"image\/png"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments","datePublished":"2023-03-09T22:50:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/"},"wordCount":1457,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png","keywords":["cloud","hybrid topology"],"articleSection":["App Services","Couchbase Capella","Couchbase Mobile","Edge computing"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/","url":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/","name":"Data Sync between Capella App Services and Mobile Deployments","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png","datePublished":"2023-03-09T22:50:44+00:00","description":"Walkthrough how you can set up a hybrid deployment between a Capella managed App Services deployment and a self-managed Couchbase Mobile deployment.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/cloud-edge-isgr-1.png","width":1892,"height":912},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/data-sync-capella-app-services-and-mobile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Data Sync between Capella App Services and Self Managed Couchbase Mobile Deployments"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","width":"1024","height":"1024","caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Senior Director, Product Management","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/priya-rajagopalcouchbase-com\/"}]}},"acf":[],"authors":[{"term_id":252,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","first_name":"Priya","last_name":"Rajagopal, Senior Director, Product Management","user_url":"","job_title":"","description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2388"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/2387"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2388"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}