DevOps for the Cloud. Achieving agility throughout the application lifecycle. The business imperative of agility



Similar documents
Logging and Alerting for the Cloud

Hybrid Cloud Computing

Identity and Access Management for the Cloud

Top 10 Most Popular Reports in Enterprise Reporter

Eight Ways Better Software Deployment and Management Can Save You Money

Understanding Enterprise Cloud Governance

How to Deploy Models using Statistica SVB Nodes

Dell One Identity Manager Scalability and Performance

Data center and cloud management. Enabling data center modernization and IT transformation while simplifying IT management

Proactive Performance Management for Enterprise Databases

Governed Migration using Dell One Identity Manager

Simplify Your Migrations and Upgrades. Part 1: Avoiding risk, downtime and long hours

Solving the Security Puzzle

Dell One Identity Cloud Access Manager How to Configure vworkspace Integration

formerly Help Desk Authority Quest Free Network Tools User Manual

Go beyond basic up/down monitoring

Navigating the NIST Cybersecurity Framework

Managing the Risk of Privileged Accounts and Privileged Passwords in Civilian Agencies

How To Improve Performance Monitoring

SharePlex for SQL Server

Spotlight Management Pack for SCOM

How To Use Shareplex

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

Dell Statistica. Statistica Document Management System (SDMS) Requirements

Adopting a service-centric approach to backup & recovery

Types of cyber-attacks. And how to prevent them

Dell InTrust Preparing for Auditing Cisco PIX Firewall

Getting Agile with Database Development

How to Quickly Create Custom Applications in SharePoint 2010 or 2013 without Custom Code

Dell One Identity Cloud Access Manager How To Deploy Cloud Access Manager in a Virtual Private Cloud

Desktop Authority vs. Group Policy Preferences

Identifying Problematic SQL in Sybase ASE. Abstract. Introduction

Understanding and Configuring Password Manager for Maximum Benefits

Achieve Deeper Network Security

Hybrid cloud on your terms: Dell Cloud Manager with Dell Hybrid Cloud System for Microsoft

Ensuring High Availability for Critical Systems and Applications

Dell One Identity Cloud Access Manager How to Configure for High Availability

Quest vworkspace Virtual Desktop Extensions for Linux

Introduction to Version Control in

Best Practices for Secure Mobile Access

Dell vworkspace Supports Higher Education s Desktop Virtualization Needs

Organized, Hybridized Network Monitoring

Dell Migration Manager for Enterprise Social What Can and Cannot Be Migrated

Reverse Proxy Three Myths Busted

Spotlight Management Pack for SCOM

2.0. Quick Start Guide

Dell One Identity Cloud Access Manager How to Configure for SSO to SAP NetWeaver using SAML 2.0

10 easy steps to secure your retail network

Best Practices for an Active Directory Migration

Dell InTrust Preparing for Auditing and Monitoring Microsoft IIS

Seven Steps to Designating Owners of Unstructured Data

Managing the Risk of Privileged Accounts and Privileged Passwords in Defense Organizations

ChangeAuditor 6.0 For Windows File Servers. Event Reference Guide

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

ChangeAuditor 5.6. For Windows File Servers Event Reference Guide

New Features and Enhancements

CA Virtual Assurance for Infrastructure Managers

Dell InTrust Preparing for Auditing CheckPoint Firewall

The Top 10 Things DBAs Should Know About Toad for IBM DB2

Dell One Identity Manager 7.0. Help Desk Module Administration Guide

Using Self Certified SSL Certificates. Paul Fisher. Quest Software. Systems Consultant. Desktop Virtualisation Group

Dell Unified Communications Command Suite - Diagnostics 8.0. Data Recorder User Guide

Object Level Authentication

Achieve Deeper Network Security and Application Control

Dell NetVault Backup Plug-in for Advanced Encryption 2.2. User s Guide

Dell One Identity Cloud Access Manager SonicWALL Integration Overview

Ensuring a Successful Migration, Consolidation or Restructuring

The Need for Enterprise Cloud Management

White Paper Take Control of Datacenter Infrastructure

formerly Help Desk Authority Upgrade Guide

Dell Statistica Document Management System (SDMS) Installation Instructions

4.0. Offline Folder Wizard. User Guide

Dell Statistica Statistica Enterprise Installation Instructions

Defender Delegated Administration. User Guide

Dell InTrust Preparing for Auditing Microsoft SQL Server

CA Automation Suite for Data Centers

Dell One Identity Quick Connect for Cloud Services 3.6.1

