Real-life technical decision points in using cloud & container technology: Modernising the NHS Simon Boichat Ross Smith Ben Coleman - Lead Azure Architect - Technical Evangelist - Cloud Solution Architect Microsoft Future Decoded
Commercial Partner
Civica s Modernisation Journey
Civica Cost Master and SLAM Used by 124 acute hospitals Around 83% of the country Processes around 70bn hospital revenue per year Costings are usually run monthly or twice a month
Where did we begin? Traditionally self hosted solution On a single machine Often under powered Not resilient or highly available Many different configurations Manual deployments
What constraints did we have? Fat client applications with a collection of windows services and SQL server databases Limit the amount of code change Commercially viable Time to market was short Enable the future
Where are we now? SLAM SQL Elastic Database Pools Analysis Service PowerBI User RDMI RDP AD Domain Services Container Registry User Remote Desktop Services ACS OMS NSG Virtual Network NSG Virtual Network Storage (Azure) Application Insights Availability set SQL Elastic Database Pools Cost Master Azure Key Vault SSRS NSG Virtual Network Security Center
DevOps
Why this architecture? Footprint ideal for containerisation Kubernetes SQL PaaS Power BI Azure monitoring capabilities
The future Experiment with Azure Container Instances Unlock more services on the Azure platform Move to Service Fabric Mesh or AKS
Takeaways Business need for a SaaS offering allowed us to make this transition Technology options in Azure made it easy to modernise the products Enable for the future
Azure Kubernetes Service
Kubernetes: empowering you to do more The de-facto orchestrator Easily scale stateless services Auto scaling and any scale Declaratively define applications Seamless integration with cloud providers Run stateful services with persistence Rolling updates / versioning Extendable and pluggable Health monitoring Service failover and workload optimization Secure with policies Role based access Multi-tenancy
Kubernetes Node Cluster Master Container Registry
Azure Kubernetes Service (AKS) Managed Kubernetes Focus On Your Code Application architect Applications Operations Azure Kubernetes Service Microsoft managed Control plane free of charge Automated upgrades, patches Secured and hardened Easy & auto cluster scaling Self-healing Infrastructure architect Docker / Container Runtime Azure Core Infrastructure
Kubernetes Better on Azure with AKS Integrated monitoring with Container Insights Role based access with Azure Active Directory Kept in sync with upstream Kubernetes Latest version available within 30 days of release Range of networking scenarios, e.g. hybrid Azure Dev Spaces simplify Kubernetes development
Demo Smilr Microservices Feedback App
Getting Started Azure Docs AKS Quick Start aka.ms/aks-start
When to use Azure Kubernetes Service? Want to run Linux based workloads in containers Want to use Kubernetes but not build & manage the infrastructure Run traditional (e.g. MVC, 3-tier) apps unmodified or modern microservice architectures Have fine grained control over compute, storage & network with a rich application deployment model Remain framework, stack & platform agnostic
Service Fabric Mesh
Powering Azure and Microsoft services Azure Service Fabric is designed for mission-critical services SQL Database Azure Database for MySQL Power BI Cosmos DB Azure Monitor Azure Database for PostgreSQL Dynamics 365 IoT Hub Core Azure Services Azure Container Registry Intune Event Hub Archive Storage Event Grid Cortana Skype for business Visual Studio Team Services Stream Analytics
Service Fabric: Application platform Build and deploy containers and microservices on Windows and Linux, at any scale, on any cloud Build Deploy Operate Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling Dev machine Any cloud On-premises infrastructure Azure
Azure Service Fabric offerings Dev machine Any cloud On-premises Service Fabric Standalone Bring your own infrastructure Azure Service Fabric Dedicated Azure clusters Azure Service Fabric Mesh Serverless microservices Full Control Fully managed Service Fabric
Responsibility Azure Service Fabric offerings Dev machine Any cloud On-premises Service Fabric Standalone Azure Service Fabric Azure Service Fabric Mesh Bring your own infrastructure Dedicated Azure clusters Serverless microservices You Hardware OS patching Runtime upgrades Cluster capacity Network and storage App deployment Cluster capacity Network and storage App deployment App deployment Azure Virtual machines OS patching Runtime upgrades Virtual machines OS patching Runtime upgrades Capacity planning Network and storage Micro-billing
Journey to digital transformation Migrate existing applications as-is to the cloud, including using containers, to reduce cost and enable DevOps deployments New applications conceived and built with the cloud in mind using microservices architecture
Mesh In The Flesh
Getting Started Azure Docs Mesh Quick Start aka.ms/mesh
When to use Service Fabric Mesh? Run Windows based workloads in containers Want to use Service Fabric but not build & manage the cluster Lift, shift, and modernize.net applications to microservices Low latency storage with reliable collections and volume drives* Scale services on a consumption model
Future of Application Development Modern Container Based Architectures Service ASP.NET Core Service Service Data/State Auto Scaling Secrets Gateways Routing Service Fabric Mesh Azure Kubernetes Service
Join us at the London Reactor for 3 days of immersive hacking around containers to solve common industry challenges. Learn how to containerise Linux and Windows based workloads and move them to the cloud, alongside community peers. Register through the Microsoft Technical Events page aka.ms/ukmstechevents Microsoft Reactor London - 70 Wilson Street, London, EC2A 2DB London, 13th - 15th November 2018
Thank You Questions
The elements of orchestration Scheduling Affinity anti-affinity Health monitoring Failover Scaling Networking Service discovery Coordinated app upgrades
Microsoft Kubernetes & AKS Lifecycle Open Source First Open Source Preview Feature GA Upstream contribution to CNCF & Kubernetes Available in AKS as self install Experimental Open source features brought into AKS Preview status but 1 st party experience Feature is GA and available in all regions ARM, CLI, portal support e.g. Virtual Kubelet e.g. Cluster Auto Scaler e.g. Role Base Access Control
Question Outcome Notes Standard web workload App Service Not optimised for density Need Orchestration Need service to service (i.e. microservices) Kubernetes / SF Kubernetes / SF Windows Containers Service Fabric Mesh? Happy to self manage Kubernetes AKS Engine