This chapter covers the following topics:
Cisco Intercloud Architecture: This section describes the underlying architecture for the Cisco Intercloud solution. Each layer and component will be described and interfaces between components composed. In addition, this section provides two use cases to show how both enterprises and service providers can benefit from the Intercloud.
The Cisco OpenStack Platform and Underlying Infrastructure: This section gives an overview of the OpenStack platform and the underlying infrastructure consisting of physical, virtual, and automation components.
Cisco Cloud Services (CCS) and Products: This section gives an overview of the layer above the OpenStack platform and describes services and capabilities that are added by the Intercloud to enable advanced services around networking, security, network functions virtualization (NFV), data, database, load balancing, and application policy.
Cisco Application Enablement Platform as a Service: This section provides an overview of the Intercloud’s primary use case around enabling application portability and interoperability across a world of clouds.
Cloud Operational Support Systems (OSS): This section provides an overview of the OSS functions and how they relate to the Intercloud’s architecture.
Cloud Back-Office Support Systems (BSS): This section provides an overview of the BSS functions essential for accounting, billing, and service fulfillment.
The Intercloud Marketplace: This section introduces the curated set of products and services from Cisco and its Intercloud partners that enable enterprise customers to consume products and services in their enterprise catalog and across the global Intercloud product catalog from a simple, easy-to-use marketplace.
The Intercloud is a connection of global “standalone clouds,” similar to the Internet which is a connection of “networks.” The Intercloud is based on scenarios where a single cloud has no infinite physical resources or ubiquitous geographic footprint. If a cloud saturates the compute and storage resources of its infrastructure, or is requested to use resources in a geography where it has no footprint, it would still be able to satisfy such requests for service allocations sent from its clients. The Intercloud scenarios would address such situations where each cloud would use the infrastructures of other clouds. This is analogous to the way the Internet and telephony work, in that a service provider, to which an endpoint is attached, accesses or delivers traffic from/to a source/destination address outside of its service area with other service providers with whom it has a prearranged exchange or peering relationship.
Organizations are being asked to adapt to an increasingly competitive business environment to quickly create differentiation for the business. To capture the opportunity enabled by the IoE, companies need to consider how this impacts their current business model for customer reach and ease of deployment. Failing to adapt can have significant consequences; some forecast that 40% of Fortune 500 companies won’t exist in 10 years. At each turn, organizations are asked to deliver faster innovation, drive revenue growth, and transform the business into a digital company. Every country, city, industry, and business is becoming digital to leverage the unprecedented opportunities brought about by the IoE. Becoming a digital business requires rethinking core business processes. It means implementing a fast IT and open-source technology foundation that supports both traditional enterprise and cloud-scale workloads. It means embracing new security, cloud, mobility, social, and analytics technologies to empower developers and the business to quickly and securely launch and evolve new services. This is the goal of the Intercloud.
The Intercloud is architected to enable standalone clouds to work as one; it involves not just connecting clouds but also accelerating development for cloud and unifying workload management across clouds. It ensures that network and security policies follow the workload, harnessing an expanded ecosystem of best-of-breed partners and service offerings. It takes advantage of global data while meeting local and regional requirements. Cisco has led a global market change just like this before. Just as Cisco did for the Internet by connecting and integrating isolated PC LAN networks, Cisco is doing the same for cloud.
To help lead organizations through this digital transition and IT transformation, Cisco and its partners are building the Intercloud, a globally connected network of clouds capable of delivering secure cloud applications and infrastructure everywhere in the world. The Intercloud will deliver choice with compliance and control to empower customers to innovate and transform their businesses. It is made possible through Cisco and its partners’ leadership in cloud infrastructure, applications, security, open source and open standards, and consulting services and is built with Cisco Intercloud enabling technologies.
Cisco Intercloud Architecture
Although cloud computing has achieved broad acceptance for the promises it makes, enterprises are still having a difficult time adapting to it. There are several reasons for this, but the top concerns are security, increased complexity, inconsistent methodologies, and traditional mindsets. Existing cloud offerings have failed to deliver solutions that meet customers’ expectations and business objectives and achieve the agility and flexibility the enterprise requires. There are primarily two meta-issues with the current cloud deployment models. The first issue is that cloud does not equal IaaS, which has led to the increased complexity and mismatched expectations with the business. The second issue is that development methodologies are in the midst of a transformation.
Many cloud solutions on the market today are nothing more than Managed Hosting 2.0 with limited automation of traditional systems and processes. This situation causes the greatest concern with the adoption of cloud because it’s very complex and requires cloud consumers to understand the following factors:
The underlying compute capabilities with CPU/memory combinations/constraints and memory management/ballooning concerns.
The underlying network capabilities with vNIC (virtual network interface card) configurations, limited server load balancing, very basic single-network private space, and public space tied to providers’ IP address blocks.
The underlying security capabilities—access lists, security groups—must be configured, and these are tightly coupled to a single deployment space and not easily replicated across sites or regions.
The underlying storage capabilities must be managed and maintained separately, typically with different domain spaces; in other words, the object store is separate from disk (local, file, block).
Consumers of the service must be able to adapt their IaaS architecture to adopting a proprietary code that will transform the code to a workload that operates a script. In its sum, the process can be labeled as a “blueprint.”
Consumers must adopt the user management (identity management) and security controls of their provider.
Customers must accept the OSS aspects of their provider—ticketing, metering, monitoring.
Customers must accept the billing and SLAs of their provider.
Customers must accept the operational practices of their provider.
IaaS LEGO Masters
When considering the current state of IaaS service providers, one cannot help but think about boxes of LEGO blocks. There are so many different shapes, sizes, and colors, and kids get so excited building different creations. But their creations rarely look like what they tried to build. The other issue is that when they try to build the same thing again, they are not able to replicate the exact design. As kids grow older, they get better because they have experience; however, they still have trouble replicating the exact designs. Think of LEGOs as pieces of your business infrastructure; do you really want to run your business on infrastructure that you have to piece together, that is hard to replicate, requires specialized resources with very specific domain knowledge, and requires detailed knowledge of each interconnecting system?
This is how many existing IaaS solutions function today. You have to be a master builder of the detailed complexities of cloud IaaS components, services, and blueprints available. You must understand how to decompose your services into consumable services while ensuring that the constraints and underlying infrastructure architecture are accounted for. In this current model, any issues are hard to identify because there are so many different components and interdependencies to keep track of, each with its own methodologies and lifecycles of support. The existing systems, processes, and polices do not translate to the provider systems and require you to create custom processes and accept additional risk. In addition, if you’re not in lock-in to a single provider and you want to add providers, the ability to add IaaS solutions exponentially increases the complexity and risk.
The flaws in the design of the existing cloud solutions are a mismatch of expectations. Cloud providers offer IaaS building blocks and blueprints, whereas enterprises expect business objectives and business outcomes achieved with agility and flexibility of their services. Cloud is not the same as IaaS. IaaS is a platform for building cloud but not cloud itself. The platform must be based on scale and abstracting all cloud components (compute, network, storage, and security), services, OSS, and BSS components.
Continuing the LEGO theme, most application development methodology is written like LEGO kits in that there is a standard and repeatable process (SDLC, software development lifecycle) with repeatable capabilities and services, the ability to create application blueprints consisting of the application components, services, and objectives on a platform designed for scale and agility. With the correct abstraction of the platform, these applications can be deployed over and over again on various platforms, and the result is always consistent. If the result is not, the issue is easy to identify because the processes of application developers are consistent and the issue can be isolated to an application issue or platform issue. With the LEGO kit, the blocks still need to be assembled; however, the design and blocks were created with the desired outcome in mind to ensure that the completed product looks like the picture on the box. The great thing about the kit is that it makes building with LEGOs even more fun because the result is predictable and each step leads to the desired outcome.
Development Methodology Transformation
Most existing (legacy) enterprise applications are not written with an agile cloud-native methodology. Although many enterprise developers have already transitioned or are transitioning toward agile, most are still in a waterfall-agile combination type of development. Thus there is a major disconnect between the tools and processes available within the enterprise and various deployment tools and processes in cloud. The greatest impact has been in the methodologies that have not evolved to take into consideration the change in deployment to cloud solutions. If you think about the typical methodology, developers develop on their local laptops that have been secured and locked down by the corporate IT department. The code then gets saved to a code repository, where unit testing is performed, and then pushed to quality assurance (QA). This QA environment is within the enterprise lab or data center environment. QA environments are always a scaled-down version of production, so the validation that happened in QA is not 100% guaranteed to translate to production. Once QA is complete, a change window is created and the code is deployed to production. Production is always within the corporate firewall and falls into the IT security policy domain.
Cloud computing completely disrupts this process. Development does not have to happen on corporate laptops any longer, although much still does. The tools and process have changed for easier development, but the security and governance process and policy aspects have not. QA is typically performed in an outside cloud environment; however, the tools and processes for that environment do not follow the same requirements as the QA environments had to follow before. Likewise, production deployments are typically outside the firewall today and do not allow connectivity back through the firewall. And if they do, holes are opened in the security perimeter that put the enterprise at risk.
This change in development and deployment has occurred while transitioning to agile. The industry is commonly in a transition state, so it should not be a surprise that development methodology is continually evolving. What is important to understand here is that the shift needs to be supported in a flexible and hybrid model to support legacy—waterfall, agile, and most importantly the move to continuous integration/continuous delivery (CI/CD)—as part of the cloud migration requirement.
The Intercloud Defined
The Intercloud is a new approach to business and cloud transformation. It is about the continuous delivery of reliable, available, and consistent services over the lifecycle of the application. It is about the business objectives being supported over the lifecycle of the transformation from legacy applications to agile development projects in cloud, to the evolution of applications to CI/CD and beyond. Several key tenets of the Intercloud exist to accomplish this:
The software-defined infrastructure is fluid and ever evolving to support the ever-changing and growing demands of the business.
Software-defined services support all aspects of the business application needs:
Application: parameters and configuration details of the application including integration, performance optimizations metrics, and service-level objectives (SLOs)
Integrated application platform: any underlying dependent or loosely coupled services the application requires (message queue, Doman Name System [DNS], memcache)
Network and security: network and security policies and the enforcement of those policy objectives
Data: being able to abstract data aspects of the application and provide analytics and business outcome learnings
BSS: being able to abstract the BSS aspects to enable complete abstraction to any existing BSS systems in the enterprise or Cisco Powered partner clouds
OSS: being able to abstract the OSS aspects to enable complete abstraction to any existing OSS systems in the enterprise or Cisco Powered partner clouds
SaaS frameworks for Cisco applications and the broad range of partner independent software vendor (ISV) applications comprise broad sets of tools for multiple cloud solutions.
Public cloud providers are important to support for existing use cases and use cases that make sense.
Private cloud solutions will be in place for many reasons—compliance, performance, control, and so on. The key here is to support the enterprise in whatever private cloud deployment model it chooses.
Enterprise is a special case of private cloud where the deployment model is the enterprise data center. Additionally, the enterprise model may want to burst to other deployment models, so managing the policies and processes of the enterprise becomes critical.
The Cisco Intercloud consists of connecting the following:
Cisco OpenStack clouds to deliver a marketplace for Cisco SaaS, partner, and ISV applications, and IoE applications
Cisco Powered cloud providers to deliver a platform for IaaS and a marketplace for Cisco SaaS, partner, and ISV applications, and IoE applications
Enterprise clouds connecting to the Cisco OpenStack, Cisco Powered providers, and public clouds with policy and control
Figure 2-1 shows how private enterprise clouds, service provider public clouds, partner clouds, and Cisco services and applications are connected to form the Intercloud. Cisco Intercloud not only provides additional capacity and other features required by enterprises, but it also helps service providers to aggregate, integrate, and customize the delivery of their cloud services to meet specific enterprise business needs.
Figure 2-1 Cisco Intercloud High-Level Architecture
Cisco Intercloud Architecture Overview
This section provides a high-level overview of Cisco Intercloud architecture, shown in Figure 2-2.
Figure 2-2 Cisco Intercloud Architecture
The Cisco Intercloud architecture consists of the following layers, which will be described in more detail in the sections that follow:
Cloud platform and underlying infrastructure
Cloud services and value-added products
Application enablement platform as a service
Each layer has dependencies and services available to the layer below and above it. This chapter will explore these layers and describe the Intercloud abstraction and interfaces.