Foglight. Foglight for Virtualization, Free Edition Installation and Configuration Guide

Dell One Identity Cloud Access Manager How to Configure Microsoft Office 365

Achieving High Oracle Performance

CA Process Automation for System z 3.1

Designing, Building and Deploying Hybrid and Private Clouds

Quest ChangeAuditor 4.8

Dell One Identity Quick Connect for Cloud Services 3.6.0

Foglight. Managing Hyper-V Systems User and Reference Guide

Quick Connect Express for Active Directory

Dell NetVault Backup Plug-in for SharePoint 1.3. User s Guide

accelerating time to value in Microsoft Hyper-V environments

Dell Enterprise Reporter 2.5. Configuration Manager User Guide

Self-Service Provisioning and the Private Cloud

Dell InTrust 11.0 Best Practices Report Pack

Move Data from Oracle to Hadoop and Gain New Business Insights

11 ways to migrate Lotus Notes applications to SharePoint and Office 365

EMC IT AUTOMATES ENTERPRISE PLATFORM AS A SERVICE

Active Directory Auditing: What It Is, and What It Isn t

Dell One Identity Cloud Access Manager Installation Guide

Quest InTrust for Active Directory. Product Overview Version 2.5

CLOUD TECH SOLUTION AT INTEL INFORMATION TECHNOLOGY ICApp Platform as a Service

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Transcription:

DevOps for the Cloud Achieving agility throughout the application lifecycle We don t have to tell you that your company is under increasing pressure to respond more quickly to changing business conditions. IT professionals like you, in turn, are under pressure to deliver applications to support that quick response. As you well know, the common term for this responsiveness is agility, and its underlying infrastructure is cloud computing. While you may treat cloud computing as an exciting technology development, business leaders have far higher expectations for it. They expect nothing less than being able to improve overall business agility by utilizing cloud computing to bring new offerings to market more quickly. The shift to automated processes operating on a cloud infrastructure requires changes to how applications are provisioned and operated throughout their lifecycle. Developing an integrated strategy to achieve lifecycle agility has given rise to a new operating paradigm commonly referred to as DevOps. This white paper will examine the shift to DevOps, and why and how integrated cloud management as part of an overall DevOps strategy enables true application lifecycle agility. The business imperative of agility The financial crisis that started in 2008 and the ongoing globalization of the world economy have forced change as never before. Companies are facing economic stresses significantly more challenging than previously experienced, resulting in an increasing need to respond and respond more quickly to rapidly changing business conditions. Likewise, the information systems underpinning today s companies also have to be able to transform rapidly to support acquisition integration, new market offerings, joint ventures and the like. This rapid transformation capability may be summed up in one word: agility.

The move to virtualization has helped improve agility by removing the need to provision hardware. What is agility? Agility refers to the ability of information systems to quickly and easily: Add application functionality to respond to customer demands Move through application lifecycle stages: development, testing, pre-production, production Incorporate new functionality or integrate new user populations due to acquisitions or mergers Change capacity to meet higher or lower demand Unfortunately, the traditional manual methods of application and infrastructure management are poorly suited for agility and scale. Manual system administration is timeconsuming and error-prone, both destructive of agility. The move to virtualization has helped improve agility by removing the need to provision hardware. Users can request virtual machines (VMs), which are served up quickly. Removing the need to install hardware can reduce a portion of the total application provisioning time frame. However, many organizations have implemented virtualization only to find that the effect of its automation is limited, with little overall change to application agility. These organizations typically have carried over manual system administration techniques, which are slow and error-prone. So virtualization, while extremely valuable, does not, by itself, achieve the endto-end business agility required in today s economic environment. Leaving established processes in place while implementing virtualization automates only part of the application lifecycle. Consequently, the executives responsible for overall business direction find that virtualization is insufficient to achieve their true goal: improving overall business agility by bringing new offerings to market more quickly. The rise of DevOps and the role of configuration management In response to the need to quickly configure the software components on virtualized servers, a new discipline and set of tools has come onto the scene. What is DevOps? DevOps is a set of practices focused on using a new generation of tools to automate the configuration process for both system resources (for example, the VM operating system and middleware components), as well as application components (for example, PHP website files). By capturing configuration information in scripts and executing them with an automated scheduler, implemented by a tool that enforces a defined workflow, DevOps solves the problems associated with the manual configuration process. The end result is that server deployment time shrinks from hours or days to seconds or minutes. Of course, the use of scripts to automate configuration management tasks is not new. Individual system administrators have always created scripts to implement commonly executed tasks. The drawback to this approach is that the scripts are limited in scope, highly idiosyncratic and not shared. Oftentimes, when a system administrator leaves an organization, it is left with a non-working incomprehensible set of scripting files and must rebuild an automation capability from scratch. By contrast, the new breed of tools brings vastly improved functionality to the configuration automation process and implements the promise of DevOps: Standardized tools ensure that all applications within an organization share a common approach to configuration automation. Standardized tools mean that the organization is not dependent upon a single individual to execute and maintain configuration automation. Tools are designed for more sophisticated use, ensuring they have controls over configuration mechanisms like order of 2

