SlideShare uma empresa Scribd logo
1 de 52
WebMD Health Corp.: agile system
automation, integration and recovery
using HP Server Automation and HP
Operations Orchestration


– Derek Chang
  Manager, WebMD
– Roger Hsu
  Manager, WebMD
1   ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Topics
        Who are we and where we stand
        Infrastructure Layout
        Middleware Integration
        HP OO preparation
        Application Administration Automation
        Build Deployment Automation
        Unattended WebMD Content Backup
        Maintenance Free System
        Results from HP SA/OO Implementation
         Q/A



Introduction & Agenda                           2
cmsops
 Responsibility
  – Provide Maintenance and 24x7 support of CMS applications and their
     subsystems in production environment
  – Perform production system patches, bug fixes or software releases and other
     build deployments.
  – Support ongoing releases and developments in non-production environments
  – Define/document production support requirements, escalation procedures,
     issue tracking and guidelines for troubleshooting and build deployments.
 Resource: 4.5 headcounts*
 Universe
  – 300+ internal users
  – SDLC environments: dev/devint/qa00/qa01/qa02/perf/production
  – 130 servers
  – 4.4 TB of NAS storage for raw contents and site contents
  – Infrastructure: Zenoss, HPSA, HPOO, Serena teamtrack, MOSS, MSSQL/Oracle
 Core technology
  – EMC Documentum
  – Proprietary applications


                                                                                  3
Documentum
 An enterprise content management platform, now delivered
 by EMC Corporation, as well as the name of the software
 company that originally developed the technology.
 Flexible, versatile, powerful yet complex platform
 Implementation in WebMD
  – 2 major portal sites
  – 6 Documentum products
  – Proprietary content editor for advanced features
  – Proprietary page transformer
  – Proprietary utilities: 15 applications



                                                            4
Challenges
  Documentum is a new technology
  Documentum is a rare expertise
  Complexity of the CMS
  Cmsops support users within the company
  WebMD is a fast growing company




                                            5
Life in cmsops




                 Sampling duration:
                 Oct 11,2007 – Jul 24, 2009
                 653 days/426 working days
                 Source: customized teamtrack
                 reports and emails
                 Summary
                 1772 teamtrack requests
                 479 email requests*
                 5.3 tickets/working day




                                                6
Our Approach
               Develop and utilize process
               templates
               Standardize and adopt the
               development model
               Identify what processes to be
               automated
                – Routine/mundane activities
                – Human interactions cause
                  error/failure
                – Much longer
                  Lifecycle/Service time
                  than development time




                                               7
Infrastructure Layout




                        8
Infrastructure Layout
                            Corporate infrastructure


                                 Active Directory

                                 Exchange server


           Teamtrack
  Win2K3                                                     Opsware OO                Opsware SAS
                             Middleware integration                                                               PAS LAB
       Web interface
                                                                                                           RHEL4u6_64BIT VM
                            Jboss 5.0                  Central and RAS            Central and RAS
   Business mashup engine                                                                                       App server(s)
                                  Web interface              Web interface              Web interface

        Web services             Teamtrack client             Repository              Server repository          Code base

                                    OO client               Workflow engine          Software repository       Opsware agent
                                  Email adapter            Scheduler engine             OCLI engine
                                  Email sender                   NRAS                Web services engine
                                  LDAP module                    JRAS                     JAVA API
                                   XML module               SAS OCLI client                Twister

                                  Data modeling         SAS web services client     Opsware agent engine




                                                             Build server

                                                       RHEL4u4_32BIT VM

                                                             Web interface
                                                        Rpm/msi package tools
                                    QA/DEV Clients
                                                          NAS/Build repository
                                                               OCLI 1.0
                                                            Opsware agent




                                                                                                                                9
Middleware Integration




                         10
Middleware Integration
  Description
   – The core of the automation system
   – Connections among ticketing, monitoring, and system
     administration tools within WebMD operations.
   – Providing operation tools without users accessing
     underlying systems/tools




                                                           11
Middleware Integration
  Ticketing system integration
   – Use web services to connect Serena Business Mashup
     (TeamTrack)
   – Pull information from tickets and pass data to other
     systems such as HP OO
   – Update tickets after automation operation




                                                            12
