cloud enablement
DESCRIPTION
TRANSCRIPT
Cloud Enablement – Concepts, Techniques and Core Strategy
Table of ContentsOverview & Key Definitions1
The Cloud Explained2
Primary Enablement Strategy3
Program & Project Control4
Summary5
Overview & Key DefinitionsWhat is The Cloud?– The Cloud is the use of both hardware and software computing resources that are delivered
as a service over a network (typically the internet).
What is Cloud Enablement?– It is the process of converting and modernizing existing infrastructure and software
resources to conform to a Cloud deliverable set of services
– Enablement to conform to a cloud type delivery is a multi-facetted process that requires a fundamental paradigm shift in the manner and way current services are maintained and exposed to the end user
– Cloud enablement shifts internal IT infrastructure to a public, private or hybrid cloud environment
Overview & Key DefinitionsWhat are the advantages of The Cloud?– Scalability – Infrastructure can be added easily and on the fly; additionally, load balancing
and DNS routing allow for a more seamless and speedy user experience
– Flexibility – Individuals or teams can decide which services are most conducive to their specific business needs, allowing for a more ‘a la carte’ approach to user requirements
– Cost Effective – Infrastructure is more amorphous and seamless through virtualization; additionally, smaller upstart organizations can chose to leverage hosted infrastructure as opposed to incurring the costs for their own data centers
– Variable Clients – Through usage of web services, a robust platform can be created and exposed to users to allow for more variance to clients, also allowing them to be ‘leaned down’
– Unlimited Storage – Affording to the easily expandable nature of the infrastructure, additional storage capacity can be added easily and existing storage usage can be maximized
Overview & Key DefinitionsWhat are some of the difficulties in moving to The Cloud?
– New Equipment• If developing your own internal cloud infrastructure, existing ecosystem and its hardware may be obsolete and require
replacement
– Learning New Technologies• New programming methodologies and languages will need to be learned and development resources will have to come
up to speed on the new concepts
– Resistance to New Trend• Many individuals may be hesitant to adopt a new technology paradigm and may express distrust or outright hostility
towards the cloud strategy
The Cloud ExplainedHow is the Technology of The Cloud Defined?– The Cloud is actually a composite of many different technologies, working in unison to
achieve the purposes of making several services available via the network to users
– At a fundamental level, The Cloud is broken down into three primary constituent layers, demonstrating a ‘stack’ of services, shown below:
Cloud Clients
Web browser, mobile app, thin client
SAAS
Email, CRM, Games, Social Interfaces
PAAS
Web Services, Databases, Primary dev tools
IAAS
Virtual machines, Servers, NAS, Load Balancing & Failover
Application
Platform
InfrastructureSt
ack
Dep
ende
ncie
s
The Cloud ExplainedCloud Stack Breakdowns– Each ‘layer’ of the cloud stack is dependent upon the layers beneath it– As a consequence, from a project perspective, the dependencies play a crucial role in the
overall cloud enablement strategy (**to be covered in more detail shortly)– Each layer’s constituent functionality is defined as follows (from bottom-up):
IAAS (Infrastructure As A Service) Layer– Consists of the primary hardware and network infrastructure– The setup is not in the traditional static server and dedicated storage sense, but instead,
utilizes network attached storage, system virtualization and specific load-balancing and failover technologies:
Virtualized ServersVirtualized Servers Attached StorageAttached Storage
IAA
S
The Cloud ExplainedPAAS (Platform As A Service) Layer
– Consists of the main APIs and primary platform exposure of the service offerings– APIs will be in the form of web services (REST/SOAP) that are designed to leverage existing
internet protocols to transfer information between the client and the resident service– The APIs form the crux of the primary ‘business logic’, allowing different clients across
multiple platform types to access the exposed services without inherent technology dependencies
PA
AS
SQL Services
Database AccessDatabase Access
Data SecurityData Security
Search/IndexingSearch/Indexing
.NET Services
BackofficeBackoffice
Sharepoint Services
Sharepoint Services
Outlook ServicesOutlook Services
Access Control
AuthenticationAuthentication
Single Sign OnSingle Sign On
User RolesUser Roles
Workflow
Business LogicBusiness Logic
Data Entry/EditData Entry/Edit
Error CheckingError Checking
***Note: The PAAS Layer is directly dependent on the architecture and functionality of the IAAS layer
Web Service Interfaces
The Cloud ExplainedSAAS (Software As A Service) Layer
– Consists of the primary applications accessed by the end user via different client types– The SAAS layer will leverage the services of the cloud stack below; i.e. both the PAAS layer
and the IAAS– Ideally, the applications of the SAAS layer are architected in such a way that make them
portable and scalable, allowing for different access types and client interfaces
SA
AS
***Note: The SAAS Layer is directly dependent on both the PAAS Layer and IAAS Layer
Mobile Phone Smart Phone Laptop Tablet Desktop Cloudtop
Client Interface(s)
Application ExposureApplication Exposure Platform ExposurePlatform Exposure Infrastructure ExposureInfrastructure Exposure
The Cloud ExplainedUser Perspective
– From the standpoint of the user, they are oblivious as to the underlying design, architecture or overall configuration of the cloud stack itself
– From their perspective, accessing the services of the cloud is equivalent to plugging your toaster into the wall socket; you don’t care how the power is getting there, from which substation or transformer, you merely use it as needed
– Equivalently, you don’t care how the mobile interface to Facebook is working, you just know it does and syncs with the web version
******The Cloud becomes an amorphous concept; the user is not interested in the particulars of the interactions, they merely wish to leverage the services on an on-demand basis with the provider making things functional, scalable and user friendly******
The Cloud ExplainedCloud Types
– There are three specific cloud types to be mindful of:1. Public Cloud – Primary services are exposed to the public domain and are accessible in the broader internet space
(eg. Gmail/Hotmail, Google Analytics, salesforce.com, etc)2. Private Cloud – Primary services are exposed internally, usually behind some sort of firewall, preventing access to
users or systems outside of those that have proper access (eg. Internal cloud email, internal file storage)3. Hybrid Cloud – Primary services can be exposed either internally or externally, with some sort of ‘bridge’ to
maintain communication and traffic between the clouds. This type of setup is common, especially for hosted services organizations that may have customers who want more security for their data. (**Note: example below is that of a Vmware hybrid cloud arrangement)
******The various cloud types can be constructed in a manner such that data access can be restricted in part or in full, depending on configuration******
The Cloud ExplainedSummary
– The underlying premise behind The Cloud is to provide a flexible, scalable and modular baseline framework for the end user
– The framework of The Cloud is meant to be as amorphous as possible; the user should not be concerned with the underlying hardware configuration or technology choices
– The Cloud should be able to support multiple device types and access through a well documented and exposed set of web services
Primary Enablement StrategyConverting to The Cloud
– Moving to The Cloud requires a re-vamping of several key aspects of the overall client/server model
– The actual execution cannot be a piecemeal approach; either a cloud adoption strategy is endorsed or it is not; half a cloud is not a cloud
– Full cloud enablement will require resources from several realms of expertise as well as a commitment from the stakeholders endorsing a long term strategy to move a cloud-based infrastructure and deployment model
******Note: A proper cloud enablement strategy should be considered a program, not a simple project due to the phased nature of the approach and the multiple parallel tracks that will be used******
Primary Enablement StrategyWhat steps are involved?
– There are five key steps (and one steady state step) in the overall enablement strategy:
Cloud Strategy& Roadmap
Cloud Assessment& Readiness
Cloud Strategy& Planning
Program Mobilization&
Resource Allocation
**AgilePath Model
Step 1
• Inventory of existing infrastructure, applications and services• Itemization of hardware and software resources
• Primary program strategy and timeline• Cost & budget estimates
• Program go-ahead• Resources assigned, teams formed and contractor requirement
determined
Primary Enablement StrategyWhat steps are involved?
Cloud Modeling & Architecture
Cloud Modeling(Cloud Resource &
Technology Patterns)
Cloud DeploymentModel
(Public/Private)
Cloud Architecture& Security
**AgilePath Model
Step 2
• Primary hardware choices• Main selection of specific software (virtualization, firewalls, load-
balancing)
• Determination of main overall cloud model• Parameterization of hybrid methodology (if required)
• Overall architectural diagram and data workflow• Primary security concerns itemized (authentication, single sign-in, user
roles, data compartmentalization)
Primary Enablement StrategyWhat steps are involved?
Cloud Implementation& Planning
Cloud Provider Analysis & Selection
Cloud Deployment & Provision Plan
CloudGovernance
**AgilePath Model
Step 3
• Analysis of 3rd Party cloud provider solutions• Geographic legal considerations noted and itemized
• Primary deployment summary drafted• Timeline of phased rollout created
• Main SLAs drafted• Overall governance model finalized and ratified by stakeholders
Primary Enablement StrategyWhat steps are involved?
Cloud PilotProject
Cloud Pilot Implementation
Cloud Learning &Strategy Adjustment
Cloud ProgramGo or No-go
**AgilePath Model
Step 4
• Initial Proof of Concept plan drafted• First level cloud pilot project initiated
• Main learning and transfer of knowledge to cloud adopters• Strategy adjustments and adoption strategy review
• Review and post-mortem of cloud pilot program• Final go or no-go provided by stakeholders and sponsor
Primary Enablement StrategyWhat steps are involved?
CloudImplementation
Cloud ProductionImplementation
Cloud GovernanceSLAs
Cloud Operations Monitoring & Metrics
**AgilePath Model
Step 5
• Production rollout of cloud infrastructure• Initial exposure of cloud platform
• Licensing agreements finalized and ratified
• Production level monitoring of main cloud infrastructure• Primary implementation of load balancing and disaster recovery
technologies
Primary Enablement StrategyWhat steps are involved?
**AgilePath Model
Steady State
• Integration & migration projects initiated
CloudExecution
CloudIntegration
CloudCollaboration
CloudMaturity
• Continuous migration and integration
• Exposure of SAAS applications
• Joint development activities between team
• Uniform process methodologies adopted
• Mature cloud now in place
• Continuous improvement process adoption
20
Combined Steps & Overall Strategy
Cloud Strategy& Roadmap
Cloud Assessment& Readiness
Cloud Strategy& Planning
Program Mobilization&
Resource Allocation
Cloud Modeling& Architecture
Cloud Implementation
& PlanningCloud Pilot
ProjectCloud
Implementation
CloudExecution
CloudIntegration
CloudCollaboration
CloudMaturity
**AgilePath Model
Primary Enablement Strategy
Primary Enablement StrategySummary
– Full enablement requires a multi-faceted approach, with adequate time allotted in strategy for review and rework as needed
– Strategy requires full commitment by stakeholders and sponsor; a half completed cloud will not provide the benefits of a fully implemented solution and will likely decrease overall productivity
– Approach must be phased to allow for a slow transition to new model and infrastructure; ensure pilot project leverages a less critical application or platform for concept validation
– Transition applications and services to The Cloud gradually to allow for smoother movement to new system and adequate time for knowledge transfer
Program & Project ControlOverview
– Overall cloud enablement program should be segmented into project sections and teams based on the three tiered nature of the main cloud model
– Separate tracks for each project or project segment should be maintained to account for parallel development and implementation efforts
– Dependencies between tracks must be properly itemized and monitored by the project/program manager to ensure slippages or issues are accounted for and schedule adjustments are made accordingly
Program & Project ControlProgram Tracks - Main track breakdowns
• Primary Applications Main software as a service offerings
• Web Services SOAP and REST platform and API exposure
• Main Access Clients Web, Mobile, Tablet, Thin Client user devices
Client Track(Track 0)
• Primary Infrastructure Hosted services, attached storage, web servers
SAAS Track(Track 1)
PAAS Track(Track 2)
IAAS Track(Track 3)
CollaborationEfforts
Parallel Activities
Program & Project ControlTracks Strategy
– While the specific ‘tracks’ of the overall cloud strategy can function in parallel, it is imperative that any dependencies between the tracks be itemized and followed
– From the standpoint of the of the tracks themselves, it probably makes the most sense to make each track an individual project and monitor it accordingly
– As such, each track can have its own milestones, resource pool, allocated budget and project manager (if necessary)
– All project ‘tracks’ will then become part of the over-arching program that denotes the overall cloud strategy
Cloud EnablementMain Program
Track 1SAAS Project
Track 2PAAS Project
Track 3IAAS Project
Track 0Client Project
***Note: Depending on consensus and general preferences, Track 0 and Track 1 could be merged into a singular track; the separation is merely one of additional granularity to separate out different access types (web interfaces versus mobile applications)
Program & Project ControlTrack Dependencies
– As indicated earlier, it is extremely imperative that dependencies between key projects/tracks are properly itemized
– Key milestones should be set up in the timeline to coincide with specific starts and finishes of key tasks for which a dependency exists
– Ideally, the most effective means to properly catalogue dependencies is to leverage a PERT or ‘Program Evaluation & Review Technique’ chart
– A PERT will allow the program manager to graphically display key dependencies, milestones along with all relevant start and end times for those key tasks
– Additionally, PERT will allow for the ‘critical path’ of the overall program to be calculated, thus making it easier to gauge the overall program timeline
Program & Project ControlPrimary Schedule Diagram (PERT Chart)Sample**
Task 1
Start Aug 2010
Finish Mar 2011
Task 3
Start May 2011
Finish June 2011
Task 4
Start Mar 2011
Finish Oct 2011
Task 8
Start Oct 2011
Finish Dec 2011
Task 9
Start Jan 2012
Finish June 2012
Task 5
Start June 2011
Finish Dec 2011
Task 2
Start Mar 2011
Finish Dec 2011
Task 6
Start Aug 2011
Finish Dec 2011
Task 7
Start Mar 2011
Finish Mar 2012
Prototype
REST/SOAPEval
Infrastructure Prep Infrastructure Implementation
DesignReview
Design Doc
PrototypePresent
AppCoding
WSArchitec
ture
SchemaDesign
DBImplementation
WSCoding
Platform Endorsement
• PERT can function across all tracks or projects
• PERT can provide critical path of overall program
Program & Project ControlProgram Phases
– As the entire cloud enablement program is progressing, it is important to set up some large scale milestones or program ‘breaks’ that can be instituted across all major tracks
– These breaks will essentially segment the main program into distinct chunks or ‘phases’, that can be used as a means to perform validation of key work and milestones during the overall program
– The main reason to ensure phases are implemented is to help maintain parity between the specific tracks and ensure that work is not occurring in a vacuum
– The phases (or iterations if you prefer an Agile mindset) provide near term milestones during program progression and give adequate time for review and revisiting of key attributes of the overall program and its constituent projects
Program PhasesCloud Enablement Timeline– Milestones exist in all major program tracks
Program Start
Near-term IAAS milestones tackled first
Initial PAAS efforts started
Mid Program
Main IAAS systems in place
First gen platform now in place
Program Nearing Completion
PAAS now mature
SAAS and applications in place
CLOUD PROGRAM FUNCTIONAL TRACKS
29
•Baseline Application Coding•Proof of Concept Applications
•Cloud Architecture Team Formed•Best Practices Documents
•Plan to Establish Global Datacenters•Draft of Virtualization Architecture
•Mobile/tablet Interfaces•Rollout of SAAS Applications
•First Generation APIs•Full System Integration •Uniform API Methodology
•Full Virtualization of Infrastructure•Bring Online New Data Centers•Clustering Technology In Place
•Fully Cloud Enabled Interfaces•Deprecation of older client/server solutions
•Fully mature API•Advanced System Integration (internal/external)
•DNS Load Balancing•Global Redundancy for Key Systems•Full Disaster Recovery and Fault Tolerance In Place
Phase 1 Phase 2 Phase 3
***Note: Above sample denotes some key cloud enablement milestones that denote a potential phased approach to overall program.
Program & Project ControlFinal Thoughts
– The overall cloud enablement program is a large scale undertaking that requires numerous resources, committed stakeholders and a very diligent set of project professionals
– The Cloud is a paradigm shift in thinking as it pertains to how software is created and distributed; as such, the complexity of a shift of this nature should not be taken likely, especially by the project/program manager
– Monitoring the overall cloud enablement effort should be done at a program level, with projects being created as needed for the various different tracks or tier levels of the functional cloud stack
– Key phases should be instituted as ‘breaks’ within the overall program to set key milestones and points of review that can be leveraged to deal with any issues in the program or to address design items that were carried over
SummaryThe Cloud– Represents a shift in the traditional client-server model to a more layered and functional
web service driven mechanism– Many large scale Fortune 500 companies are now adopting a much more aggressive cloud
strategy moving forward and this is likely to be one of the largest growth segments in the coming years within the tech space
Cloud Enablement– Is the process of moving from the more traditional client-server type to the more scalable
and functional modern cloud architecture, leveraging various technologies like virtualization, web services and mobile interfaces
– Involves a solid commitment by the stakeholders, sponsors and of course, the project manager
SummaryFurther Reading– The following sources can be leveraged to gain a little more insight into The Cloud, its
technology and its future:
1. Cloud Computing – Wikipedia article on cloud technology, history and architecturehttp://en.wikipedia.org/wiki/Cloud_computing
2. Gartner Technology Research – Overview and assessment by Gartner on the future of Cloud Computinghttp://www.gartner.com/technology/topics/cloud-computing.jsp
3. Forbes Cloud Review – Assessment by Forbes on how Cloud Computing will increase in the coming yearshttp://www.forbes.com/sites/louiscolumbus/2013/02/19/gartner-predicts-infrastructure-services-will-accelerate-cloud-computing-growth/