execution, timing of script execution and parameter-based execution, which allows sophisticated configuration control flow. The extended functionality means the tools can be used throughout the application lifecycle process by development, test and operations groups. Use of common server configuration tools enforces consistency in application operation. Because the tools are widely used across the entire technology industry, their functionality is vastly more capable than scripts created and maintained by a single person. Because they are publicly available, configuration scripts can be shared, allowing open source-like community involvement to improve capability across the industry. Because of these benefits, every organization should be looking at configuration management (aka IT automation) tools. Their use in server configuration can transform an inefficient, mistake-prone process into a streamlined process that ensures speed, consistency and quality in a critical application management task. The role of cloud management Cloud computing is often the driving factor for organizations that implement configuration management. Because cloud computing environments are dynamic, shared resources, it is quickly clear that manual system administration techniques are insufficient. The ability to implement automated, consistent server configuration without limit on the number of servers or how frequently new servers are instantiated is a perfect match for these dynamic environments. However, it quickly also becomes clear that dynamic, shared environments require more than automated system configuration. The following four key areas of functionality are crucial in a cloud environment and configuration management systems do not address these requirements. Access controls In a shared environment, it is critical to integrate cloud identity management with the corporate identity management system. If integration is not present, employees who leave the organization may not be removed from the identity management system used by cloud applications, posing the security issue of inappropriate access. Governance Associated with access controls is the need to manage resource actions correctly. Without a robust governance capability in place, it is impossible to control user rights with cloud functionality. For example, for cloud applications in development, the organization may have a policy of allowing software engineers to launch and terminate VMs, while for production systems, only operations personnel may have that right. Billing In a shared resource environment, resource costs must be assigned appropriately. Direct chargeback billing to user organizations for consumed resources is crucial to ensure responsible use. In addition, it is also important to track overall costs and measure them against allowed budget, thereby ensuring that user organizations stay within their approved spend authorization levels. Application management Application management refers to the initial launch of application VMs, their ongoing monitoring and adjustment of the application to respond to resource failure or user load via failover or autoscaling. Failover refers to launching new resources (for example, VMs) in response to the failure of an application resource. The term auto-scaling refers to the ability of an application to automatically add or remove computing resources in response to changing conditions. A common auto-scaling decision criterion is processor load when the servers within an application tier experience high processor loads, auto-scaling will add additional servers to the tier. Implementing automated, consistent server configuration without limit on the number of servers is a perfect match for dynamic environments. 3

The best practice for an integrated DevOps environment is to use strippeddown templates, containing only the necessary software needed to create a virtual machine. Likewise, when the tier s servers processor load drops below a given level, the application terminates VMs to bring the number of servers to an appropriate level. Auto-scaling enables organizations to always have sufficient compute resources available while avoiding extra costs associated with low-load VMs. Cloud management systems combine policy, control and monitoring to ensure that IT organizations operate their cloud environments efficiently and in compliance with organizational practices and processes. They are a critical capability as companies look toward a future of autonomic applications, hybrid cloud deployments and heterogeneous cloud environments. Marrying configuration and cloud management A question naturally arises: How should companies take advantage of both configuration and cloud management, and how should they be integrated with the underlying cloud software platforms that perform resource management provisioning VMs, making network connections and assigning storage? While some organizations attempt to use either configuration or cloud management within their infrastructure environment, the most successful cloud Cloud environment Cloud manager layer Configuration manager layer Resource manager layer Cloud infrastructure users implement an environment that is comprised of three layers (see Figure 1 below). Resource manager layer As noted earlier in this white paper, many organizations begin using their cloud computing orchestration software by following a virtualization best practice creating what are called VM templates, which contain a full software payload consisting of operating system, middleware components and application software components. They quickly discover that with the rapid pace of change in the many software components that are contained within a VM that keeping templates up to date and consistent is a nightmare. The best practice for an integrated DevOps environment is to use strippeddown templates, containing only the necessary software needed to create a VM. This approach, often referred to as JeOS (just enough operating system), frees IT organizations from constantly creating new templates that are difficult to track and are quickly obsolete and difficult to track. In an integrated environment that uses both configuration and cloud management systems, the JeOS methodology performs the following tasks: Define application Manage user role and responsibility Enforce organization cloud governance Assign resource chargeback Launch and manage application Define server role Install middleware components Install software packages Configure middleware/software Create VM Configure VM memory Assign network connectivity Attach storage Install configuration and cloud management agents Figure 1. The three layers should be organized in this fashion 4

