Solution Brief Cisco Public

Achieve Continuous Integration and Delivery of Applications With DevOps Tools Integrated with Cisco UCS

Familiar tools and the Cisco Unified Computing System™ Modern approach (Cisco UCS®) platform make it • Programmable IT infrastructure • Support for DevOps methodologies easy for your development and operations (DevOps) teams to continuously deliver applications. Application updates are needed in production systems in minutes rather than months. That’s why organizations continue Rapid deployment to shift away from monolithic applications to three-tier, • Automation of DevOps tool chains microservices-based, and cloud-hosted applications using • Simplified configuration a DevOps methodology and Cisco UCS. With this powerful • Orchestration of IT resources platform, you can integrate, automate, and orchestrate applications and IT infrastructure—and bridge the gap between your development, testing, operations, and production teams to innovate faster and reduce deployment delays.

Proven and supported solutions Automating your DevOps tool chain • Integration with , DevOps is a cultural, collaborative shift that requires the use of , and multiple tools to code, build, test, package, release, configure, • Access to Cisco Developer monitor, and update applications. Integrating each tool with IT Network (DevNet) systems takes time, particularly when different mechanisms are used to interact with hardware. Cisco UCS is IT infrastructure that can be programmed as code to automate system configuration and resource allocation. Your teams can use a variety of DevOps management tools and align your IT infrastructure with applications, improving IT and developer productivity and reducing the risk associated with human error.

© 2017 Cisco and/or its affiliates. All rights reserved. Solution Brief Cisco Public

A unified API makes it possible Configuration The capability to provision entire The Cisco UCS Unified API is application stacks in minutes—from a well-structured interface that management automating Cisco UCS policies, service profile configurations, provides modern automation The Cisco UCS Unified API is also and resource pools to ongoing capabilities from the top of your used by Cisco’s large group of management and the detection and IT infrastructure to the bottom. management solution partners. Your remediation of unintended changes— At its foundation is a consistent DevOps teams can use the tools improves productivity, reduces the object model that defines every with which they are already familiar, likelihood of errors, and accelerates type of resource in the system: such as Puppet, Chef, and Ansible, time to deployment. from individual CPUs, memory to deploy, orchestrate, and manage chips, ports, and networking individual Cisco UCS servers, Cisco Puppet interfaces to entire servers, Nexus® switches, storage systems, Puppet Enterprise, a leading tool for chassis, storage systems, and and fabric interconnects, as well DevOps , virtual machines. You can manage as entire Cisco® converged and is rapidly becoming essentially a your infrastructure at any level you hyperconverged systems (Figure 1). choose with fine-grained control. standard for IT automation and management. With an extensible plug-in architecture and powerful declarative language, Puppet Programming tools provides a flexible, easy-to-use Policy platform that seamlessly integrates the unique capabilities of Cisco UCS LAN and Cisco Nexus solutions. You can: Templates, policies, and roles Ansible Global state HBA • Manage your infrastructure NIC and application workloads from end to end

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 • Use Puppet modules for Fabric interconnects Cisco UCS to perform initial infrastructure configuration

Fabric state Fabric Chef and server role assignment Fabric extenders • Perform rapid day-one

Logical object model Logical provisioning with the Puppet

Virtual interface cards Cisco UCS Uni„ed API Razor module, which provides UCS B22 M3 VM CONSOLE a robust set of programmatic

UCS Drive C24 M3 interfaces for provisioning the Blade and rack servers Puppet and workload Port • Use Cisco UCS service profiles Server state Server Server to create flexible definitions Virtual disks Disk groups ... of server roles and pass that information to Puppet Razor

Figure 1 The unified API provides programming tools with access to all Cisco UCS resources

© 2017 Cisco and/or its affiliates. All rights reserved. Solution Brief Cisco Public

