Cisco Multicloud Portfolio: Overview
Cloud Consume overview
Cloud Consume: use cases
Could Consume benefits
Governance and control
Alert and respond
For more information
Cloud computing is changing rapidly. To get the best technological and business advantage, you need an evolving cloud strategy to put the right workload in the right environment. You have many choices, and there are good business reasons to use different on-premise or cloud environments: agility, efficiency, costs, security, control, compliance, and performance, to name a few. As a result, a growing mix of applications is available across multiple environments. These applications need to be managed to deliver the promised benefits of cloud.
If they are not managed effectively, the complexity of managing a hybrid service portfolio can undermine the promised cost and agility values of cloud computing. The ability to seamlessly deploy applications becomes crucial with hybrid clouds. You need to deal not only with deployment of applications but also with their ongoing management and performance monitoring.
This guide documents how the Cisco CloudCenter™ solution, working with AppDynamics, can help you seamlessly deploy and monitor applications and then optimize your deployments to meet changing business and user needs. The audience for this guide includes but is not limited to infrastructure administrators and application developers.
Cisco Multicloud Portfolio: Overview
In a multicloud world, growing complexity is driving a cloud gap between what your customers require and what your people, processes, and tools can support. With the Cisco® Multicloud Portfolio, we make it simple: simple to connect, simple to protect, and simple to consume.
The Cisco Multicloud Portfolio is a set of essential products, software, and services supported by simplified ordering and design deployment guides to help you when it comes to multicloud adoption. Cisco Multicloud Portfolio consists of four component portfolios (Figure 1):
● Cloud Advisory: Helps you design, plan, accelerate, and reduce risk during your multicloud migration
● Cloud Connect: Securely extends your private networks into public clouds and ensures the appropriate application experience
● Cloud Protect: Protects your multicloud identities, direct-to-cloud connectivity, data, and applications, including Software as a Service (SaaS) and detects infrastructure and application threats on-premises and in public clouds
● Cloud Consume: Helps you deploy, monitor, and optimize applications in multicloud and container environments
Figure 1. Cisco Multicloud Portfolio comprises Cloud Advisory, Cloud Connect, Cloud Protect, and Cloud
Cloud Consume overview
Cloud Consume consists of essential products to help deploy, monitor, and optimize applications in multicloud environments:
● Cisco CloudCenter
● Cisco Container Platform
For detailed use cases, see the section about Cloud Consume on the portfolio’s solution page at https://www.cisco.com/go/multicloud.
Cloud Consume: use cases
Cloud Consume allows you to scale applications, gain visibility into application performance, control cloud spend, and manage the full application lifecycle. Cloud Consume delivers value in the following use cases:
● Optimize resources by scaling applications based on end user performance and business metrics (such as conversion rate, page-loading time) to align with your organization’s needs.
● Govern and control who deploys what and where to ensure security and compliance while controlling resource usage and cloud costs.
● Optimize service quality by identifying and responding to emerging issues before they impact your business.
● Seamlessly deploy and monitor using automated provisioning of fully configured application stacks with monitoring agents in any environment.
● Optimize code by identifying code-level performance issues.
● Migrate with comparison by first identifying services to migrate, and then getting an accurate view of applications’ technical and business metrics (before and after) to prove migration success.
● Simplify deployment and management of Kubernetes containers through automation and end to end lifecycle management of container clusters.
● Optimize containers for multicloud environments - on-premises and in public clouds e.g. GCP etc.
Could Consume benefits
Cloud Consume benefits include:
● Seamless deployment and monitoring of applications across multiple clouds
● Ability to identify performance trends to right-size IT resources and control cloud spend
● Ability to identify application dependencies to prioritize migration candidates
● Ability to analyze user, application, and business performance before and after migration
● 20–30x faster application deployment time
● 10–20% lower overall TCO
● Faster application turnaround cycles (develop-test-stage-run)
● Reliable multicloud performance
● Ability to collect business metrics (such as conversion rates, costs) to drive cloud consumption decisions
● Reduced complexity with fully curated, open container management for production-grade Kubernetes
The rapid pace of innovation puts tremendous pressure on your organization to accelerate its ability to deploy applications. By being able to deploy applications quickly, rather than in days or weeks, the cloud provides tremendous value. It is not surprising then, that today, over 73 percent of organizations have adopted or are adopting a hybrid cloud strategy.
Hybrid cloud strategies are continuously evolving to make sure that the right workloads are in the right environment to result in the best technological—and business—advantages. You have many choices available to you, and there are compelling business reasons to utilize different environments, such as agility, efficiency, security, control, compliance, and performance.
However, along with different groups of users utilizing a growing diversity of applications across multiple environments and clouds, comes increasing complexity. If not managed effectively, the complexity of a hybrid service portfolio can completely undermine the value, agility, and cost savings associated with cloud computing.
Experts agree that we need a new approach that supports seamless deployment and monitoring across mulitcloud environments.
The Cisco CloudCenter solution is a hybrid cloud management platform that securely provisions infrastructure resources in data center, private, and public clouds so that you can quickly and easily model, deploy, and manage applications and data in any environment. Whether you are deploying simple or complex workloads to one or many environments, Cisco CloudCenter enables users to serve themselves without having to understand the nuances of the underlying automation mechanisms or cloud environments.
The solution supports a wide range of uses in enterprise IT organizations, including application migration, DevOps automation across various cloud environments, and dynamic capacity augmentation within or between clouds. It also can serve as the foundation for a comprehensive hybrid IT-as-a-service delivery strategy.
Each cloud, whether private or public, uses a different approach when it comes to compute, network, security, and storage. Cisco CloudCenter abstracts these differences for the end user, providing a single-pane-of-glass approach that makes deployment of applications seamless across all clouds without the need for cloud-specific scripting. In addition to eliminating cloud lock-in, it also simplifies cost control, security, governance, and portability.
Cisco CloudCenter begins with a cloud-independent portable object model called an application profile that combines infrastructure-automation and application-automation layers in a single deployable blueprint. Application profiles define each application’s deployment and management requirements and outline the relationship between users, deployment environments, and deployable blueprints. Cisco CloudCenter also abstracts Infrastructure as a Service (IaaS) APIs that are different in each environment, and it uses a unique and patented architecture to allow a single deployable blueprint to be used in a user’s choice of target environments. These cloud-specific orchestrators abstract applications from the cloud, interpret the needs of applications, and translate these needs to cloud-specific services and APIs.
● Descriptions of application topology and dependencies
● Infrastructure resource and cloud service requirements
● Descriptions of deployment artifacts, including packages, binaries, scripts, and (optionally) data
● Orchestration procedures needed to deploy, configure, and secure all application components
● Run-time policies that guide ongoing lifecycle management
Each application profile can also provide details such as upgrade and backup-and-restore information that is needed when migrating an application between clouds.
AppDynamics Application Performance Management
AppDynamics Application Performance Monitoring (APM), a component of the AppDynamics App iQ platform, gives you end-to-end visibility into the performance of your applications. AppDynamics works with popular programming languages such as Java, .NET, Node.js, PHP, Python, C/C++, and more, enabling you to:
● Troubleshoot problems such as slow response times and application errors
● Automatically discover the application topology, and how components in the application environment work together, to fulfill key business transactions for users
● Measure end-to-end business transaction performance, along with the health of individual application and infrastructure nodes
● Receive alerts based on custom or built-in health rules, including rules against dynamic performance baselines that alert you to issues in the context of business transactions
● Analyze your applications at the code-execution level using snapshots
The prerequisites for this design are:
● Basic knowledge of Cisco CloudCenter
● Cisco CloudCenter is set up and running
● Multiple clouds are integrated into Cisco CloudCenter using orchestrators
● Governance rules are enabled (please refer to the Governance and Control Design Guide)
● Image maps are set up for the clouds that are being used
● AppDynamics SaaS or on-premises version is up and running
● You have decided where to integrate AppDynamics monitoring agents
The Cisco CloudCenter solution allows integration of AppDynamics agents at different levels, including:
● Cloud level: The agent is installed on all deployments on a given cloud.
● Application-tier level: The agent is installed on all the application profile deployments regardless of which cloud they are deployed on.
● Service level: The agent is installed on all application profiles consuming the selected service.
● Deployment level: The user makes the decision of where to install the agent during deployment.
This guide integrates agents at the application-tier level. This means the agent is installed every time an application profile is deployed. For more details, refer to the Cisco CloudCenter communities page: https://communities.cisco.com/docs/DOC-75606.
Please refer to https://docs.cloudcenter.cisco.com/ for additional details on installation and configuration.
To seamlessly deploy and monitor in a multicloud environment, several design aspects need to be considered:
● Application profiles
● Deployment environments
● Governance rules
● Alert and respond
The idea behind Cisco CloudCenter is to model an application once so that it can be deployed and managed anywhere. Governance and security of the application is built into the platform (Figure 2).
Figure 2. Governance and security are built into Cisco CloudCenter
To seamlessly deploy and monitor applications in a multicloud environment, it is important to understand how Cisco CloudCenter is broken up into four abstract roles:
● System administrators are responsible for user creation, cloud account creation and maintenance, image mapping, adding system tags, setting governance rules, and creating environments.
● Service administrators create the services used to build applications (such as database services like MySQL and middleware services like Apache). Service administrators must understand the various lifecycle actions of the service, including installation, configuration, and deployment.
● Application architects are responsible for building application profiles that consume the services built by the service administrator. An architect can design the complete topology of an application using the topology modeler. Architects can also add hooks (tasks) within the application, such as node initialization, service prestart, service poststart, etc. This ability allows the architect to add operational steps such as integration with monitoring solutions as part of the application profile.
● End users consume the application profiles created by the application architects. Because of the work done by the other roles, end users enjoy the experience of deploying applications seamlessly across the hybrid cloud environment.
Seamless deployment requires that you create services for your applications. These services incorporate various actions in the lifecycle of the service. The service administrator can also incorporate adding monitoring integrations during the install lifecycle of the service (Figure 3).
Figure 3. Incorporate various actions into the lifecycle of a service
An application profile consists of a collection of services that define the functions of an application, such as web server, database, firewall, load balancer, etc. These services are instantiated using packages and customized using artifacts.
Using the visual drag-and-drop topology modeler interface, users can build and model applications (Figure 4). To accelerate the building and modeling process, Cisco CloudCenter provides more than 30 of the most popular operating systems, databases, middleware, load balancers, message buses, application servers, and front-end caches.
Figure 4. Use the visual drag-and-drop topology modeler interface to build and model applications quickly and easily
Application profiles are truly cloud agnostic. You can define deployment-time parameters to get input from users, firewall rules, and hardware specifications for each tier (Figure 5).
Figure 5. As part of the agnostic nature of application profiles, you can define deployment-time parameters to get input from users, firewall rules, and hardware specifications for each tier
The profile also allows you to define hooks for different stages in the lifecycle of application-tier deployment.
Node Initialization and Clean Up
This option enables you to define actions to be taken at various stages:
● Node initialization
For example, you can define a script during node initialization that will install an AppDynamics monitoring agent (Figure 6). This agent will register with the AppDynamics Controller during initialization and deregister the node during the cleanup phase.
Figure 6. Define scripts during node initialization that will install monitoring agents
This option is available for all service types except OS services (Figure 7). You can add actions to be taken at various stages:
Figure 7. Add actions to be taken during service initialization
The user can also use these hooks to integrate with various different third-party tools, including those for monitoring. Based on the particular monitoring solution, this integration can occur during either the node initialization stage or the service initialization stage. Once the application profile is modeled, it can be used to deploy to a multicloud environment. Figure 8 describes this workflow.
Figure 8. Workflow for deploying to a multicloud environment
You must identify the environment for applications. An environment is a resource that consists of one or more associated cloud regions and cloud accounts that have been set aside for specific deployment needs. Users deploy applications to deployment environments, and deployment environments can be shared with multiple users (Figure 9).
Figure 9. Associate deployment environments to particular clouds or (shown here) specific data centers
For example, deployment environments can be associated with different stages of the release cycle, such as a development environment linked with a development cloud or a production deployment environment associated with a production-grade, high-performance cloud. In this case, end users on a development team would be limited to deploying only to the development environment, while end users on an operations team would deploy only to the production environment.
Another option is to associate deployment environments with different data centers. For example, you could have a deployment environment for your data center in San Jose and another environment for a data center located in Dallas (Figure 10).
Figure 10. You must identify the environments to which applications can be deployed
Governance and control
Governance and control is an important part of seamless deployment and monitoring. An entire design guide has been dedicated to this topic. Please refer to the Governance and Control Design Guide.
Alert and respond
As applications become more distributed and complex in a multicloud world, performance management has evolved as well. Applications are no longer standalone; rather, they are based on the elastic infrastructure available through public clouds. To take full advantage of what the cloud has to offer, it is critical to understand application performance in a wider context, including the needs of the application at peak loads. You also need to understand normal versus abnormal application behavior, as well as what remedial actions are available to resolve abnormal situations.
AppDynamics APM not only captures and analyzes performance metrics from applications, it also monitors infrastructure components like servers and databases. This gives you a holistic view of performance trends and visibility into issues that may arise from factors beyond the application itself.
Depending on the application architecture and deployment environments, the AppDynamics alert-and-respond feature can be used to take remedial actions such as scaling out nodes in your infrastructure to meet the peak demands of the application.
AppDynamics can also generate notifications or take other types of actions based on conditions or events you configure. Using the alert-and-respond feature, you can learn about problems as they happen. You also have the option to anticipate events before they happen by defining alerts based on warning conditions.
Before deploying applications, you must first assign roles, design services, outline application profiles, create deployment environments, and establish governance rules. With these in place, you are ready to deploy applications seamlessly to any cloud.
Step 1. To launch a deployment, click the application profile. Next, select the tags that control the policies and deployment environment (Figure 11).
Figure 11. Selecting the tags that control policies and the deployment environment
Step 2. Choose the application’s destination. Because of the agnostic nature of application profiles, you can seamlessly deploy applications to any cloud (Figure 12). Note also that you can configure application profiles to have one or more than one cloud destination options, based on the deployment environment configuration.
Figure 12. Choosing the destination for an application
Step 3. With the cloud decided, Cisco CloudCenter allows you to choose cloud-specific properties such as instance sizes, placement, and network (Figure 13). Note that the administrator can hide this option from end users by setting the appropriate defaults in the deployment environment.
Figure 13. Choosing cloud-specific properties when deploying an application
Once you have deployed an application with an AppDynamics monitoring agent, the agent starts reporting metrics to the AppDynamics controller. The correlation engine at the controller analyzes events from different parts of application and builds visual flow maps. In this way, it traces key business transactions based on application behavior and automatically discovers “‘normal” behaviors using dynamic performance baselining.
A flow map visually represents the components of your application to help you understand how data flows among the different application components. For example, the business transaction flow map for a simple application in Figure 14 shows data flowing through web front end, subapplications, and database.
Figure 14. Flow map for a composite application
A business transaction in AppDynamics represents the data processing flow for a request. Application agents discover requests to your application as entry points to a business transaction. For example, different user logins are treated as multiple instances of the same business transaction. The agents tag the request data and trace the request path as it passes from web servers to databases and other infrastructure components. The AppDynamics controller collects metrics for each tier that processes the transaction.
When you configure an agent, you specify the name of the node, tier, and business application under which the agent reports data to the AppDynamics controller. All of these properties are available as part of application profile deployment in Cisco CloudCenter (Figure 15).
A node in the AppDynamics model corresponds to a monitored server or a Java Virtual Machine (JVM) in the application environment. It is the smallest unit of the modeled environment. A node could be an individual application server, JVM, Common Language Runtime (CLR), Hypertext Preprocessor (PHP) application, or Apache web server that corresponds to a node(s) in the tier in Cisco CloudCenter deployment.
A “tier” in the AppDynamics model is a grouping of one or more nodes. Traffic flows between tiers in an application (Figure 15). Tiers correspond to a tier in Cisco CloudCenter application profile and deployment. Usually a tier is used to group a set of identical, redundant servers so that they can be treated as a single unit for combined performance metrics.
A business application is the top-level container in the AppDynamics model and corresponds to a deployment in Cisco CloudCenter. It contains a set of related services and business transactions. You can also build cross-application flow maps to understand relationships between different applications.
Figure 15. Application view with tiers and nodes in AppDynamics
The extensive northbound APIs in Cisco CloudCenter give you the flexibility to use the automated alert and response capabilities in AppDynamics (Figure 16). By making these product features work together, application deployments in Cisco CloudCenter can be optimized to respond to the changing needs of the application.
Figure 16. Configure health rules, actions, and policies to configure alert thresholds
A “policy” ties one or more conditions or events to the measures/actions to be taken when the condition is met or the event occurs. The condition or event is defined by a “health rule,” and the steps to take are configured in the action. “Actions” automate the response to an event, such as sending an alert, performing diagnostics, or taking remediation actions.
AppDynamics is configured to send actions to Cisco CloudCenter and can scale-out or scale-in a tier based on rule violations or configured thresholds.
Optimizing based on system-level performance metrics
Monitoring system-level metrics using the Cisco CloudCenter solution and AppDynamics enables you to optimize applications when the system experiences resource contention. The scaling policy in Cisco CloudCenter can make decisions based on the application’s system state when application nodes encounter issues related to CPU, memory, disk, and network resources. Scaling policies can be defined to monitor one or more resources, and you can then associate them with application deployments (Figure 17).
Figure 17. Example of a scaling policy in Cisco CloudCenter
AppDynamics Infrastructure Visibility gives you end-to-end visibility into the performance of the hardware running your applications. This visibility helps you identify and troubleshoot problems that can affect application performance, such as server failures, JVM crashes, and network packet loss. Infrastructure Visibility provides useful performance metrics that you can use as the basis for health rules (Figure 18), including:
● CPU busy/idle times, disk and partition reads/writes, and network interface utilization
● Packet loss, round-trip times, connection setup/teardown errors, TCP window-size issues, and retransmission timeouts
● Disk/CPU/memory utilization, process, and machine availability
Figure 18. Health rule based on hardware resources
Optimizing based on application-level performance metrics
AppDynamics generates alerts and/or notifications when configured thresholds are exceeded (Figure 19). It is important that you understand your application and its performance requirements before you define thresholds. For example, consider an application that can handle up to 500 transactions per minute. Anything above this threshold starts impacting performance. For this application, you would configure a threshold at 500 with a reasonable breach period, say on the order of 15 minutes. This period is the duration for which transactions must continue to be more than 500 per minute before action is taken to scale your application.
Figure 19. Policy configuration for application alerting
Optimizing applications for specific events—Sunday evening show
AppDynamics can monitor and respond to application performance based on certain fixed events. For example, consider an application where every Sunday evening at 4 p.m. a new show is released. The application experiences heavy loading due to the increased number of users tuning in for the show. To prevent initial degradation of performance, you could configure the application to scale before it experiences increased traffic (Figures 20–21), for example, by monitoring the application aggressively, say on the order of every minute. If traffic conditions increase (calls per minute > 0) before your anticipated traffic time (3:50 p.m.), AppDynamics can take action to optimize your application by using Cisco CloudCenter to scale the deployment. The same technique can be used to release resources; you can configure AppDynamics to reverse the optimization as the load drops at the end of the heavy-traffic time slot.
Figure 20. Example Sunday evening policy
Figure 21. Example Sunday evening health rule
For more information
If you have further questions, refer to the these resources:
● Cisco CloudCenter Communities:
● Cisco CloudCenter information:
● CloudCenter product documentation:
● Software downloads:
● End User Guides:
● AppDynamics product documentation:
For a complete list of all of our design and deployment guides for the Cisco Multicloud portfolio, including Cloud Consume, visit https://www.cisco.com/go/clouddesignguides.
About Cisco Design and Deployment Guides
Cisco Design and Deployment Guides consists of systems and/or solutions designed, tested, and documented to facilitate faster, more reliable, and more predictable customer deployments. For more information visit: https://www.cisco.com/go/designzone.
ALL DESIGNS, SPECIFICATIONS, STATEMENTS, INFORMATION, AND RECOMMENDATIONS (COLLECTIVELY, "DESIGNS") IN THIS MANUAL ARE PRESENTED "AS IS," WITH ALL FAULTS. CISCO AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THE DESIGNS, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
THE DESIGNS ARE SUBJECT TO CHANGE WITHOUT NOTICE. USERS ARE SOLELY RESPONSIBLE FOR THEIR APPLICATION OF THE DESIGNS. THE DESIGNS DO NOT CONSTITUTE THE TECHNICAL OR OTHER PROFESSIONAL ADVICE OF CISCO, ITS SUPPLIERS OR PARTNERS. USERS SHOULD CONSULT THEIR OWN TECHNICAL ADVISORS BEFORE IMPLEMENTING THE DESIGNS. RESULTS MAY VARY DEPENDING ON FACTORS NOT TESTED BY CISCO.
CCDE, CCENT, Cisco Eos, Cisco Lumin, Cisco Nexus, Cisco StadiumVision, Cisco TelePresence, Cisco WebEx, the Cisco logo, DCE, and Welcome to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn and Cisco Store are service marks; and Access Registrar, Aironet, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unified Computing System (Cisco UCS), Cisco UCS B-Series Blade Servers, Cisco UCS C-Series Rack Servers, Cisco UCS S-Series Storage Servers, Cisco UCS Manager, Cisco UCS Management Software, Cisco Unified Fabric, Cisco Application Centric Infrastructure, Cisco Nexus 9000 Series, Cisco Nexus 7000 Series. Cisco Prime Data Center Network Manager, Cisco NX-OS Software, Cisco MDS Series, Cisco Unity, Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, iQuick Study, LightStream, Linksys, MediaTone, MeetingPlace, MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase, SMARTnet, Spectrum Expert, StackWise, The Fastest Way to Increase Your Internet Quotient, TransPath, WebEx, and the WebEx logo are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website 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. (0809R)
© 2018 Cisco Systems, Inc. All rights reserved.