Create VM Configure VM memory Assign network connectivity Attach VM storage Install configuration management agent Install cloud management agent The same JeOS methodology is used whether the company has implemented a private cloud product (for example, vcloud Director, OpenStack or CloudStack) or is using a public cloud service provider (for example, Amazon Web Services). Configuration manager layer This layer is where configuration management comes into play. Using a tool such as Chef, Puppet or CFEngine, JeOS virtual machines are completed by having the configuration management tool of choice install appropriate software packages. The best practice with respect to use of these tools is to view the responsibility of this layer as configuring individual servers, ensuring that every server used in a given application has exactly the right configuration of software packages and configuration to fulfill its role. Resource manager layer duties are carried out by the configuration management server communicating with the VM configuration management agent. The server downloads the appropriate packages onto the VM, then the agent kicks off installation and configuration for each package. Typically, each VM configuration definition is made up of numerous smaller scripts, which, when assembled, combine to create a VM type. Constructing a VM from a collection of scripts makes it easy to create a new VM type by taking an existing VM definition and modifying it by adding and/or removing individual scripts; the resulting script collection forms the definition of a new VM type. Using a number of individual scripts to define a VM makes it easy to update an operational VM the configuration management server connects to the VM agent and commands it to update one or more packages. This fine-grained control enables organizations to quickly roll out changes to individual software packages used by VMs without needing to update an entire template and reboot all affected VMs. In summary, the role of the configuration manager layer is to ensure that VMs within an application are configured properly with all necessary software packages to fulfill their specific application role. The best practice to implement this layer is to use the new breed of configuration management tools such as Chef or Puppet. Cloud manager layer The role of the cloud manager layer is to knit together all of an application s VMs into a coordinated whole, implementing user management, application governance, billing and application management. Commonly referred to as cloud management systems, tools like Dell Cloud Manager take on the responsibility for managing the collection of VMs that make up an application, ensuring that their operation provides high availability and compliance with applicable laws and company policies. Cloud management tools typically control user access who can access VMs and what actions individual users can perform on those VMs. In addition, cloud management tools monitor ongoing performance of all VMs that comprise an application to ensure the application meets necessary availability and user response times. If the cloud management tool identifies unacceptable metrics in these areas, it will raise an alert so that operations personnel can intervene and correct the problem. Cloud management tools also translate application resource use into billable Dell Cloud Manager manages the virtual machines that make up an application, ensuring that their operation provides high availability and compliance. 5

A new generation of tools offers automated, consistent system configuration and administration this is the promise of cloud computing. costs that will be charged back to application users. Using organizationspecific application metrics (for example, hours of VM operation), cloud management tools assign costs to appropriate organizations, using the identity management functionality described above to assign costs to those organizations. Finally, cloud management tools enforce governance for applications, allowing organizations to be confident that their applications conform to all necessary company policies and applicable laws and regulations. For example, company policy might be that only operations personnel can access running VMs in production applications, while a broader set of personnel can access running VMs in applications in the development stage. The overall role of cloud management tools is to coordinate all of the resources that comprise an application and to ensure they operate as a coherent entity. Typically, an application is defined at the cloud management layer as a number of VMs, each of which performs a specific role. For each VM, the cloud management tool will call the configuration management tool to install and configure all of the software packages necessary for a VM to perform its role. Once an application is launched, the cloud management tool will monitor its ongoing performance and take appropriate actions to ensure proper application operation. This monitoring may take the form of notifying operations personnel of individual resource failure. It may also take the form of launching or terminating VMs, adjusting overall resource levels to ensure acceptable application performance. Conclusion The promise of DevOps is to operate a cloud environment in such a way that IT organizations can support today s business requirements for agility and speed. The traditional manual methods of system configuration and administration are slow and error-prone. A new generation of tools has come onto the scene that offers automated and consistent system configuration and administration this is the promise of cloud computing. Many IT organizations struggle to understand which of these tools should be adopted, and how they should be integrated to support DevOps across the complete application and throughout the entire application lifecycle. The best DevOps approach is to recognize the appropriate role and advantages of the new tools and to ensure that they are used to support cloud application DevOps. In order to achieve cloud application DevOps, three layers of functionality are necessary (see Figure 2). Resource manager layer Provision necessary resources for applications. These are fundamental resources like VMs with associated storage and network connections. Products such as vsphere, OpenStack or CloudStack typically provide resource manager functionality and are commonly referred to as cloud software. Configuration manager layer Configure resources to fulfill their role within an application. Configuration manager products install and configure software packages to enable individual VMs to perform their role within the overall application. Products used to provide configuration manager functionality, typically called configuration management products, include Chef, Puppet and CFEngine. Cloud manager layer Coordinate the collection of resources to ensure functionality and performance of the entire application. Products that manage the cloud layer ensure that each VM is operating properly and 6

