New to site?


Lost password? (X)

Already have an account?


(X)

Presents

#CSHARPCON20

The C# Corner Annual Conference 2020 is a three-day annual event for software professionals and developers.

3
DAYS
72
SPEAKERS
65
SESSIONS

Magnus Mårtensson
Microsoft Regional Director, Azure MVP, CEO Loftysoft

Avirag Jain
Director & CTO R Systems

Mahesh Chand
Founder C# Corner, CEO Mindcracker

Chris Gali
CEO & Co-Founder Graphite

Subinder Khurana
Chief Architect StoryProcess, Founder NASSCOM DeepTech Club

Bryan Rishforth
Investor, Chairman Graphite

Bryn Everson
Director Biz Dev Graphite

Raj Tiwari
Digital Transformation Leader, Futurist and Visionary

Joseph Guadagno
Microsoft MVP, Lead Quicken Loans

Nikita Sachdev
Entrepreneur, Blockchain Enthusiast & Advisor, Social Media Influencer

Doug Wagner
COO & Founder Adapt Technical Group

Ritesh Modi
Architect, Senior Evangelist, Cloud Architect

Crystal Wenrick
Director Communications Mindcracker

Allen O’Neill
Microsoft MVP, Consulting Engineer/Architect

Praveen Kumar
CEO MCN Solutions

Chris Love
Founder Love2Dev, Microsoft MVP, Author

Sanjay Vyas
Microsoft Regional Director, Microsoft MVP, Founder & CEO SkillLabs Technologies

Veena Sarda
Deep Learning Consultant, Author

Sekhar Srinivasan
C# Corner MVP, Microsoft Certified Trainer, Pluralsight Author

Lalit Bansal
Founder & CEO - EIY SYS

Navdeep Garg
CEO Revinfotech

Prakash Tripathi
Tech Manager/Leader, Microsoft MVP, Blogger

Bhavna Jain
Breakthrough Consultant

Naveen Sharma
Enterprise Architect, Leadership Coach, Author

Vidya Vrat Agarwal
Principal Architect, Microsoft MVP, Author

Sheetal Agarwal
Founder Clownselors, Medical Clown, Trainer

Abhishek Kant
Founder GTM Catalyst

Vishnu Saran
Founder & CEO VoiceQube

Sandeep Soni
Founder & CEO Deccansoft, Microsoft Certified Trainer

Parveen Malik
AVP InfoSec & Vulnerability Management, Information Security Expert

Nitin Pandit
Microsoft MVP, Developer Evangelist, Author

Niloshima Srivastava
C# Corner MVP, Tech Architect, Trainer, Blogger

Bala Chirtsabesan
Senior Software Engineer at Microsoft, Author

Manoj Mittal
Sr. Technical Architect, C# Corner MVP, Author

Chandni Di
Co-Founder Voice of Slum

Vithal Wadje
Technical Lead, Microsoft MVP, Author

Shivam Ahuja
Founder SkillCircle, Business Mentor

Chervine Bhiwoo
Solution Architect, Microsoft MVP, Author

Saurabh Jain
Vice President Paytm, Founder Fun2Do Labs, Author

Vinay Solanki
Head IoT at Lenovo, Founder IoT-NCR

Anshu kumari
Founder Blockchainkids, Inventor, Trainer

Amit Singal
CEO Startup Buddy

Dev Pratap
Co-Founder & CEO Voice of Slum

Amey Vartak
Technology Consultant, Full Stack Developer, C# Corner MVP, Author

Viswanatha Swamy
Principal Software Engineer, C# Corner MVP, Author

Sanket Verma
Research Engineer @ Ballistics (Forensics) and Chair, PyData Delhi

Sourabh Somani
Lead Developer, Microsoft MVP, Author

Abhishek Mishra
Software Architect, C# Corner MVP, Author

Siddharth Vaghasia
Technical Consultant, C# Corner MVP, Blogger

Bassam Alugili
Senior Software Specialist, Database Expert

S Ravi Kumar
Solution Architect, C# Corner MVP, Author

Sundaram Subramanian
Full Stack Developer, C# Corner MVP, Speaker

Deepesh Somani
Solution Architect, Microsoft MVP, Author

Debasis Saha
Technical Project Manager, C# Corner MVP, Blogger, Author

Vipul Jain
Software Architect, C# Corner MVP, Author

Akshay Patel
Technical Architect, Microsoft Certified Trainer, C# Corner MVP, Author

Stephen Simon
RPA Developer, Evangelist, Author

Vivek Sharma
Founder Kingster636, AR/VR Specialist

Jeetendra Gund
Technical Lead, C# Corner MVP, Author

