Healthcare organizations are increasingly turning to cloud computing to address business and patient needs of their rapidly evolving environment and modernize legacy applications. With Azure DevOps, healthcare IT teams can drive innovation, build new products and modernize their application environment.
Continuous Integration and Continuous Delivery on Azure
1. This document is confidential and contains proprietary information, including trade secrets of CitiusTech. Neither the document nor any of the information
contained in it may be reproduced or disclosed to any unauthorized person under any circumstances without the express written permission of CitiusTech.
CitiusTech Thought
Leadership
Continuous Integration and
Continuous Delivery on Azure
15 November, 2018 | Authors: Pratik Mistry, Harshal Sawant
3. 3
Overview
Over the last decade, healthcare application delivery has shifted from large scale, project-
based system implementation and follow-on maintenance to a continuous evolution of
applications
DevOps is an emerging software engineering trend that brings business, development and
operations teams together to streamline IT and automate processes
Healthcare organizations are under constant pressure to reduce operational costs while
they struggle to contain rising infrastructure and administrative costs, and adhere to
changing healthcare regulations and standards
Also, patients are now accustomed to 24/7 availability and service from retailers and
financial institutions. They expect and demand the same level of access / quality from
healthcare organizations
Cloud computing solutions (public, private or hybrid) have matured significantly over the
past 3 to 5 years. They now provide equivalent or better service levels as internal IT
organizations, but at a significantly lower cost
Healthcare providers are increasingly turning to cloud computing to address business and
patient needs of their rapidly evolving environment and modernize legacy applications
In this article, we share our perspective on key execution details for implementing
automated continuous integration and deployment pipelines on Azure
4. 4
Introduction to Azure DevOps
DevOps for healthcare applications can be categorized into 3 categories.
Azure Cloud
Azure VMs Azure Container Service Azure App Services
A B C
DevOps and Azure infrastructure need new skillsets around preparing, managing, and developing
applications on the platform. These skillsets need to be part of business plans from the start.
Infrastructure
Platform (IaaS)
Best Suited for
• Big Data
• Legacy apps
• Replacing / extending
current data center
infrastructure
Container
Platform (CaaS)
Best Suited for
• Microservices
• Porting legacy
application to Cloud
• Cloud provider
agnostic
Application
Platform (PaaS)
Best Suited for
• Microservices
• Auto scaling
• Cost effectiveness
• Faster time to market
5. 5
Essential CI/CD Workflow
Typical Steps
Developer checks issue tracker for bugs or change requests, makes the changes to the code and
checks-in the code in the SCM
The CI and CD tools are triggered via hooks. The tools build and then run the tests
Once the test is executed successfully, the CD tool deploys the application on environment
If the build or tests fail, the CI server alerts the team
The team fixes the issue at the earliest opportunity
Developer
Reviews
Code commit is
linked to the issue id
SCM triggers CI/CD tool via
Configured hooks
Build is linked
to the issue id
CI tool triggers Test tools
based on build type
CD tool triggers appropriate infrastructure
Deployment code depending on build type
Infra code sets up the environment
and deploys the build
Issue Tracker CI/CD Tool
SCM (Source Code
Management
Test Tools / Harness
Infrastructure automation/
deployment
Stacks/ Environment
6. 6
Key Success Factors for CI/CD
Templates and Blueprints
Provide the ability to design, manage, and
build underlying components that define
services. Topology, configuration, OS and S/W
packages included for Server Provisioning or
Application Provisioning.
Automated Testing
Plays a crucial role in successful DevOps
implementation. Saves time, allows
repeatability, reduces human error and helps
optimize costs.
Monitoring and Health Check
Used to track performance during each stage
of the delivery pipeline. Covers application
log output, server health, development
milestones, security vulnerabilities,
deployments and user activity.
High Availability and Scalability
Ensures that application s are operational,
functional, and usable for fulfilling user /
business requirements. Key metrics include
Mean Time To Failure (MTTF) & Mean Time
to Repair (MTTR).
Security
DevSecOps involves security checks earlier in
the life cycle of application development so
that it minimizes vulnerabilities and brings
security closer to IT and business objectives.
Deployment Strategy
Provides an approach to change or manage an
application, while ensuring Zero Downtime.
Blue-Green Deployment is the most common
strategy. A/B Deployment and Canary
Deployment are other alternatives.
9. 9
Azure Deployment: IaaS (Virtual Machines) (2/2)
Key Ops Metrics
High availability and zero
downtime
Process level alerts can be
configured
Easy customization
Granular level control over the
infrastructure
Detailed audit logging
No limitation on types of
programming languages to choose
Building Blocks
Azure supports infrastructure provisioning using
ARM templates (preferred) and supports open-
source technologies like Terra Form, etc.
Configuration management using Azure
Configuration Manager or leading industry tools
like Ansible, Puppet, Salt Stack, etc.
Tasks like ARM Template Checker and Security
Verification Tests to automate security validations
Application monitoring using Application Insights
Deep infrastructure monitoring using log analytics,
management solutions, network monitoring and
service map
Key Technologies / Tools
Azure Resource Manager
VNET
Virtual Machine
Load Balancer
Key Vault
PowerShellTerra Form
Blob Storage
Azure Monitoring
VSTS
Azure Automation ARM Template
A
11. 11
Azure Deployment: PaaS (1/2)
App Service Manage Task Application TestingAzure Monitor
VSTS Web Deployment TaskSecurity Verification TestARM TemplatesARM Template Checker
Azure Marketplace
Build
(Agent)
Code
Compile
PackageUnit Tests
Static Code
Analysis
Version
Release
(Agent)
Version
Changes
Pre- Deployment
Validation
Infrastructure
Provision
Build Pipeline
Validate
Deployment
Infrastructure
Validation
Deployment of
Artifacts
Monitoring
Deployment
Strategy
Blue / Green
Infrastructure
De-Provisioning
Registry
1
2 3 4
5
8 7 6
CI
VSTS
Release Pipeline
Blob Storage
Artifact
Repository
Azure PowerShell
InfrastructureasCode
App.Releases
C
12. 12
Azure Deployment: PaaS (2/2)
Key Ops Metrics
Live metric streams like incoming
requests, requests per second,
request duration, memory usage,
CPU usage, unhandled exceptions
per second, etc.
App Failure – HTTP req. failures,
page faults, server exceptions, etc.
Performance – server response
time, load time, latency, etc.
Usage-specific metrics like number
of active users, sessions, page
views to be recorded
Building Blocks
Infrastructure provisioning using ARM templates.
Linked ARM templates can be used to manage
multiple ARM templates
ARM Template Checker task to check security
settings in ARM templates
Security Verification Tests (SVTs) task to check
secure configuration for deployed resources
Deployment slots for deploying new release
Blue Green Deployments implemented by swapping
staging deployment slot with production
Inbuilt load balancer helps auto-scale app services
Azure Resource Manager
Load Balancer
Key Vault
PowerShellTerra FormAzure Monitoring
VSTS Azure Automation
Application Insights
ARM Template
Key Technologies / Tools
Azure App Service
Rest APIWeb APP
Blob Storage
Azure Functions
C
13. 13
Summary
VSTS and Team Foundation Server (TFS) both provide an integrated,
collaborative environment that supports Git, Continuous Integration, and
Agile tools for planning and tracking work
Azure provides DevOps offerings for IaaS, CaaS and PaaS based applications
Adopting DevOps processes and establishing collaboration amongst teams
can enable healthcare organizations to drive innovation, build new
products and modernize their existing application environment
14. 14
Thank You
Authors:
Pratik Mistry
Harshal Sawant
thoughtleaders@citiustech.com
About CitiusTech
3,200+
healthcare IT professionals worldwide
100%
healthcare industry focus
69
NPS - highest in the industry!
30%+
CAGR over last 5 years
110+
healthcare customers
• Healthcare technology companies
• Hospitals, IDNs & medical groups
• Payers and health plans
• ACOs, MCOs, HIEs, HIXs, NHINs
• Pharma & Life Sciences companies