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

Automating Infrastructure as Code with Azure Bicep and C

Modern applications depend on much more than application code. A reliable service may require virtual networks, managed identities, storage accounts, databases, monitoring, container platforms, and carefully defined access policies. When those resources are created manually, environments drift and deployments become difficult to reproduce.

Azure Bicep provides a concise, declarative way to describe Azure infrastructure. C can complement that approach by supplying automation utilities, validation tools, deployment wrappers, or custom operational services. Used together, they create a practical path from source-controlled infrastructure definitions to repeatable, observable cloud delivery.

This subject fits naturally within the broader learning themes represented by the C# Corner Annual Conference, where cloud engineering, DevOps, Azure, data, and software development meet. The essential principle is simple: let Bicep define the desired state, and let C coordinate the process when automation needs more control than a template alone can provide.

Why Declarative Infrastructure Matters

Infrastructure as Code, commonly called IaC, treats cloud resources as versioned artifacts. Instead of asking an administrator to click through a portal, a team records the intended architecture in files that can be reviewed, tested, and deployed repeatedly. This makes development, staging, and production environments easier to align.

Bicep is designed specifically for Azure Resource Manager. Its syntax is cleaner than raw ARM JSON while retaining the underlying capabilities of Azure deployments. Parameters, variables, modules, resource declarations, outputs, and dependencies allow engineers to express an environment without describing every individual API request.

The declarative model changes the automation mindset. A script written in C might issue commands in a fixed sequence: create a network, wait, create a service, configure a setting, and assign a role. A Bicep file describes the final state instead. Azure Resource Manager determines the deployment operations and evaluates dependencies, which reduces procedural plumbing and makes infrastructure intent more visible.

Source control adds another layer of discipline. A pull request can show that a subnet range changed, a firewall rule was added, or a storage account became private. Reviewers can assess those changes before they affect a subscription, while deployment history provides an audit trail for later investigation.

Designing Reusable Bicep Modules

A maintainable Bicep project should be divided according to architectural boundaries rather than placed in one oversized file. A main entry point can define environment-level parameters and compose modules for networking, identity, data, compute, and observability. Each module should have a focused responsibility and a clear interface.

Parameters allow the same module to serve different environments. A development deployment might use a smaller service tier and relaxed diagnostics, while production uses zone redundancy, private endpoints, and longer retention. Parameter files or pipeline variables can provide those differences without duplicating the resource definitions.

Modules also encourage consistent naming and tagging. A team can establish conventions for resource names, cost-center tags, ownership metadata, and deployment regions. Outputs can expose important values, such as a resource ID, host name, or managed identity principal ID, to another module or to a deployment pipeline.

Bicep's symbolic references usually make dependencies clear without requiring explicit dependency declarations. If one resource refers to another, Azure can infer the relationship. Explicit dependencies still have a place when ordering is not visible through a property reference, but unnecessary dependency chains should be avoided because they can slow deployments and obscure the design.

Giving C a Useful Automation Role

C is a low-level systems language, so it is not the most convenient choice for every cloud deployment script. However, it can be valuable when a team needs a small, portable, high-performance utility that integrates with existing native software. A C program can validate configuration, prepare parameter files, invoke deployment tooling, collect results, and return meaningful process status codes.

One approach is to keep the infrastructure definition entirely in Bicep and use C as a deployment coordinator. The program can read environment configuration, validate allowed regions and subscription identifiers, generate a controlled parameter document, and invoke Azure CLI or another approved deployment interface. It can capture standard output and error streams, enforce timeouts, and write structured logs for a pipeline or operations system.

Another approach uses Azure Resource Manager's REST API. A native C utility can authenticate through an approved identity flow, construct HTTPS requests with a library such as libcurl, submit a deployment, and poll its status. This provides precise control over network behavior and error handling, though it also creates responsibilities for token management, JSON serialization, retries, API versioning, and secure logging.

The boundary between Bicep and C should remain deliberate. Bicep should describe resources and relationships. C should handle orchestration, integration, policy checks, or specialized runtime concerns. Embedding large amounts of resource logic in native code usually recreates the complexity that declarative IaC is intended to remove.

Concern Bicep approach C automation approach Practical benefit
Resource definition Declarative resource and module files Usually delegated to Bicep Clear, reviewable infrastructure intent
Configuration Parameters, variables, and parameter files Validation and controlled generation Fewer invalid deployments
Deployment execution Azure Resource Manager deployment CLI process or REST API client Repeatable pipeline integration
Dependency handling Symbolic references and modules Sequencing only when externally required Reduced procedural complexity
Error management Deployment operations and diagnostics Exit codes, retries, timeout logic, logs Better operational visibility
Security Managed identities, role assignments, policies Secure token and secret handling Smaller exposure surface
Testing Linting, validation, what-if analysis Unit tests for orchestration logic Safer changes before rollout

Securing the Deployment Pipeline

Infrastructure automation has broad authority, so its identity model deserves the same attention as application security. A pipeline should use a dedicated service principal, workload identity, or managed identity with the narrowest practical role assignment. Contributor access across an entire tenant may be convenient, but it creates unnecessary blast radius.