Middleware Integration
  System Administration (HP SA/OO) integration
   – Java bean uses OO library to trigger OO workflow
           RSFlowInvoke rsf = new RSFlowInvoke();
           rsf.setUrl(url+flowName+paraString);
           rsf.setUsername(user);
           rsf.setPassword(pw);
           result = rsf.invoke();




  – Parse the workflow result (XML format) to get:
     • OO flow id and report URL
     • Start time and end time
     • OO flow response and result

                                                        13
Middleware Integration
  Web Application
  – Allows users to use the automation tools via a web
    browser over network to prevent access to underlying
    systems/tools such as HP OO directly
  – Uses Ajax and Richfaces technologies to provide dynamic
    and intuitive user experiences
  – Developed under JBoss Seam framework
  – Adopts Hibernate as Database layer framework




                                                              14
Middleware Integration
  Security and User Authorization
   – Integrates with WebMD LDAP servers that allows users to
     access the system with their WebMD id/password
   – JBoss Rules engine provides access control based on
     WebMD LDAP groups of each user




                                                               15
HP OO Preparation




                    16
HP OO Preparation
  Identify basic/out of the box OO operations
   – SSH
   – Windows Remote Command Execution
   – Change IIS status
   – Change Windows service status
   – OCLI to access HP SA
   – Iterator, Email CDO, …etc
   – Database operations (oracle/mssql)
  Modulization and utility workflows
   – Use OO operations to build up utility workflows that will
     be re-used frequently



                                                                 17
HP OO Preparation
     HostsSSH: run Linux commands in a list of hosts
Given a list of hosts to
Iterator (PAS out-of-box   SSH Command (PAS
operation)                 out-of-box operation)




                              Call Error Notice flow




                                                       18
HP OO Preparation
     HostsWinCommand: run Windows commands in a
     list of hosts
Given a list of hosts to
Iterator (PAS out-of-box   SSH Command (PAS
operation)                 out-of-box operation)




                              Call Error Notice flow




                                                       19
HP OO Preparation
      IIS Flows:
       – HostIISSites: control multiple IIS Sites on single host
       – HostsIISSites: control multiple IIS Sites on multiple hosts
Given a list of hosts                      Given a list of sites




    Multiple hosts, multiple sites      Single host, multiple sites


                                                                       20
HP OO Preparation
  Window Services flows:
  – HostWinSvcsCtrl: control multiple services on single host
  – HostsWinSvcsCtrl: control multiple services on multiple hosts




 Multiple hosts, multiple services   Single host, multiple services



                                                                      21
Application Administration Automation




                                        22
Application Administration Automation
  Goal: Develop OO workflows to stop/start WebMD
  applications and sites

  Workflow key features
  – Identify target servers
  – Windows: stop/start windows svc and IIS sites
  – Linux: stop/start applications and run any script if needed
  – Send error/success email notices




                                                                  23
Application Administration Automation
     Users pick available host type and environment based on the
     permission given to their LDAP groups

                                      Login as consumer
                                      QA user




Consumer users are
NOT allowed to pick
professional hosts


                           QA users controls QA
                           environments only

                                                                   24
Application Administration Automation
  Users hit one of the action buttons




                                User hits “Query Servers”




                                                            25
Application Administration Automation
  Web application then triggers corresponding HP OO
  workflow
  OO workflows connect HP SA with OCLI
  HP SA takes actions on target hosts




                                                      26
Application Administration Automation
  The OO workflows sends the result back to middleware in
  XML format
  Middleware parses the XML and display the result in GUI




                               dmas qa00 server




                                                            27
Application Administration Automation
  Users receive email notices




                                        28
Application Administration Automation
  Application Administration workflows:
   – Documentum Content Servers
   – Documentum Application Servers
   – ATS: WebMD proprietary content transformer
   – PATS: WebMD proprietary content transformer
   – Page Builder: WebMD proprietary content editor




                                                      29
Application Administration Automation
         WebMD Content Servers

Initiate variables                    Start/stop SCS
based on portal                       (HostsSSH)

OCLI Query                            Start/stop JMS
Servers based on                      (HostsSSH)
portal, product,
host type, and                        Start/stop doc
environment                           base (HostsSSH)