Puppet resources • Perform day-two and beyond Ansible management and monitoring of Using Ansible playbooks, your • Puppet Force hosted modules applications using open-source DevOps teams can automate and for Cisco UCS Puppet or Puppet Enterprise orchestrate your IT environments • Puppet module for Cisco UCS • Deploy a wide range of managed simply by describing the Manager workloads across major operating infrastructure configuration that’s systems, virtual machines, and needed. A human-readable markup • Integrate Puppet Enterprise containerized environments language (YAML) defines a series and Razor and Cisco Unified Chef of “plays” that define automation Computing System white paper across an inventory of hosts. Each Chef is an open-source systems • Programmatic Provisioning with play consists of multiple tasks that and cloud infrastructure automation target one or more hosts and call Puppet Enterprise, Razor, and framework. Using a Chef cookbook, Cisco UCS document and blog an Ansible module that performs your DevOps teams can configure configuration operations. your Cisco UCS platforms and distribute policies. Everything Cisco UCS Manager, the Cisco Chef resources required to support your deployment UCS Unified API, and standalone • Ruby SDK download site is defined, including libraries, rack servers integrate with Ansible recipes, files, and more. (Figure 2). This integration allows • Configuring Cisco Integrated your DevOps teams to use Ansible Management Controller (IMC) Each cookbook and recipe—a to configure, deploy, and orchestrate for standalone servers cookbook collection of property definitions your Cisco UCS infrastructure. for setting device states—instruct • Video demo and hands-on the Chef client on how to configure Using the Ansible open and guide each node in the system. Because extensible framework along with the details for checking and setting the Cisco NX-API, you can use Ansible resources property states are abstracted, a single tool to manage your recipes can be used for multiple servers and Cisco Nexus 9000 and • Ansible and Cisco UCS operating systems and platforms. 3000 Series Switches, increasing management integration blog Recipe can also be used to install automation and simplifying daily IT • Managing Cisco UCS C-Series software packages, copy files, start tasks. The NX-API is a REST-like Servers with Ansible community services, and more. API for Cisco NX-OS Software– site and documents based systems. Ansible modules Cisco has developed a cookbook call NX-API functions to gather • Ansible modules for Cisco for standalone Cisco UCS C-Series real-time state data and configure UCS Manager community and Rack Servers and the Cisco or reconfigure switches. documents Integrated Management Controller (IMC). Built on the Cisco IMC Ruby Ansible modules for Cisco UCS are • Ansible modules for Cisco UCS software development kit (SDK), the based on the Cisco UCS Python download site cookbook simplifies the deployment SDK. A hands-on lab and guide are of servers and applications to any also available. physical, virtual, or cloud location. The Ruby SDK is also available as a Ruby Gem.

© 2017 Cisco and/or its affiliates. All rights reserved. 33 Solution Brief Cisco Public

• Code samples: Examples give developers a starting point and accelerate the learning process. Database • DevNet Express: This train-the- Hosts trainer program helps systems engineers position with their Public and private clouds Inventory API peers, partners, and customers. • Cisco Live training events: These Cisco networking developer-focused presentations

Users and hands-on workshops are delivered at Cisco Live events. Modules Plug-ins Cisco Demo Cloud Ansible playbook Ansible automation engine The Cisco Demo Cloud (dCloud) Cisco UCS allows your DevOps teams to see Cisco UCS and other Cisco products Figure 2 Ansible playbooks automate and orchestrate Cisco UCS deployments in action. Using preconfigured environments, your DevOps teams get hands-on experience with Hands-on Developer resources: simulated and physical infrastructure and comprehensive user guides to programming Cisco DevNet understand demo workflows. The Cisco UCS Platform Emulator The Cisco Developer Network Detailed labs are available to help lets you use Cisco UCS Manager (DevNet) helps you get your you use Cisco UCS PowerTool and the Cisco UCS Unified API questions answered so that you software and the Python SDK with without requiring physical hardware. can keep your project moving. Cisco UCS infrastructure. The This approach thus also lets you DevNet serves as an aggregation programmability lab can also be use any tool integrated with the point for developers, giving you used with Puppet and Ansible. API, including Ansible, Chef, and free and quick access to the tools, Search the dCloud catalog to find Puppet. This innovative tool can information, and resources you need demos, training, and sandboxes for help you shorten development to automate with Cisco UCS and every Cisco architecture. cycles and create and test programs other programmable Cisco products. using the software installed on DevNet offers: a laptop. Nearly all Cisco UCS For more Manager features are available, • Learning Labs: These hands-on including access to the Cisco labs introduce developers information UCS Unified API. Access to this to Cisco product APIs. For more information about Cisco robust, simulated environment is • Sandbox environments: Physical UCS and tool integration, visit: provided at no additional cost and virtual sandbox testing • Cisco UCS management areas allow developers to use Cisco product APIs, including • Cisco UCS integrations the Cisco UCS Unified API.

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/ trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) LE-57203-00 09/17