that sufficient resources are available to meet application demand. These products also control user access to application resources and assign costs for those resources to appropriate user organizations. The most common term for products that manage this layer is cloud management software. Each of the three layers performs a vital role, and organizations that aspire to the speed and agility of DevOps must implement each layer. However, the layers must be integrated and coordinated to achieve agility throughout the application lifecycle. Dell Cloud Manager supports major cloud software products and cloud service providers, and can integrate with all leading configuration management software. Implementing and integrating Cloud Manager with an appropriate configuration management product and the organization s chosen cloud environment enables IT organizations to achieve the promise of DevOps. About Dell Cloud Manager The enterprise cloud management solution Cloud Manager is a cloud infrastructure management solution for deploying and managing enterprise-class applications in public, private and hybrid clouds. The Cloud Manager multi-cloud architecture provides enterprises around the world with agility, governance and choice. Agility Easily deploy and manage cloud applications across public and private clouds. Developers can utilize selfservice provisioning, a service catalog of pre-approved templates for easy re-use and automation capabilities to quickly deploy VMs, curated software stacks and complete applications. Governance Maintain control over cloud operations through integration with identity management systems, finegrained access controls, financial tracking and logging/monitoring of all actions taken within your cloud environment. Choice Cloud Manager supports the leading public and private cloud platforms, plus leading configuration management tools, and integrates into your existing operations, such as billing and monitoring. Cloud Manager can be delivered as software as a service (SaaS) or deployed on-premises. For more information on Cloud Manager, visit www.enstratius.com. DevOps: Agility across application lifecycle Cloud management Purpose: Multi-cloud single-pane-of-glass management, governance, policy enforcement, cost assignment and app auto-scaling Task: Ensure organization-wide consistent management of cloud policies and portfolio of apps Appropriate product: Dell Cloud Manager Configuration management Purpose: Consistent, automated configuration of individual cloud computing server instances Task: Deploy middleware and software packages Appropriate product: Chef, Puppet, CFEngine Resource management Purpose: Create infrastructure foundation for cloud computing Task: Deploy servers, install OS Hardware/hypervisor deployment product(s): Cobbler (Linux), Windows Development Services (Microsoft) VM orchestration product(s): vcloud, OpenStack, CloudStack, Microsoft Windows Server/System Center Figure 2. Illustrates the layers and related recommended products 7

For More Information 2014 Dell, Inc. ALL RIGHTS RESERVED. This document contains proprietary information protected by copyright. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any purpose without the written permission of Dell, Inc. ( Dell ). Dell, Dell Software, the Dell Software logo and products as identified in this document are registered trademarks of Dell, Inc. in the U.S.A. and/or other countries. All other trademarks and registered trademarks are property of their respective owners. The information in this document is provided in connection with Dell products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Dell products. EXCEPT AS SET FORTH IN DELL S TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, DELL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL DELL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF DELL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Dell makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Dell does not make any commitment to update the information contained in this document. About Dell Software Dell Software helps customers unlock greater potential through the power of technology delivering scalable, affordable and simple-to-use solutions that simplify IT and mitigate risk. The Dell Software portfolio addresses five key areas of customer needs: data center and cloud management, information management, mobile workforce management, security and data protection. This software, when combined with Dell hardware and services, drives unmatched efficiency and productivity to accelerate business results. www.dellsoftware.com. If you have any questions regarding your potential use of this material, contact: Dell Software 5 Polaris Way Aliso Viejo, CA 92656 www.dellsoftware.com Refer to our Web site for regional and international office information. 8 WhitePaper-DevOps-US-LM-25583