Upload
trannguyet
View
213
Download
0
Embed Size (px)
Citation preview
Cloud Platform Integration Framework
Architecture
25-Mar-15
Version 1.0
Prepared by
Joel Yoker and David Ziembicki
Modern Datacenter
Cloud Platform Integration Framework
ii
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“CPIF Architecture”
Table of Contents
1 Introduction ............................................................................................................................................ 3
1.1 Cloud Platform Integration Framework (CPIF) Overview ............................................................... 3
1.2 CPIF Architecture .......................................................................................................................................... 3
2 Azure Architectural Pattern Concepts ........................................................................................... 6
2.1 Overview of Azure Architectural Patterns ............................................................................................ 6
Pattern Guide Use ..................................................................................................... 9
3 Summary ................................................................................................................................................ 11
Cloud Platform Integration Framework
Page 3
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“CPIF Architecture”
1 Introduction
1.1 Cloud Platform Integration Framework (CPIF) Overview
The Cloud Platform Integration Framework (CPIF) provides workload integration guidance for
onboarding applications into a Microsoft Cloud Solution. CPIF describes how organizations,
Microsoft Partners and Solution Integrators should design and deploy Cloud-targeted
workloads utilizing the hybrid cloud platform and management capabilities of Azure, System
Center and Windows Server. The CPIF domains have been decomposed into the following
functions:
Cloud Platform Integration FrameworkOperationsDeployment Archiecture Business
Continuity and Disaster
Recovery
Monitoring Maintenance
Public, Private and Hybrid CloudFabric and Fabric Management
Automation and Orchestration
Workloads (Applications and Services)
Identity
Security
Figure 1: Cloud Platform Integration Framework
By integrating these functions directly into workloads, “platforms” can be developed which allow
for further configuration by tenants to implement extended software services.
1.2 CPIF Architecture
Both public and private cloud environments provide common elements to support the running
of complex workloads. While these architectures are relatively well understood in traditional on-
premises physical and virtualized environments, the constructs found within the Microsoft Azure
Cloud Platform Integration Framework
Page 4
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
require additional planning to rationalize the infrastructure and platform capabilities found
within public cloud environments. To support the development of a hosted application or
service in Azure, a series of patterns are required outlining the various components required to
compose a given workload Solution. These architectural patterns fall within the following
categories:
Infrastructure – Microsoft Azure is an Infrastructure- and Platform-as-a-Service Solution
which is comprised of several underlying services and capabilities. These services largely
can be decomposed into compute, storage and network services, however there are
several capabilities which may fall outside of these definitions. Infrastructure patterns
detail a given functional area of Microsoft Azure which is required to provide a given
service to one or more Solutions hosted within a given Azure subscription.
Foundation – When composing a multi-tiered application or service within Azure,
several components must be used in combination to provide a suitable hosting
environment. Foundation patterns compose one or more services from Microsoft Azure
to support a given layer of functionality within an application. This may require the use of
one or more components described in the infrastructure patterns outlined above. For
example, the presentation layer of a multi-tier application requires compute, network
and storage capabilities within Azure to become functional. Foundation patterns are
meant to be composed with other patterns as part of a given Solution.
Solution – Solution patterns are composed of infrastructure and/or foundation patterns
to represent an end application or service being developed. It is envisioned that
complex solutions would not be developed independently of other patterns. Rather,
they should utilize the components and interfaces defined in each of the pattern
categories outlined above.
Cloud Platform Integration Framework
Page 5
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
This spectrum of patterns is illustrated in the model below.
Figure 2: CPIF Architecture Model
It is expected that architectural patterns for cloud-hosted workloads (applications and services)
would generally adhere to this model and complex scenarios can be implemented using one or
more of the pattern types outlined above. This document will provide an overview of the key
architectural pattern concepts and outline some of the supporting constructs found within each
architectural pattern type.
Cloud Platform Integration Framework
Page 6
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
2 Azure Architectural Pattern Concepts
2.1 Overview of Azure Architectural Patterns
To support the development of Solution architectures within Azure, a series of pattern guides
are provided for common scenarios. While these scenario guides will be constructed over time,
envisioned patterns include:
Global Load Balanced Web Tier
Load Balanced Data Tier
Batch Processing Tier
Azure Networking
Azure Search
Each architectural pattern will have the following areas covered in their respective pattern guide:
Requirements or Service Description – This section will describe the pattern requirements and
outline the service description including the desired service level target (SLT). The SLT (measured
in percent uptime) is rationalized across Microsoft Azure architectural constructs to support the
number of planned and unplanned failures across Azure regions, within an Azure datacenter,
and across Azure virtual machines which can be supported within a year and to still meet the
Service Level Agreement (SLA) target. As described before, the architectural patterns are
expected be composed with other tiers to support a larger Solution architecture or design
patterns.
Architectural Diagrams – Each pattern will include an architectural diagram outlining at a high
level the Azure services or constructs required to support the pattern. While pattern diagrams
may differ slightly in composition, they are expected to be used together to visually represent
the required elements to implement desired workload functionality.
Cloud Platform Integration Framework
Page 7
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
An example diagram is provided below.
Figure 3: Example Pattern Architectural Diagram
Architectural Dependencies – This section will outline any Azure dependencies which can
impact the construction of an application or service built using the pattern design. Foundational
and infrastructure patterns are not expected to have dependencies on other patterns
themselves, however Solution patterns will by their very nature require a series of dependent
patterns to bring a given service or capability online.
Required Azure Services – As described earlier, Microsoft Azure is comprised of a series of
services which provide discrete capabilities to a hosted application or service. Each pattern will
list out the required Azure services utilized by the pattern (e.g. virtual machines, storage
accounts and traffic manager) to support a given pattern.
Pattern Considerations – For a given architectural pattern, this section will outline any design
limitations or considerations that may impact the pattern such as required or expected
extensions to Azure default limits, potential service bottlenecks and other considerations with
regards to the services required to deliver the workload.
Interfaces and End Points – This section outlines any internal or external interfaces and
Windows Azure end points the pattern utilizes. It will contain any required or optional ACLs or
other settings specific to the pattern.
Cloud Platform Integration Framework
Page 8
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
Availability and Resiliency Considerations – Given that a particular pattern may require one or
more Azure services, the availability and resiliency factors for the design pattern are outlined in
this section. Examples include use of availability groups, update domains, or regions. This
section will identify constructs which assist with helping make sure the pattern is resilient to any
expected fault conditions or scenarios. This section will also outline the composite SLA for the
pattern. For each Azure service utilized, the current SLA and measurement factors will be
outlined for each service utilized then determine the composite SLA provided by the entire
pattern since the combination of two or more Azure service-level Service Level Agreements
(SLAs) might result in a lower overall SLA for composed pattern.
Scale and Performance Considerations – This section will describe minimum number of
instances to meet performance requirements (minimum and maximum). It is intended to
document any performance requirements during fault conditions and outline any use of
autoscale or automation rules to support maintaining acceptable performance criteria.
Cost Considerations – Cost is one of the primary considerations when constructing a Solution
within Microsoft Azure. This section of each pattern guide outlines costs in two sections:
Cost factors
Cost drivers
For cost factors, the high level cost model and measurement (e.g. Cost per hour for virtual
machines) is outlined for each service. While not capturing these costs exactly due to inevitable
changes in the market, it is intended to simply capture the services utilized by the pattern and
how each is measured from a cost perspective.
Cost drivers impact on the overall cost of the design pattern. Examples include the number of
active virtual machines, or the type of storage utilized. This section outlines tradeoffs such as
using fewer larger virtual machines vs. a larger number of smaller virtual machines or the use of
geographically replicated storage vs. locally replicated. Each factor should is outlined in terms of
its impact on the cost of the pattern and is intended to drive a culture of considering cost during
architectural planning.
Cloud Platform Integration Framework
Page 9
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
Figure 4: CPIF Pattern Cost Consideration Illustrated Example
Architectural Anti-Patterns – As with any architectural design there are both recommended
practices and approaches which are not desirable. This section of each pattern guide briefly lists
any solutions or approaches to the given problem that should not be pursued.
Operational Considerations - This section is intended to help make sure that architectural
patterns using the Cloud Platform Integration Framework (CPIF) are “designed for operations”,
which covers the CPIF areas such as deployment, monitoring, maintenance and business
continuity/disaster recovery (BC/DR).
It will describe:
Methods for this pattern to be instantiated
How the pattern will integrate with monitoring solutions
Outline the critical metrics that must be monitored for the pattern
Alert thresholds or triggers
This section will also describe how the pattern will integrated with software updating solutions.
It will briefly outline the BC/DR requirements and options for the design pattern and any
operations management implications of the design pattern.
Pattern Guide Use
It is envisioned that the Cloud Platform Integration Framework can be leveraged as part of any
Solution development using Microsoft Azure. As outlined above, CPIF defines infrastructure
functional areas (“pillars”) in order to describe the management services it provides in a way that
application development or deployment teams can consume and utilize in their application
development process. This guide is intended to outline the common areas of Azure architecture
Cloud Platform Integration Framework
Page 10
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
and how to consume the architectural pattern guides. The CPIF architectural pattern guides
themselves are intended to be concise, composable architectural pattern guides which provide
guidance around required services and automation for ease of construction.
When used as part of a comprehensive approach, other key areas required by the workloads
may also be addressed during the design of a given application or service in Microsoft Azure.
Cloud Platform Integration Framework
Page 11
Modern Datacenter, Cloud Platform Integration Framework
Prepared by Joel Yoker and David Ziembicki
“Cloud Platform Integration Framework (CPIF) Architecture”
3 Summary
Architectural planning is a required element of any cloud-based workload deployment and
therefore is a core functional area of the Cloud Platform Integration Framework (CPIF). This
document is meant to serve as a framework for applying Azure architectural concepts in
workload planning and design for public and hybrid cloud environments. These concepts and
capabilities can be applied to various applications and services and therefore require analysis of
each workload’s capabilities and support for the constructs. Along with this guide, a series of
infrastructure, foundational and Solution architectural pattern guides are available to assist with
the practical application by various workloads in Microsoft Azure.