Secrets should not be written into Bicep files, generated command lines, source repositories, or diagnostic output. Azure Key Vault and federated identity patterns can keep sensitive values outside the codebase. When C launches a command-line process, care is needed because command arguments may be visible to local process inspection or accidentally captured by logs.

Bicep can express role assignments and policy-related resources, but authorization changes should be reviewed carefully. A template that grants a broad role at subscription scope can be more consequential than a change to an individual application setting. Scope should be explicit, and production permissions should be separated from development permissions wherever possible.

Secure automation also requires predictable failure behavior. The C coordinator should treat nonzero exit codes, rejected ARM operations, expired tokens, and malformed responses as distinct conditions. It should avoid retrying permanent authorization failures while applying bounded retries to temporary network or service errors. Every retry should be visible in logs without exposing credentials.

Testing and Validating Infrastructure Changes

Testing begins before deployment. Bicep linting can catch syntax problems and common authoring issues, while template validation checks whether the deployment is structurally acceptable for a target subscription and resource group. What-if analysis can reveal additions, modifications, and deletions before resources are changed.

Modules can be tested with representative parameter sets. A network module should be evaluated with different address spaces and subnet combinations. A compute module should be checked with development and production SKUs. Tests should also verify that required outputs exist and that resource properties meet organizational standards.

C code needs its own test boundary. Configuration parsing, environment selection, command construction, response handling, retry decisions, and exit-code mapping can be unit tested independently of an Azure subscription. Integration tests can run against a controlled test subscription or a disposable resource group, with cleanup performed as part of the test lifecycle.

Policy checks are particularly valuable for preventing unsafe infrastructure from reaching production. They can reject public network exposure, unapproved regions, missing tags, weak TLS settings, or resources without diagnostic configuration. These checks may run in a pull request, while what-if output can be attached to the review so the proposed cloud impact is visible.

Connecting IaC to DevOps Delivery

A typical delivery pipeline starts when a change to a Bicep module or C automation utility is committed. The pipeline restores dependencies, compiles the native program, runs unit tests, lints the templates, validates parameter files, and performs security scanning. A failed quality gate should stop the process before any Azure deployment occurs.

The next stage can execute what-if analysis against a nonproduction scope. Reviewers can inspect the planned resource changes, then approve a deployment to a development environment. Automated smoke tests should verify that the application can reach its dependencies, identity assignments work, diagnostics are available, and expected endpoints respond.

Promotion should reuse the same versioned Bicep modules rather than rebuilding infrastructure definitions for each environment. Differences belong in controlled configuration, with production values protected through pipeline approvals and secure variable stores. This reduces the chance that a manual adjustment becomes an undocumented production dependency.

A C-based deployment wrapper can provide a stable interface for different build systems. It might accept a compact configuration file, normalize platform-specific paths, emit machine-readable results, and map Azure deployment states to pipeline-compatible exit codes. Such a utility is most useful when it solves a genuine integration problem and remains small enough to audit.

Practical Practices for Reliable Automation

Successful infrastructure automation depends as much on team habits as on syntax. Establishing conventions early prevents every project from inventing its own naming, parameter, logging, and approval patterns. The following practices provide a strong baseline:

  • Keep Bicep modules small, composable, and documented with clear inputs and outputs.
  • Use separate deployment identities and scopes for development, testing, and production.
  • Run linting, validation, what-if analysis, and policy checks before applying changes.
  • Make C orchestration tools deterministic, timeout-aware, and explicit about exit codes.
  • Store templates, native automation code, parameter definitions, and tests in source control.

Operational feedback should influence future template design. If a deployment repeatedly fails because of quota limits, regional capacity, or an undeclared dependency, that information belongs in the automation workflow. Better diagnostics, preflight checks, and clearer parameter validation can turn recurring incidents into prevented failures.

Teams should also define ownership for modules and deployment components. A networking module may require review from a platform engineer, while a C utility may need expertise in memory safety and secure native programming. Clear ownership makes changes easier to evaluate and helps ensure that infrastructure does not become an unmaintained collection of copied snippets.

Building a Sustainable Cloud Practice

Azure Bicep and C serve different purposes, and that distinction is the source of their value together. Bicep expresses Azure architecture in a form that is concise, declarative, and suitable for review. C provides a systems-level mechanism for integrating deployment with specialized tooling, existing native platforms, and strict operational requirements.

The most durable implementation starts with a modest scope: define a resource group, network, identity, and one application service in Bicep; then add a small C coordinator only where validation or integration requires it. Once that workflow is reliable, teams can expand toward policy enforcement, multi-stage promotion, automated drift checks, and richer deployment reporting.

For software professionals exploring Azure, DevOps, cloud-native architecture, and related development practices, the conference resources at C# Corner offer a useful setting for connecting infrastructure automation with broader engineering skills. Apply the principles in a small repository, review every proposed change, and make repeatable deployments part of the development lifecycle rather than an afterthought.

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