Sujal Beniwal
AI Enthusiast, Student

M Viknaraj
Microsoft MVP, Azure Architect, Author

Prasham Sabadra
Software Architect, C# Corner MVP, Trainer, Author

Aakash Maurya
Senior Developer, C# Corner MVP, Speaker

Ankit Sharma
Senior Software Engineer, C# Corner MVP, Author

Mangesh Gaherwar
Team Lead, C# Corner MVP, Author

Viral Jain
Technical Consultant, C# Corner MVP, Author

Bhasker Das
Solution Architect, Evangelist

Manish Dwivedi
Associate Project Manager

Ck Nitin
Programmer, Author

Rohit Gupta
Technical Trainer, Author

Manish Tewatia
Full-stack Marketer, UX Designer

Bhavya Gaur
Technical Illustrator

Rohit Tomar
SEO/SMO Expert

Web Track

Cloud & Data Track

Dev Track

8am-9am

Registration & Breakfast

9am-10am

Future of Desktop Apps with JS (ElectronJs)

Nitin Pandit

Building Serverless Microservices Using Microsoft Azure

Vithal Wadje

Innovating RPA: A Robot for Every Person

Stephen Simon

10am-11am

Managing Cloud Storage Accounts using Logic Apps

Viknaraj Manogararajah

Data visualization using Python

Sekhar Srinivasan

Going Cross platform with AR Foundation

Vivek Sharma

11am-12pm

Keynote

12pm-1pm

Managing your Azure dependencies in ASP.NET Core apps using VS

Bala Chirtsabesan

Securing Applications on Intelligent Azure

Abhishek Mishra

Getting started with Blazor the Framework of Future

S Ravi Kumar

1pm-2pm

Lunch

2pm-2:45pm

Build Progressive Web Apps using Angular 9

Debasis Saha

Build and deploy to any platform using Azure DevOps

Chervine Bhiwoo

Deep Dive in Azure Service Bus

Akshay Patel

2:45pm-3:45pm

Build a Native Mobile Application using React Native and JavaScript

Joseph Guadagno

Making sense of Web Job, Web Job SDK and Functions in Azure

Prakash Tripathi

CloudFront Distribution in AWS

Viral Jain

3:45pm-4pm

Tea Break

4pm-4:30pm

Introduction to PowerBI

Aakash Maurya

Build Advanced SPFx solutions with React and Graph API

Siddharth Vaghasia

Build Business Intelligence Analyst (BIA) Skills

Sundaram Subramanian

4:30pm-5pm

Deep dive of Power Platform – AI BUILDER

Prasham Sabadra

Panel 1

What's new in SharePoint development

Vipul Jain

5pm-5:30pm

Build a SSO (Single Sign On) based Native JavaScript application with Microsoft Identity within 10 minutes

Manoj Mittal

Panel 2

Applications and working of AI

Veena Sarda

5:30pm-6pm

Deploying serverless API's with .Net core 3.0 on AWS & Azure

Amey Vartak

Panel 3

Blockchain with .NET Core (Ark)

Anshu Kumari

6pm-6:30pm

Closing Note & Prize Distribution

Dev Track

Cloud Track

Architecture Track

Emerging Tech Track

8am-9am

Registration & Breakfast

9am-10am

Creating Full-Stack Web Apps Using Server-Side Blazor

Ankit Sharma

Real time face recognition with MS Cognitive Services

Niloshima Srivastava

Building Scalable APIs with GraphQL

Jeetendra Gund

Future of development with AI and Blockchain

Navdeep Garg

10am-11am

Debugging Tips and Tricks with Visual Studio 2019

Joseph Guadagno

Azure Containers

Abhishek Kant

Enterprise Architecture

Naveen Sharma

Bot Framework - learn it fast and look like a boss!

Allen O’Neill

11am-12:30pm

Keynote

12:30pm-1:30pm

.Net Core & C# 8 Performance

David McCarter

Working with Azure kubernetes services

Ritesh Modi

Becoming an Architect

Vidyavrat Agarwal

Why Techies Need to Learn Product Management

Saurabh Jain

1:30pm-2:30pm

Lunch

2:30pm-3:30pm

Build a rules engine in .Net Core

Sanjay Vyas

Building CI and CD Pipeline using Azure DevOps

Sandeep Soni

Entity Framework Core - Tips and Tricks, Performance Optimization, and Tuning

Bassam Alugili

Hacking your way into Data Science

Sanket Verma

3:30-4:15pm

Speed up your .Net Core Website

Sourabh Somani

Azure

Magnus Mårtensson

Demystifying Open Distro for Elasticsearch

