Case studies
Government · Tourism · Azure

A secure Azure platform for a national tourism digital ecosystem, delivered as code.

A high-traffic tourism ecosystem built on Sitecore, .NET and Optimizely needed standardised, observable and resilient infrastructure across development, UAT and production. I owned cloud architecture, security, networking, CI/CD and production application delivery as Cloud Solution Architect and DevOps Engineer.

Client
National tourism authority, multiple public digital properties
Sector
Government · Tourism
Duration
Multi-year, ongoing releases
Engagement
Team-Scale Delivery
3
environments as one definition: dev, UAT, production
Sitecore · .NET · Optimizely
enterprise platforms hosted and delivered
Edge to data
security controls: Cloudflare, WAF, TLS, private endpoints, VPN

01

The challenge

The platform consisted of multiple enterprise digital properties built around Sitecore, .NET and Optimizely, with integrations across cloud infrastructure and external services. It required reliable application delivery, strong security controls and consistent infrastructure across development, UAT and production. As the platform evolved, infrastructure and deployment processes had to become more standardised, observable and resilient while supporting frequent application releases.

02

Solution architecture

Solution architecture: national tourism digital platform on AzureVisitors and content editors reach the platform through Cloudflare, which provides DNS, CDN, WAF and TLS. Traffic enters Azure through Front Door and Application Gateway, then reaches a Next.js front end with middleware, Sitecore PaaS, and .NET APIs with Optimizely. Those services use Azure SQL, Redis, Blob Storage and Key Vault inside a virtual network with private endpoints. A VPN gateway connects the network to on-premises and partner systems. Azure DevOps, Terraform and Azure Monitor run alongside as the delivery and operations platform.AZURE · PRODUCTION · UAT · DEVELOPMENT (ONE DEFINITION PER ENVIRONMENT, TERRAFORM)DELIVERY & OPERATIONSUSERSVisitorsWeb and mobile, high-traffic campaignsUSERSContent editors & marketersSitecore authoring, Optimizely experimentsEDGE & SECURITYCloudflareDNS · CDN caching · WAF rules · TLS termination · Bot management · Access policies for authoring and admin pathsINGRESSAzure Front Door · Application GatewayGlobal load balancing, path routing per digital property, health probes, origin shieldingEXPERIENCE LAYERNext.js front endApp Service / Container AppsMiddleware: routing, locale, auth,edge personalisation, A/B flagsISR and cache controlCONTENT PLATFORMSitecore (PaaS)App Services: CM, CD, IdentitySolr search, Redis sessionsPublishing to CD instancesMedia via Blob StorageSERVICES.NET APIs · OptimizelyApp Services, containerisedwhere applicableExperimentation and contentintegrations with external servicesDATAAzure SQLSitecore and app databasesGeo-redundant backupsDATAAzure Cache for RedisSessions, output cacheRate-limit countersDATABlob StorageMedia library, static assetsLifecycle policiesSECRETSKey VaultConnection strings, certificatesManaged identities onlyNETWORKVirtual networkSubnets per tier, NSGs, private endpoints for SQL, Redis, Storage and Key VaultNo public data-plane endpoints; egress through NATCONNECTIVITYVPN GatewaySite-to-site VPN to on-premisesand partner systemsPrivate DNS, forced tunnelling where requiredEXTERNALOn-premises & partnersLegacy systems, bookingand identity integrationsreached only over VPNCI/CDAzure DevOpsBuild, test, deploy perenvironment; approvalsfor UAT and productionIACTerraformNetworking, compute, PaaS,Cloudflare config; plan andapply gated in pipelinesOBSERVABILITYAzure MonitorApplication Insights, LogAnalytics, alert rules,dashboards, runbooksRequest pathData accessPrivate connectivity, deployment and telemetryDev, UAT and production are identical definitions

Request path in teal; dashed lines are private connectivity, deployment and telemetry. Scroll sideways on small screens.

Edge and security
Cloudflare DNS, CDN, WAF rules, TLS termination, bot management and access policies for authoring and admin paths.
Ingress
Azure Front Door and Application Gateway: global load balancing, path routing per digital property, health probes.
Experience layer
Next.js front end on App Service or Container Apps; middleware for routing, locale, authentication, edge personalisation and cache control.
Content and services
Sitecore PaaS (CM, CD, Identity, Solr, Redis), .NET APIs and Optimizely, containerised where applicable.
Data
Azure SQL, Azure Cache for Redis, Blob Storage for media, Key Vault for secrets, all reached over private endpoints with managed identities.
Network and connectivity
Virtual network with subnets per tier and NSGs; VPN Gateway to on-premises and partner systems; private DNS.
Delivery and operations
Azure DevOps pipelines, Terraform for infrastructure and Cloudflare configuration, Azure Monitor with Application Insights and Log Analytics.

Layers top to bottom. Controls apply at every layer.

Read the full write-up: Sitecore on Azure PaaS: a production reference architecture with Next.js, Cloudflare and private networking

