Module 2 App Assessment & Migration Planning Flashcards
First layer of the cloud stack
Applications
Drive the decisions made throughout the rest of the stack in the VDC
Applications
Has the most to gain from a well designed VDC
Application layer
How can application deployment and management be simplified?
By using techniques and technologies available in other layers.
How application uptime can be enhanced
By using features available in the hypervisor
First step in application assessment
To understand the applications in the environment, their value to the organization, and their requirements.
Examples of application requirements
Data security, accessibility, latency, etc.
Four modern application delivery challenges
- Little attention to performance during development
- Security vulnerabilities
- Distributed employees
- Distributed applications & associated complexity
Five new application delivery challenges
- Movement away from monolithic architectures
- Web 2.0 & rich content application requirements
- SLAs
- Legacy apps and application silos
- Consumerization of IT
Three virtualization technology opportunities
- Increase flexibility
- Reduce cost
- Tighten security
True or False:
Generally, the role of application performance & robustness has been pushed down the stack to the compute, network, and storage layers.
True
How can employees be distributed?
Across organization facilities, small field offices, home offices, or at customer sites using mobile devices.
How can applications be distributed?
With multiple presentation layers, residing on separate machines and locations from the business logic layers and data access layers.
Two examples of Web 2.0 systems
How can IT eliminate traditional costs and become leaner?
Through consolidation and standardization
Makes a customer dependent on a vendor for hardware or software, creating a situation where they are unable to use another system without incurring substantial costs or data loss.
Vendor Lock-in
Five items to evaluate to determine if vendor lock-in exists
- Proprietary hardware, software, APIs, file formats
- Software limited to certain hardware platforms or configurations
- Abandonware
- Availability of source code, documentation, skillsets
- Licensing
Three legal issues pertaining to vendor lock-in
- Government laws
- Commercial licenses
- Open Source licenses
True or False: Vendor lock-in is limited to large hardware / software / systems companies.
False.
Three vendor lock-in scenarios for software
- Where software only runs on specific hardware.
- Where software uses unpublished APIs.
- Where software uses undocumented file formats.
True or False: Systems developed in-house can lead to vendor lock-in scenarios.
True
Category of software in which the product is not being maintained due to the vendor stopping work, going out of business, the in-house developer leaving the company, etc.
Abandonware
True or False:
Hardware can also fall into the category of abandonware.
True
Makes it much easier and less costly to work with vendor lock-in situations
Availability of source code
Contributing to the availability of software
Rise in popularity of the Open Source Software (OSS) movement
Included in many Open Source Software licenses
Responsibility to submit any changes made in the code back to the OSS community.
Three areas of savings
- Reduced power, cooling, data center space.
- Better management of licensing costs (be careful of VM sprawl).
- OPEX
VDC Migration Planning Process
- Survey the environment.
- Identify systems that can be combined, commoditized, replaced, or obsoleted.
- Plan goals, using a phased approach.
Question that must be asked when converting to a VDC
How much does it cost to save money?
In other words, what is the up-front CAPEX that will be required to eventually save money?
How should migrating to a VDC be done?
Perform the migration in phases, migrating a few applications and systems at a time.
Five considerations in VDC migration planning
- Determine phases of migration.
- Migrate a few applications and systems at a time.
- Look for overlap and underutilization of resources.
- Ask if some systems might be combined or replaced.
- Identify servers to eliminate or reuse.
Technique that can take advantage of the dynamic nature of the VDC
Combine systems when demand is not high, then scale out as demand increases (since many IT purchases are done in order to handle maximum load).
Five migration plan goals
- Use a phased approach
- Free up hardware and repurpose systems
- Consolidate the network
- Reduce licensing and maintenance costs
- TIme migrations when capacity demand is low
Tricky part of converting the data center into a private cloud
Migrating the legacy, business critical application(s).
Three details associated with Traditional Data Center to VDC phase
Identify applications.
Is decoupling possible?
Rewrite apps?
Detail needed for VDC phase
Application variability and latency
Details associated with VDC to Cloud
Migrating applications to Cloud.
Multi-tenancy.
High availability and eventual consistency (elasticity).
Bursting
True or False:
Many large data centers have the infrastructure to become a Cloud.
True
Becomes even more of a deterrent when an organization is looking to outsource their IT to the Cloud
Migrating the legacy, business critical applications
Three options to consider for application migrations
- Does the cost and effort of application rework, testing and redeployment outweigh the cost of maintaining the legacy app in-house?
- Can the app run in the Cloud infrastructure?
- Once migrated to the Cloud, consider vendor lock-in in case the app needs to move from the Cloud.
Dependencies for successful deployment of Clouds within organizations
- Can the application be decoupled from the physical server (i.e., can the app be virtualized)?
- Can the physical resource meet the demands of the application.
- The application may be legacy and only operate on legacy hardware that is incompatible with the Cloud resources.
Most challenging element for moving the VDC to the Cloud
Applications
Advantage of moving toward the private Cloud
There may be little-to-no redesign efforts required for applications.
Six general application types
- Legacy
- Enterprise
- Big Data
- Web Scale and Horizontal
- Mobile
- Desktop Virtualization
Dated application that continues to serve a business need.
Typically resides on older, slower servers.
Legacy application
Application type that:
- Solves and enterprise-wide problem.
- Software typically used for: order processing, procurement, production scheduling, customer information management, and accounting.
Enterprise Application
Application type that:
- Processes large quantities of data.
- Technologies include: Massively Parallel Processing (MPP) databases, data mining infrastructures (e.g., Apache Hadoop Framework), distributed file systems, distributed DBs, MapReduce algorithms, cloud computing platforms, Internet, & archival storage systems.
Big Data Applications
Application type that:
- Software uses over a broad group of users.
- Examples: word processing, bookkeeping software, social network
Web Scale and Horizontal Applications
Application type that:
- Usually runs on alternative end points such as phones and tablets.
- Uses web technologies: HTML, XML, etc.
Mobile Applications
Application type that:
- Adds a virtualization layer between the server and the desktop.
- Provides greater accessibility, tighter security, and ease of management.
Desktop Virtualization Application (VDI)
Six classifications or categories of applications
Legacy apps Enterprise apps Big Data apps Web Scale and Horizontal apps Mobile apps Desktop Virtualization apps
Applications that typically do not adapt well to a VDC and can take significant work to migrate.
Legacy Applications
What can offset the cost of maintaining legacy apps?
Removing the legacy apps from obsolete hardware.
Disadvantages of Integrating Legacy Apps in the VDC Plan
- Hard to migrate & integrate into the VDC and Cloud.
- Typically built on non-x86 platforms.
- Tightly coupled w/ underlying platform & technologies.
- Application re-work is manual and time intensive.
Advantages of Integrating Legacy Apps in the VDC Plan
- Remove silos of infrastructure dedicated to a single application.
- Move to a modern platform - improve performance & longevity.
- Reduce IT resources needed to manage and maintain legacy apps.
Integration of legacy apps in the VDC plan can be both…
- a source of tremendous gains in a move to VDC.
- a source of great expense in the process.
Three Legacy Application Migration Challenges
- Incompatible dependencies
- Interaction among shared resources - unanticipated problems
- Cross-platform effort
Examples of incompatible dependencies when migrating legacy applications
Libraries
Middleware
Kernel modules
Drivers
Two questions to consider concerning application migrations
- Does the cost & effort of application rework, testing, and redeployment outweigh the cost of maintaining the legacy app in-house?
- Can the application run in the VDC or Cloud infrastructure?
True or False: Considering industry trends, data for legacy applications has little, if any, growth.
True.
Implication: It may not warrant the level of effort & cost a migration may impose.
2.11
5 Enterprise Application Business Characteristics
- Mission-critical (downtime measured in $)
- Typically enterprise wide (impacts all users)
- Dedicated resources to manage & maintain
- Distributed - may span VDCs
- Stringent SLAs & recovery objectives
5 Enterprise Application Technical Characteristics
- Clustered
- Multi-processor
- High memory usage
- High bandwidth requirement
- Large storage footprint
True or False: Traditional horizontal applications, such as email, are increasingly considered mission critical among organizations.
True
EAI
Enterprise Application Integration (EAI)
Established the sharing of functionality and data between separate islands.
Enterprise Application Integration (EAI)
3 Approaches to EAI
- EAI Via Mesh
- Enterprise Service Bus (ESB)
- Service-Oriented Architecture (SOA)
SOA
Service-Oriented Architecture
ESB
Enterprise Service Bus (ESB)
Middleware layer that acts as an intermediary between separate systems
Enterprise Service Bus (ESB)
Architecture where systems are designed as reusable modules that can be called when and where needed.
Service Oriented Architecture (SOA)
Links disparate apps within an org to simplify & automate business processes to the greatest extent possible, while at the same time avoiding the need to make changes to existing apps or data structures.
Enterprise Application Integration (EAI)
Links disparate apps within an org to simplify & automate business processes to the greatest extent possible.
Enterprise Application Integration (EAI)
Avoids the need to make changes to existing apps or data structures.
Enterprise Application Integration (EAI)
Challenges to Accomplishing Enterprise Application Integration (EAI)
- Systems developed in different programming languages.
- Data may live in different database formats.
- Systems may run on different operating systems.
Can lead to a complex mesh of connections & interfaces as each system establishes communications with the others in the enterprise.
Enterprise Application Integration (EAI) via Mesh
Framework (or software architecture) that forms a middleware layer, enabling integration of systems and applications across the enterprise.
Enterprise Service Bus (ESB)
Addresses the problem of inter-systems communication & allows sharing of data & business processes across connected apps or data sources.
Enterprise Application Integration (EAI) via Enterprise Service Bus (ESB)
Method used for implementing EAI
Enterprise Service Bus (ESB)
Acts as the mediator for the interaction and communication between software applications.
An Enterprise Service Bus (ESB)
Set of software development principles for designing and developing software as services.
Service-Oriented Architecture (SOA)
Well-defined business functions that are built as individual pieces of code with interface “hooks” or APIs.
Services within a Service-Oriented Architecture (SOA) environment
4 “V”s of Big Data
- Variety
- Velocity
- Volume
- Value
3 Characteristics of Big Data
- Data volume
- Processing complexity
- Multiple combinations of structured & unstructured sources
Meaning of ‘Variety’ in a Big Data context
Data is not in a single format; email, tweets, images, standard relational DBs, text files, audio/video files
Meaning of ‘Velocity’ in a Big Data context
Data is generated or changed very quickly
Meaning of ‘Volume’ in a Big Data context
Huge quantities of data
Meaning of ‘Value’ in a Big Data context
Big Data is used to solve specific problems or to answer a specific question
True or False: Big Data is solely characterized by large data sets / sizes.
False
Big Data also focuses on processing complexity as well as combinations of structured & unstructured data sources.
Four challenges of Big Data applications
- Can lead to app sprawl or VM density issues that can bottleneck VDC compute resources.
- BC/DR, retention, & security become unmanageable.
- Increased data load rates can bottleneck the VDCs network.
- Typically computing that requires high-speed networks - 10GbE
Components for Handling Big Data
- Inexpensive, reliable storage.
- Analysis tools for unstructured & structured data.
- Hadoop and MapReduce suited to support distributed computing on large data sets.
Typical percentage of historical data in most production systems
60%
some organizations see upwards of 95%
True or False: Applications that load large data sets and run analytics typically require 10Gig Ethernet.
True
Why can using business intelligence applications on VMs be attractive?
Allows for greater utilization
Typical example of how business intelligence applications are run in a virtual environment.
- Business intelligence app run analytics periodically (e.g., to generate a monthly report).
- VMs can be started, the data analyzed, and a report generated.
- Then the VMs can be shutdown and the resources released.
True or False: What constitutes a “large” data set is relative and can vary from one organization to another.
True
A large data set for one org may be 100s of gigabytes.
For another org, it may be hundreds of terabytes.
Definition of a “large” data set
A large data set can be defined as the point at which the organization has difficulty managing the data set.
Applications that:
- scale at an exponential rate;
- example: social networks;
- can handle rapid growth without bottlenecks;
- commonly NoSQL databases
Web Scale Applications
Type of application that is deployed and managed across a large user base
Horizontal Application
Examples of horizontal applications
Desktop applications
Applications that will impact many users simultaneously
Horizontal applications
Example of a horizontal application impacting many users simultaneously
An anti-virus update being pushed to all user desktops and images within the organization
Enable BYOD and, to some extent, desktop virtualization
Mobile apps
Application type that performs a specific task
Mobile Applications
Two basic types of mobile apps
- Native apps installed on the end point.
2. Web apps
In a Mobile application context, web apps are sometimes disguised as what?
Native apps
Applications often architected as traditional 3-tier applications
Mobile Applications
Generally written for a specific device or a target end point operating system
Native applications
Reside on a server and are accessed via the Internet or cell phone network
Web apps
Characteristics of web app software
- Written using HTML and supporting technologies (e.g., XML & CSS).
- Interactive parts are written in Java, Objective-C, or other language as the end point platform dictates.
Traditional 3-tier application architecture
- Presentation layer (the end point)
- Business logic layer (middleware)
- Data access layer (data store or DB of some kind)
6 Benefits of Desktop Virtualization
- Ease of management & security
- VDI image library
- Heterogeneous OSs
- Snapshots
- Green
- Persistent and non-persistent desktops
Two types of virtual desktop solutions
- Server Hosted
2. Client Hosted
Examples of Server Hosted virtual desktop solutions
- VDI - stateful and stateless desktops
2. Remote Desktop Services (RDS)
Example of Client Hosted virtual desktop solution
Desktop running as a VM on client system: full virtualization and paravirtualization
Not the typical VDC deployment
Client Hosted Desktop Virtualization Solutions
Abstracts the OS, applications, and associated data from the PC.
Desktop virtualization
Most common desktop virtualization solution
Server hosted implementations (particularly VDI)
Desktop virtualization solution where the end users instantiate a session on a remote host machine
Server hosted implementation
Require a virtualization platform be installed on the local system.
Client hosted virtual desktops
Offers the ability to switch between several desktops - such as between a Linux environment, a Windows XP corporate environment, and a Windows 7 environment.
Client hosted virtual desktop
True or False: Both server hosted and client hosted desktop virtualization solutions require software installed on the client.
True
True or False: Remote and client virtualization software is available for Windows, Mac, and Linux
True
Benefit of Snapshots in a desktop virtualization solution
Ability to recover or rollback a user’s desktop.
How do desktop virtualization solutions contribute to a greener IT environment?
Thin clients have reduced power needs.
Consolidated computing in data centers can use power more efficiently.
Reusing older end points reduces technology discarded in landfills.
Allows flexibility for stateless images to be used temporarily
Desktop state
Two examples of how desktop state can be used
- A client for visitors that can be rolled back each day.
2. A stateful image where employee changes to their desktop image is preserved.
5 Key Considerations for Application Migration to VDC
- Flexibility
- Elasticity
- Efficiency
- Multi-tenancy
- Costs
Three things that enable flexibility in application migration to VDC
- Templates
- Cloning
- Snapshots
Enables quick scale out of application clusters to address burst and growth
Cloning
Reduces implementation and configuration times
Templates
Four ffficiency benefits for application migration to VDC
- Better utilization of CPU, memory & bandwidth
- VDI
- Lower upgrade risks - snapshot rollbacks
- Lower application testing time
Two benefits of Multi-Tenancy
- Failure isolation
2. Improved resource utilization