Suman Debnath

Future of Data

Shivam Ahuja

4:15pm-4:30pm

Tea Break

4:30pm-5:15pm

gRPC with C# and .Net Core

Mangesh Gaherwar

Panel 1

Essentials of Cloud security

Parveen Malik

Power platform and Dynamics 365

Deepesh Somani

5:15pm-6pm

Microservices - the gRPC Way

Viswanatha Swamy

Panel 2

Reserved

Reserved

6pm-6:30pm

Closing Note & Prize Distribution

Using Azure Cosmos DB Change Feed to Sync Data Across Regions

Global applications need data to remain available and useful when users connect from different parts of the world. Replicating a database across Azure regions can reduce latency and improve resilience, but many systems also need to synchronize derived records, search indexes, analytics stores, or business workflows.

Azure Cosmos DB Change Feed provides a reliable stream of document changes that applications can process asynchronously. By consuming those changes and applying them to a destination container or regional data store, teams can build controlled synchronization pipelines without repeatedly scanning the source database.

The right design depends on consistency requirements, partitioning, conflict handling, recovery objectives, and the type of replication already enabled in the Cosmos DB account. Change feed is especially valuable when the destination has a different purpose from the source, such as a read model, reporting projection, or regional cache.

Why Regional Data Synchronization Matters

A multi-region application often serves requests from the nearest Azure region. Local reads improve responsiveness, while regional processing can help an organization meet availability and data residency requirements. However, a front end that reads locally may depend on records created or updated somewhere else.

Cosmos DB offers native geographic distribution for accounts that need the same containers available in multiple regions. When an application requires a separate destination schema, an independent account, or a transformed representation, native replication may not be sufficient. A change feed consumer can filter, enrich, reshape, and route updates according to application rules.

This approach also separates operational concerns. The primary container remains optimized for transactional workloads, while regional projections can be tuned for local queries. A synchronization service can process changes at its own rate, absorb temporary destination outages, and resume from a durable continuation point.

How The Change Feed Works

The change feed records modifications to items in a Cosmos DB container. Consumers read changes by logical partition key range rather than by relying on a single global sequence. This distinction matters because Cosmos DB guarantees ordering within a logical partition, but applications should not assume one total order across every partition.

The Change Feed Processor library is a common implementation choice. It uses a lease container to coordinate workers, divide partition ownership, and remember progress. If a worker stops, another instance can acquire its leases and continue processing. Azure Functions, hosted .NET services, containers, and other worker models can all consume the feed.

Cosmos DB supports different change feed modes. Latest-version mode exposes the newest version of an item and is suitable for many projection scenarios. All-versions-and-deletes mode can expose updates and deletions when the account and workload support the required capability. The selected mode affects how the destination handles removal, replay, and historical state.

A robust consumer treats delivery as at least once. The same change can be seen again after a restart, timeout, or lease movement. Destination writes therefore need to be idempotent, commonly by using the source item ID, partition key, version marker, or a deterministic event identifier.

Select A Replication Architecture

Before writing code, decide whether the destination should be another container in the same Cosmos DB account, a container in a separate account, or a different Azure data service. A same-account projection is simpler to secure and operate. A separate account can provide stronger isolation, independent throughput, or regional ownership.

The following patterns help match the design to the workload:

Architecture Best Fit Main Benefit Primary Concern
Native multi-region Cosmos DB The same data model is needed globally Managed replication and regional reads Conflict policy and write consistency
Change feed to a regional container A transformed local read model is required Flexible schema and routing Consumer lag and duplicate delivery
Change feed to separate accounts Isolation, residency, or independent scaling matters Clear operational boundaries More networking and deployment work
Change feed to another Azure service Search, analytics, or event processing is the goal Purpose-built destination capabilities Different reliability and replay semantics

Native multi-region writes are often preferable when several regions must accept writes to the same logical dataset. Change feed synchronization is better suited to derived data and integration pipelines. Combining both approaches is possible: Cosmos DB can replicate the source globally while change feed processors build region-specific views.

Routing decisions should be explicit. A worker may publish every item to every destination, route by customer region, or process only records that match a region field. If the source can change that field, the service must handle movement between destinations by writing the new copy and removing or retiring the old one.

Build An Idempotent Processing Pipeline

A change feed worker usually performs four steps: read a batch, transform each item, write to the destination, and report successful progress. The checkpoint should advance only after the batch has been processed according to the application’s durability rules. Advancing it too early can lose data; delaying it can cause replay, which is acceptable when writes are idempotent.