Stop when query                       Clean up doc
servers only                          base (HostsSSH)

Decision: start or                    Send email notice
shutdown                              when finishes




                                                       30
Application Administration Automation
 OCLI: query server                 WebMD Application Servers
 list against SAS
                                                             HostsSSH: run
{device_servergroup_name
equal_to "${portal}"} &
                                                             commands in
{device_servergroup_name                                     each host in the
equal_to "${product}"} &                                     list
{device_servergroup_name
equal_to "${hostType}"} &
{device_servergroup_name
equal_to "${environment}"}
Filter String

for i in
`/opsw/api/com/opsware/server/S
erverService/method/.findServer
Refs:i
filter='${filterString}'`;
do
/opsw/api/com/opsware/server/Se
rverService/method/getServerVO
self:i="$i";
                                  HostsSSH: run commands
done
                                  in each host in the list
OCLI command

                                                                                31
Build Deployment Automation




                              35
Build Deployment Automation
  Goal: Develop an OO workflow to build RPM and deploy it to
  target servers

  Workflow key features:
  – Identify target servers, software policy and RPM in HP SA
  – Build RPM and upload it to HP SA
  – Stop/start applications in target servers
  – Detach/attach software policies and remediate target
    servers
  – Update RPM in software policies



                                                                36
Build Deployment Automation
  Workflow inputs:
  – Portal
  – Product
  – Host Type
  – Application
  – Environment
  – Build Version




                              37
Build Deployment Automation
  Identify target servers
   – Setup server groups in HP SA: portal groups, product
     groups, host type groups, and environment groups; then
     assign servers to appropriate groups




                                     Host type group
                                     Product group
                                     Portal group
                                     Environment group


                                                              38
Build Deployment Automation
  Identify target servers (Cont.)
   – Use OO SSH operation to execute OCLI command to get
     SAS server list
      • OCLI: findServerRefs and getServerVO in server service
      • Filter: Use aforementioned server groups as filter

   {device_servergroup_name          for i in
   equal_to "${portal}"} &           `/opsw/api/com/opsware/server/S
   {device_servergroup_name          erverService/method/.findServer
   equal_to "${product}"} &          Refs:i
   {device_servergroup_name          filter='${filterString}'`;
   equal_to "${hostType}"} &
                                     do
   {device_servergroup_name
                                     /opsw/api/com/opsware/server/Se
   equal_to "${environment}"}
                                     rverService/method/getServerVO
  Filter String                      self:i="$i";
                                     done
                                     OCLI command



                                                                       39
Build Deployment Automation
  Identify software policy & RPM
   – Software Policy naming in HP SA:
      {Application} – {Environment}
   – Use findSoftwarePolicyRefs OCLI command to identify
     software policy
   – Use findRPMRefs OCLI command to identify RPM




                                                           40
Build Deployment Automation
  Build RPM and upload it to HP SA
   – Required parameters: application and build version
   – A Perl application on Apache to build RPM
   – Client sends HTTP request with parameters to trigger the
     Perl application
   – Upload the RPM to HP SA with OCLI 1.0
   – Get the result back to the client




                                                                41
Build Deployment Automation
  Stop/start applications in target servers
   – Use “HostsSSH: run Linux commands in a list of hosts”
     utility workflow to run stop/start command on target
     hosts

  Detach/attach software policies and remediate target servers
   – Use OO out-of-box operations

  Update RPM in software policies
   – Use OCLI update command in software policy service to
     replace RPM in target software policy


                                                                 42
Build Deployment Automation
    Put it all together!         Start/stop application
                                 in target servers
         Build and upload RPM




                                Detach/attach SP,
Identify SP, RPM,               replace RPM in SP,
and target servers              and Remediate

                                                          43
Unattended WebMD Content Backup




                                  53
Unattended WebMD Content Backup
  Goal: Develop two OO workflows:
  1. shutdown all components and backup WebMD contents.
  2. bring all components up
  Workflow key features:
  – Identify target servers
  – Windows: stop/start windows svc and IIS sites
  – Linux: stop/start applications and run any script if needed
  – Send error/success email notices
  – Utilize OO scheduler to trigger cold backup
  – The workflow needs to setup another schedule to trigger
     another flow to bring up all components

                                                                  54