03

Approach

  1. 01Cloud architecture: designed and optimised the Azure infrastructure for production digital workloads, including networking, compute, load balancing and supporting services.
  2. 02Application platform: supported enterprise Sitecore and .NET applications across hosting, configuration, deployment and production troubleshooting.
  3. 03Digital experience: worked with Optimizely and enterprise CMS components behind content-driven experiences and experimentation, with a Next.js front end and middleware for routing, locale and personalisation.
  4. 04Security and edge: implemented Cloudflare, WAF, TLS, access controls and network-level security for the public-facing applications; private endpoints and VPN connectivity for everything behind them.
  5. 05Infrastructure as code: standardised provisioning and environment configuration with Terraform and repeatable deployment patterns.
  6. 06CI/CD: built and improved automated pipelines in Azure DevOps for build, test and deployment across environments.
  7. 07Operations: improved monitoring, logging, alerting and incident response while supporting production releases.

04

How the delivery ran

  • Architecture and security baseline agreed first: network segmentation, edge controls, identity and secrets handling, environment strategy.
  • Infrastructure brought under Terraform environment by environment, starting with non-production, so drift was removed before production changed.
  • Pipelines rebuilt per application with approvals for UAT and production; releases moved from manual steps to repeatable, reviewed deployments.
  • Observability and runbooks added alongside, so each release could be verified and each incident handled from the same dashboards.
  • Delivered with a team under Cloudlit's brand and contract, with 24×7 operations.

05

What was delivered

  • Enterprise Sitecore and .NET application infrastructure
  • Optimizely-based digital experience infrastructure
  • Azure production, UAT and development environments
  • Cloudflare and WAF security configuration
  • Load balancing and secure application ingress
  • Terraform-based infrastructure provisioning
  • CI/CD pipelines for application delivery
  • Application and infrastructure monitoring
  • Production incident troubleshooting and runbooks
  • Performance and infrastructure optimisation
  • Secure and repeatable release processes

06

Results

DimensionOutcome
Application deliveryMore consistent and repeatable releases
InfrastructureStandardised cloud environments and configuration
SecurityStronger edge, network and application security controls
OperationsImproved monitoring and production visibility
ReliabilityMore controlled production deployments and incident response
ScalabilityInfrastructure designed to support high-traffic digital experiences
OwnershipEnd-to-end responsibility across cloud, DevOps and application delivery

Client confidentiality: Client names, URLs and certain implementation details have been intentionally omitted due to contractual confidentiality requirements. The architecture, responsibilities and delivery scope have been generalised while accurately representing the nature of the engagement.

Facing a similar decision? A 30-minute architecture review is the fastest way to find out whether the same approach fits.

Book an architecture review

More case studies

Other engagements

All case studies

Food & Wellness · E-commerce · Azure

The Azure platform behind a high-volume digital meal-plan experience, run as code.

PractiCal sells personalised meal plans across the UAE through a Next.js storefront, Laravel/PHP backend services and Azure serverless workloads. I owned the cloud and application platform end to end: infrastructure, edge security, CI/CD and production operations across development, staging and production.

AzureLaravelPHPNext.js
Read the case study

Education · Enterprise · Azure

A secure Azure platform for a large-scale university digital experience on .NET and Umbraco.

A university digital platform serving prospective students, current students, faculty and other stakeholders: programme discovery, admissions, applications and student services on an ASP.NET and Umbraco CMS stack. I owned Azure infrastructure, application delivery, security and production operations.

AzureAzure App Service.NETASP.NET
Read the case study

B2B SaaS · AWS

Kubernetes platform that cut cloud spend by 60% and deploy time from 45 minutes to 5.

A growing SaaS platform was running on hand-built AWS infrastructure with manual deployments and costs rising 40% month on month. I replaced it with a production-grade EKS platform, GitOps delivery and infrastructure as code, migrated with zero downtime.

AWSEKSTerraformArgo CD
Read the case study

FinTech · AWS

Zero-trust AWS controls that took a FinTech to SOC 2 Type II in 8 weeks with no audit findings.

Enterprise deals depended on SOC 2 Type II, and the existing estate had shared secrets in code, permissive IAM and no audit trail. I designed and implemented the identity, network, secrets and audit controls, and the external audit closed with zero findings.

AWSSecrets ManagerIAMVPC endpoints
Read the case study

B2B Software · Kubernetes

Observability and SLOs that cut detection time from 90 minutes to 5 and freed a fifth of engineering time.

A six-person team ran production with no visibility: incidents took hours to detect and 40% of engineering time went to firefighting. I built the observability stack, defined SLOs and burn-rate alerting, and wrote the runbooks. Detection fell to 5 minutes and the team got 20% of its time back.

KubernetesPrometheusGrafanaOpenTelemetry
Read the case study

Next step

Bring me the platform decision you have to get right.

A 30-minute architecture review call. You leave with a written view of the risk and the next step, whether or not we work together.