Use deterministic destination identifiers whenever possible. For example, a projection can preserve the source item ID and partition key, allowing an upsert to safely repeat. If the destination uses a different key, store the source identity and a source version or update timestamp so that stale changes cannot overwrite newer content.

Batch operations can improve throughput, especially when several changes target the same destination partition. Still, the worker should respect request-unit budgets, payload limits, and throttling responses. Exponential backoff with jitter helps prevent a temporary 429 response from turning into a synchronized storm of retries.

Transformation logic should be kept separate from transport and checkpoint code. This makes it easier to test field mapping, redaction, regional routing, and schema evolution. Include a dead-letter path for records that repeatedly fail validation or violate destination constraints, and retain enough metadata to replay them after correction.

Manage Ordering Conflicts And Consistency

Replication across regions introduces a delay between a source write and its appearance in the destination. That delay may range from milliseconds to minutes, depending on throughput, throttling, network conditions, and worker availability. Applications should display or enforce freshness expectations rather than implying that every regional view is immediately current.

Ordering is guaranteed within a logical partition, not across unrelated partitions. If a customer’s related records must be applied in sequence, they should share a suitable partition key or carry explicit version information. When records are independent, partition-level parallelism can be used to increase throughput.

Conflicts require a defined policy. Last-write-wins may be acceptable for a cache or profile projection, while financial, inventory, or workflow records may require conditional writes and domain-specific reconciliation. ETags, sequence numbers, and transactional checks can prevent an older event from replacing a newer destination state.

A synchronization service should also distinguish a missing item from a delayed item. Soft deletion markers can make deletion propagation easier when the selected change feed mode does not expose deletes. If a source record expires through time-to-live, verify how that lifecycle appears to the consumer and whether the destination needs its own expiration policy.

Observe Recovery And Security

Operational visibility is essential because a healthy process is more than a running process. Track change feed lag, lease distribution, batch size, processing latency, retry counts, throttled requests, failures, and destination write rates. Alerts should focus on sustained lag and failed progress, not only worker availability.

Azure Monitor and Application Insights can help connect dependency calls, exceptions, traces, and performance data across the synchronization service. Guidance on monitoring .NET apps is useful when setting up telemetry for a hosted C# processor or Azure Functions implementation.

Secure both sides of the pipeline with managed identities where possible. Grant the worker only the permissions needed to read the source, manage leases, and write the destination. Keep secrets out of configuration files, use private endpoints when network isolation is required, and encrypt sensitive fields before they enter a less trusted projection.

Recovery testing should include worker termination, lease-container unavailability, destination throttling, partial batch failure, and regional outage. Document how to rebuild a destination from the source. A replay process may involve recreating the destination container, resetting leases, and processing the feed from a known starting point, so retention and backup policies must support that plan.

Apply Practical Design Rules

A small set of design decisions can prevent most synchronization failures:

  • Use native Cosmos DB geographic replication when the destination is an equivalent copy of the same data model.
  • Use change feed for projections, transformations, regional views, search documents, and integrations with independent schemas.
  • Make destination writes idempotent and protect them with source version or ETag checks.
  • Monitor lag, retries, lease ownership, throttling, and dead-letter records as first-class production metrics.
  • Test replay, failover, deletion handling, and schema changes before enabling additional regions.

Capacity planning should include both source change volume and destination write volume. A projection that doubles or triples the number of stored fields may consume substantially more request units than the original update. Estimate peak rather than average activity, and leave room for catch-up after an outage.

Schema evolution deserves the same attention as infrastructure. Add compatible fields first, update consumers, and remove old fields only after every regional destination has migrated. Versioned transformation code can support a controlled transition when different destinations cannot upgrade simultaneously.

A multi-region sync design succeeds when its guarantees are visible and measurable. Document expected freshness, acceptable replay behavior, conflict resolution, recovery time, and data ownership for every destination. Those boundaries help developers select the correct consistency model and help operations teams recognize abnormal behavior quickly.

Build the first pipeline around a limited dataset, instrument every stage, and validate it under realistic load. Then expand partition coverage and regional scope in controlled increments. With an idempotent processor, durable leases, explicit conflict rules, and meaningful telemetry, Azure Cosmos DB Change Feed can turn regional synchronization into a dependable part of the application architecture. Begin with one source-to-destination flow, test recovery deliberately, and promote the design only after its lag and failure behavior meet production requirements.

The Leela Ambience Convention Hotel

1, CBD, Maharaj Surajmal Road, Near Yamuna Sports Complex, Delhi, 110032

KNOW MORE

GENERAL QUERIES


Manish Tewatia

+91-9718-431-042

TICKET QUERIES


Atul Gupta

+91-9910-125-804