Unattended WebMD Content Backup
   Workflows Overview
Flow 1:                                    Flow 2:
    1.    Shut down all components             1. Check backup status
    2.    Run file back up                     2. Start all components
    3.    Run DB backup
    4.    Schedule another flow (flow 2)
          to start all components




                                       60 min




                                                                         55
Maintenance Free System




                          62
Maintenance Free System
  Goal: Proactively maintain the health of our applications
  without shutting them down

  Workflow key features:
   – Automatically clear cache and stale data without
     shutting down or restarting applications
   – Purge outdated publishing data and logs
   – Ensures that the most relevant information is retained.
   – Improves both system-level and publishing performance.
   – Minimize the need for frivolous restarts.
   – Keep our applications online longer



                                                               63
Maintenance Free System
  Workflow details
   – Single SSH Node
   – Runs a script to purge data/log files older than 3 days
   – Runs on OO scheduler once a day




                                                               64
Results from
HP SA/OO Implementation



                          65
Better Life in cmsops - 1




Sampling duration:                     Sampling duration:
Oct 11,2007 – Jul 24, 2009             Jul 25,2009 – Dec 10, 2009
653 days/426 working days              135 days/93 working days
Source: customized teamtrack reports   Source: customized teamtrack reports
and emails                             and emails
Summary                                Summary:
1772 teamtrack requests                248 teamtrack requests
479 email requests*                    35 email requests (reduced by 35%)
5.3 tickets/working day                3.1 tickets/working day
                                       285 cmsai request (self-service)




                                                                              66
Better Life in cmsops - 2
  Non-prod environments are self-serviceable
  15% of build deployment is automated
  Automatic/Scheduled data/log purging
  Scheduled/unattended cold backup*




                                               67
Q/A




      68
To learn more on this topic, and to connect with your peers
      after the conference, visit the HP Software Solutions
                           Community:
                www.hp.com/go/swcommunity
69 ©2010 Hewlett-Packard Development Company, L.P.
70

Mais conteúdo relacionado

Mais procurados

Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
Acquia
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guide
franarayah
 
WebSphere 6.1 Admin Course 1
WebSphere 6.1 Admin Course 1WebSphere 6.1 Admin Course 1
WebSphere 6.1 Admin Course 1
odedns
 

Mais procurados (18)

Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparison
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guide
 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application server
 
Windows Loves drupal
Windows Loves drupalWindows Loves drupal
Windows Loves drupal
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
 
Prudhvi
PrudhviPrudhvi
Prudhvi
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
 
Ibm web sphere application server interview questions
Ibm web sphere application server interview questionsIbm web sphere application server interview questions
Ibm web sphere application server interview questions
 
J boss
J bossJ boss
J boss
 
JBOSS Training
JBOSS Training JBOSS Training
JBOSS Training
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
 
WebSphere 6.1 Admin Course 1
WebSphere 6.1 Admin Course 1WebSphere 6.1 Admin Course 1
WebSphere 6.1 Admin Course 1
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs TomcatWebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
 

Destaque

Data Center Automation - Erwin Van Kruining
Data Center Automation - Erwin Van KruiningData Center Automation - Erwin Van Kruining
Data Center Automation - Erwin Van Kruining
HPDutchWorld
 
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
Rafael Alvarez Alonso
 
Amenazas Informáticas
Amenazas Informáticas Amenazas Informáticas
Amenazas Informáticas
emma4alcocer
 
Cartas de Servicios
Cartas de ServiciosCartas de Servicios
Cartas de Servicios
recursostic
 
Year ending april 2009 from sam
Year ending april 2009 from samYear ending april 2009 from sam
Year ending april 2009 from sam
Fred Segal
 
TFFI AND VULCAN WEBINAR
TFFI AND VULCAN WEBINARTFFI AND VULCAN WEBINAR
TFFI AND VULCAN WEBINAR
David White
 
Actividad n°2 slide share
Actividad n°2 slide shareActividad n°2 slide share
Actividad n°2 slide share
Jose Berecoechea
 

Destaque (20)

Day 2 p3 - automation
Day 2   p3 - automationDay 2   p3 - automation
Day 2 p3 - automation
 
Data Center Automation - Erwin Van Kruining
Data Center Automation - Erwin Van KruiningData Center Automation - Erwin Van Kruining
Data Center Automation - Erwin Van Kruining
 
Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)
 
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
Tasca 3.1.d.polinomi reduït. polinomi ordenat de forma creixent o decreixent
 
Horno AEG BP501432WM
Horno AEG BP501432WMHorno AEG BP501432WM
Horno AEG BP501432WM
 
Capexil Nov 2008pdf
Capexil Nov 2008pdfCapexil Nov 2008pdf
Capexil Nov 2008pdf
 
iCitizen 2008: Joseph Jaffe
iCitizen 2008: Joseph JaffeiCitizen 2008: Joseph Jaffe
iCitizen 2008: Joseph Jaffe
 
PKF Corporate Profile
PKF Corporate ProfilePKF Corporate Profile
PKF Corporate Profile
 
Amenazas Informáticas
Amenazas Informáticas Amenazas Informáticas
Amenazas Informáticas
 
Cartas de Servicios
Cartas de ServiciosCartas de Servicios
Cartas de Servicios
 
Element p5502 lte
Element p5502 lteElement p5502 lte
Element p5502 lte
 
Trabajo emprendedores1erparcial
Trabajo emprendedores1erparcialTrabajo emprendedores1erparcial
Trabajo emprendedores1erparcial
 
Mosalvito
MosalvitoMosalvito
Mosalvito
 
Modelacion parametrica
Modelacion parametricaModelacion parametrica
Modelacion parametrica
 
Iuavcamp presentazione[1]
Iuavcamp presentazione[1]Iuavcamp presentazione[1]
Iuavcamp presentazione[1]
 
Lifeware TEK Overview
Lifeware TEK OverviewLifeware TEK Overview
Lifeware TEK Overview
 
Year ending april 2009 from sam
Year ending april 2009 from samYear ending april 2009 from sam
Year ending april 2009 from sam
 
TFFI AND VULCAN WEBINAR
TFFI AND VULCAN WEBINARTFFI AND VULCAN WEBINAR
TFFI AND VULCAN WEBINAR
 
Media Usage Among 6 to 9 Year Olds
Media Usage Among 6 to 9 Year OldsMedia Usage Among 6 to 9 Year Olds
Media Usage Among 6 to 9 Year Olds
 
Actividad n°2 slide share
Actividad n°2 slide shareActividad n°2 slide share
Actividad n°2 slide share
 

Semelhante a system automation, integration and recovery

Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
abhi1112
 
Adhila_CV_DevOps_Linux_Profile
Adhila_CV_DevOps_Linux_ProfileAdhila_CV_DevOps_Linux_Profile
Adhila_CV_DevOps_Linux_Profile
Adhila Ansari
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
Nikunj_Hadoop_Admin_Resume
Nikunj_Hadoop_Admin_ResumeNikunj_Hadoop_Admin_Resume
Nikunj_Hadoop_Admin_Resume
Nikunj Ramani
 

Semelhante a system automation, integration and recovery (20)

Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
Adhila_CV_DevOps_Linux_Profile
Adhila_CV_DevOps_Linux_ProfileAdhila_CV_DevOps_Linux_Profile
Adhila_CV_DevOps_Linux_Profile
 
keerthi-resume
keerthi-resumekeerthi-resume
keerthi-resume
 
Anton_Vysotskiy_resume
Anton_Vysotskiy_resumeAnton_Vysotskiy_resume
Anton_Vysotskiy_resume
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
 
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
 
Nikunj_Hadoop_Admin_Resume
Nikunj_Hadoop_Admin_ResumeNikunj_Hadoop_Admin_Resume
Nikunj_Hadoop_Admin_Resume
 
Abid alam- CV
Abid alam- CVAbid alam- CV
Abid alam- CV
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
LAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinuxLAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinux
 
Lamp
LampLamp
Lamp
 
Run Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin OrchestrateRun Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin Orchestrate
 
Run Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin OrchestrateRun Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin Orchestrate
 
Run Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin OrchestrateRun Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin Orchestrate
 
Run Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin OrchestrateRun Book Automation with PlateSpin Orchestrate
Run Book Automation with PlateSpin Orchestrate
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

system automation, integration and recovery

  • 1. WebMD Health Corp.: agile system automation, integration and recovery using HP Server Automation and HP Operations Orchestration – Derek Chang Manager, WebMD – Roger Hsu Manager, WebMD 1 ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  • 2. Topics Who are we and where we stand Infrastructure Layout Middleware Integration HP OO preparation Application Administration Automation Build Deployment Automation Unattended WebMD Content Backup Maintenance Free System Results from HP SA/OO Implementation Q/A Introduction & Agenda 2
  • 3. cmsops Responsibility – Provide Maintenance and 24x7 support of CMS applications and their subsystems in production environment – Perform production system patches, bug fixes or software releases and other build deployments. – Support ongoing releases and developments in non-production environments – Define/document production support requirements, escalation procedures, issue tracking and guidelines for troubleshooting and build deployments. Resource: 4.5 headcounts* Universe – 300+ internal users – SDLC environments: dev/devint/qa00/qa01/qa02/perf/production – 130 servers – 4.4 TB of NAS storage for raw contents and site contents – Infrastructure: Zenoss, HPSA, HPOO, Serena teamtrack, MOSS, MSSQL/Oracle Core technology – EMC Documentum – Proprietary applications 3
  • 4. Documentum An enterprise content management platform, now delivered by EMC Corporation, as well as the name of the software company that originally developed the technology. Flexible, versatile, powerful yet complex platform Implementation in WebMD – 2 major portal sites – 6 Documentum products – Proprietary content editor for advanced features – Proprietary page transformer – Proprietary utilities: 15 applications 4
  • 5. Challenges Documentum is a new technology Documentum is a rare expertise Complexity of the CMS Cmsops support users within the company WebMD is a fast growing company 5
  • 6. Life in cmsops Sampling duration: Oct 11,2007 – Jul 24, 2009 653 days/426 working days Source: customized teamtrack reports and emails Summary 1772 teamtrack requests 479 email requests* 5.3 tickets/working day 6
  • 7. Our Approach Develop and utilize process templates Standardize and adopt the development model Identify what processes to be automated – Routine/mundane activities – Human interactions cause error/failure – Much longer Lifecycle/Service time than development time 7
  • 9. Infrastructure Layout Corporate infrastructure Active Directory Exchange server Teamtrack Win2K3 Opsware OO Opsware SAS Middleware integration PAS LAB Web interface RHEL4u6_64BIT VM Jboss 5.0 Central and RAS Central and RAS Business mashup engine App server(s) Web interface Web interface Web interface Web services Teamtrack client Repository Server repository Code base OO client Workflow engine Software repository Opsware agent Email adapter Scheduler engine OCLI engine Email sender NRAS Web services engine LDAP module JRAS JAVA API XML module SAS OCLI client Twister Data modeling SAS web services client Opsware agent engine Build server RHEL4u4_32BIT VM Web interface Rpm/msi package tools QA/DEV Clients NAS/Build repository OCLI 1.0 Opsware agent 9
  • 11. Middleware Integration Description – The core of the automation system – Connections among ticketing, monitoring, and system administration tools within WebMD operations. – Providing operation tools without users accessing underlying systems/tools 11
  • 12. Middleware Integration Ticketing system integration – Use web services to connect Serena Business Mashup (TeamTrack) – Pull information from tickets and pass data to other systems such as HP OO – Update tickets after automation operation 12
  • 13. Middleware Integration System Administration (HP SA/OO) integration – Java bean uses OO library to trigger OO workflow RSFlowInvoke rsf = new RSFlowInvoke(); rsf.setUrl(url+flowName+paraString); rsf.setUsername(user); rsf.setPassword(pw); result = rsf.invoke(); – Parse the workflow result (XML format) to get: • OO flow id and report URL • Start time and end time • OO flow response and result 13
  • 14. Middleware Integration Web Application – Allows users to use the automation tools via a web browser over network to prevent access to underlying systems/tools such as HP OO directly – Uses Ajax and Richfaces technologies to provide dynamic and intuitive user experiences – Developed under JBoss Seam framework – Adopts Hibernate as Database layer framework 14
  • 15. Middleware Integration Security and User Authorization – Integrates with WebMD LDAP servers that allows users to access the system with their WebMD id/password – JBoss Rules engine provides access control based on WebMD LDAP groups of each user 15
  • 17. HP OO Preparation Identify basic/out of the box OO operations – SSH – Windows Remote Command Execution – Change IIS status – Change Windows service status – OCLI to access HP SA – Iterator, Email CDO, …etc – Database operations (oracle/mssql) Modulization and utility workflows – Use OO operations to build up utility workflows that will be re-used frequently 17
  • 18. HP OO Preparation HostsSSH: run Linux commands in a list of hosts Given a list of hosts to Iterator (PAS out-of-box SSH Command (PAS operation) out-of-box operation) Call Error Notice flow 18
  • 19. HP OO Preparation HostsWinCommand: run Windows commands in a list of hosts Given a list of hosts to Iterator (PAS out-of-box SSH Command (PAS operation) out-of-box operation) Call Error Notice flow 19
  • 20. HP OO Preparation IIS Flows: – HostIISSites: control multiple IIS Sites on single host – HostsIISSites: control multiple IIS Sites on multiple hosts Given a list of hosts Given a list of sites Multiple hosts, multiple sites Single host, multiple sites 20
  • 21. HP OO Preparation Window Services flows: – HostWinSvcsCtrl: control multiple services on single host – HostsWinSvcsCtrl: control multiple services on multiple hosts Multiple hosts, multiple services Single host, multiple services 21
  • 23. Application Administration Automation Goal: Develop OO workflows to stop/start WebMD applications and sites Workflow key features – Identify target servers – Windows: stop/start windows svc and IIS sites – Linux: stop/start applications and run any script if needed – Send error/success email notices 23
  • 24. Application Administration Automation Users pick available host type and environment based on the permission given to their LDAP groups Login as consumer QA user Consumer users are NOT allowed to pick professional hosts QA users controls QA environments only 24
  • 25. Application Administration Automation Users hit one of the action buttons User hits “Query Servers” 25
  • 26. Application Administration Automation Web application then triggers corresponding HP OO workflow OO workflows connect HP SA with OCLI HP SA takes actions on target hosts 26
  • 27. Application Administration Automation The OO workflows sends the result back to middleware in XML format Middleware parses the XML and display the result in GUI dmas qa00 server 27
  • 28. Application Administration Automation Users receive email notices 28
  • 29. Application Administration Automation Application Administration workflows: – Documentum Content Servers – Documentum Application Servers – ATS: WebMD proprietary content transformer – PATS: WebMD proprietary content transformer – Page Builder: WebMD proprietary content editor 29
  • 30. Application Administration Automation WebMD Content Servers Initiate variables Start/stop SCS based on portal (HostsSSH) OCLI Query Start/stop JMS Servers based on (HostsSSH) portal, product, host type, and Start/stop doc environment base (HostsSSH) Stop when query Clean up doc servers only base (HostsSSH) Decision: start or Send email notice shutdown when finishes 30
  • 31. Application Administration Automation OCLI: query server WebMD Application Servers list against SAS HostsSSH: run {device_servergroup_name equal_to "${portal}"} & commands in {device_servergroup_name each host in the equal_to "${product}"} & list {device_servergroup_name equal_to "${hostType}"} & {device_servergroup_name equal_to "${environment}"} Filter String for i in `/opsw/api/com/opsware/server/S erverService/method/.findServer Refs:i filter='${filterString}'`; do /opsw/api/com/opsware/server/Se rverService/method/getServerVO self:i="$i"; HostsSSH: run commands done in each host in the list OCLI command 31
  • 33. Build Deployment Automation Goal: Develop an OO workflow to build RPM and deploy it to target servers Workflow key features: – Identify target servers, software policy and RPM in HP SA – Build RPM and upload it to HP SA – Stop/start applications in target servers – Detach/attach software policies and remediate target servers – Update RPM in software policies 36
  • 34. Build Deployment Automation Workflow inputs: – Portal – Product – Host Type – Application – Environment – Build Version 37
  • 35. Build Deployment Automation Identify target servers – Setup server groups in HP SA: portal groups, product groups, host type groups, and environment groups; then assign servers to appropriate groups Host type group Product group Portal group Environment group 38
  • 36. Build Deployment Automation Identify target servers (Cont.) – Use OO SSH operation to execute OCLI command to get SAS server list • OCLI: findServerRefs and getServerVO in server service • Filter: Use aforementioned server groups as filter {device_servergroup_name for i in equal_to "${portal}"} & `/opsw/api/com/opsware/server/S {device_servergroup_name erverService/method/.findServer equal_to "${product}"} & Refs:i {device_servergroup_name filter='${filterString}'`; equal_to "${hostType}"} & do {device_servergroup_name /opsw/api/com/opsware/server/Se equal_to "${environment}"} rverService/method/getServerVO Filter String self:i="$i"; done OCLI command 39
  • 37. Build Deployment Automation Identify software policy & RPM – Software Policy naming in HP SA: {Application} – {Environment} – Use findSoftwarePolicyRefs OCLI command to identify software policy – Use findRPMRefs OCLI command to identify RPM 40
  • 38. Build Deployment Automation Build RPM and upload it to HP SA – Required parameters: application and build version – A Perl application on Apache to build RPM – Client sends HTTP request with parameters to trigger the Perl application – Upload the RPM to HP SA with OCLI 1.0 – Get the result back to the client 41
  • 39. Build Deployment Automation Stop/start applications in target servers – Use “HostsSSH: run Linux commands in a list of hosts” utility workflow to run stop/start command on target hosts Detach/attach software policies and remediate target servers – Use OO out-of-box operations Update RPM in software policies – Use OCLI update command in software policy service to replace RPM in target software policy 42
  • 40. Build Deployment Automation Put it all together! Start/stop application in target servers Build and upload RPM Detach/attach SP, Identify SP, RPM, replace RPM in SP, and target servers and Remediate 43
  • 42. Unattended WebMD Content Backup Goal: Develop two OO workflows: 1. shutdown all components and backup WebMD contents. 2. bring all components up Workflow key features: – Identify target servers – Windows: stop/start windows svc and IIS sites – Linux: stop/start applications and run any script if needed – Send error/success email notices – Utilize OO scheduler to trigger cold backup – The workflow needs to setup another schedule to trigger another flow to bring up all components 54
  • 43. Unattended WebMD Content Backup Workflows Overview Flow 1: Flow 2: 1. Shut down all components 1. Check backup status 2. Run file back up 2. Start all components 3. Run DB backup 4. Schedule another flow (flow 2) to start all components 60 min 55
  • 45. Maintenance Free System Goal: Proactively maintain the health of our applications without shutting them down Workflow key features: – Automatically clear cache and stale data without shutting down or restarting applications – Purge outdated publishing data and logs – Ensures that the most relevant information is retained. – Improves both system-level and publishing performance. – Minimize the need for frivolous restarts. – Keep our applications online longer 63
  • 46. Maintenance Free System Workflow details – Single SSH Node – Runs a script to purge data/log files older than 3 days – Runs on OO scheduler once a day 64
  • 47. Results from HP SA/OO Implementation 65
  • 48. Better Life in cmsops - 1 Sampling duration: Sampling duration: Oct 11,2007 – Jul 24, 2009 Jul 25,2009 – Dec 10, 2009 653 days/426 working days 135 days/93 working days Source: customized teamtrack reports Source: customized teamtrack reports and emails and emails Summary Summary: 1772 teamtrack requests 248 teamtrack requests 479 email requests* 35 email requests (reduced by 35%) 5.3 tickets/working day 3.1 tickets/working day 285 cmsai request (self-service) 66
  • 49. Better Life in cmsops - 2 Non-prod environments are self-serviceable 15% of build deployment is automated Automatic/Scheduled data/log purging Scheduled/unattended cold backup* 67
  • 50. Q/A 68
  • 51. To learn more on this topic, and to connect with your peers after the conference, visit the HP Software Solutions Community: www.hp.com/go/swcommunity 69 ©2010 Hewlett-Packard Development Company, L.P.
  • 52. 70