Upload
mary-leigh-mackie
View
759
Download
2
Tags:
Embed Size (px)
DESCRIPTION
This deck was presented at a virtual conferece, with a focus on branding.
Citation preview
Proven Practices for Application Lifecycle
Management with SharePoint
Mary Leigh Mackie
@mlmackie
Session Objectives and Takeaways
• SharePoint Application Lifecycle Management
• Managing and Governing ALM in SharePoint
– Definition and Purpose of Governance
– ALM Governance and Management Challenges
• SharePoint ALM
– Out of the box capabilities
– When to think about additional technology options
• Final Considerations
AvePoint: Who We Are
Global Leader -- Microsoft® SharePoint
Infrastructure Management
“Clearly AvePoint is making the most of both Microsoft technology and the Microsoft
Partner Network in its quest to create a profitable business.”
– Jon Roskill, Microsoft Corporate Vice President, Worldwide Partner Group
Application Lifecycle Management Overview
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,
without the prior written consent of AvePoint, Inc.
SharePoint is an Application:
Application Lifecycle Management!
Development Testing Staging Production
Design
Front-End
Solutions
Design
Front-End
Solutions
Design
Front-End
Solutions
Design
Front-End
Solutions
Planning for ALM in SharePoint
SharePoint Development IS an IT Project
• Global change management is required for…
– Platform updates and upgrades
– Branding
– Solutions and customizations: 80-20 Rule
– IA restructuring
– Etc…
Source: Microsoft TechNet, MSDN, and blogs
Managing and Governing ALM in
SharePoint
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,
without the prior written consent of AvePoint, Inc.
Key Players of Governance
People
Process
Technology
Policy
Governance Spectrum
Chaos Restricted
Key Policy Areas of Governance
IT Assurance Project
Governance
Information Governance
Technology & Business Alignment
Continuous Improvement
http://www.21apps.com/governance/sharepoint-governance-3-0/
Introducing a Governance Plan
Integration
Applications
Collaboration
Content
Governance and Site types
Getting the right tools for the job…
• Standard administration interfaces – Quotas, locks, permissions,
records management
• Powershell – Administrative functions,
Data protection
• SharePoint services and features – Managed metadata service
for classification
– ISV solutions for management
• SharePoint Designer, Visual Studio
Manual Automated
Governing Application Management
Determine customization types you want to allow/disallow, and how to manage them:
Service level descriptions
Processes for analyzing customizations
Process for piloting and testing
customizations
Guidelines for packaging and deploying
customizations
Guidelines for updating customizations
Approved tools for development
Who is responsible for ongoing code
support
Specific policies regarding each
potential type of customization (done
through the UI or SD)
What’s the right balance
for your organization?
Strictly managed
development Customizations must adhere to
customization policy, deployments and
updates tested and rigorously managed.
Loosely Managed
Development Rules about development
environments or customizations are
less rigid.
Options for Extending SharePoint
• Custom Code
(Powershell, STSADM,
.NET)
• CodePlex
• Visual Studio
• SharePoint Designer
• 3rd Party products/
services
15
Customizations & Branding
• Isolate custom solutions: Sandbox Solutions – Cannot use certain computer and network resources
– Cannot access content outside the site collection they are deployed in.
– Can be deployed by a site collection administrator.
– Governed: only a farm administrator can promote a sandboxed solution to run directly on the farm in full trust.
• Master Pages and Page Layouts
• Themes
• To “Designer” or not to “Designer”
• Separate development, pre-production, and production environments (keep these environments in sync)
Do I Build or Buy? (Or Neither)
Suggested Evaluation Criteria
Evaluate Out of the Box Features FIRST (80% Rule)
• Supportability and Maintenance (IT skill sets, upgrades, debugging)
• Documentation (including Training and Handover)
• Extensibility
• Impact on Infrastructure (Data Protection SLAs, Storage, etc)
• Integration with other 3rd parties/customizations
• Cost (of dev or product + training + support, etc) and ROI
• Risk (Who is accountable?)
Challenges with SharePoint development
• Environment setup
• Platform learning curve
• Toolset support
• Team development
• Versioned releases
SharePoint Lifecycle Management Process
SharePoint Application Lifecycle
Management
A closer look at:
• Platform enhancements
• Tool enhancements
• Artifact provisioning
• Automated builds
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,
without the prior written consent of AvePoint, Inc.
SharePoint 2010 Platform
Enhancements
Solution (WSP) Packages
• Used to deploy custom code
• Contains all files and deployment instructions
• WSP extension – Internally a cabinet file
• Created by Visual Studio
• Farm or Sandboxed
WSP
Manifest.xml Assembly.dll
Image.jpg AppPage.aspx
Sandboxed Solutions
Business Agility Security and
Stability
List Improvements
• Scalability and performance
• Relationships
• Validation
• Lookup to multiple columns
• List index auto creation
• List query throttling
• XSLT views
Tool
Enhancements
Visual Studio 2010
Development Environment
• Windows 7/Vista SP1 support
• Must be 64-bit
• Requires min 4GB RAM for Foundation
• SharePoint 2010 must be installed locally
• Wizard installs and configures most things
• Virtualization
Application pages Declarative
workflows
Web part hook up
SharePoint Tools Continuum
Import
Export
Professional developer Business Analyst/Process
Designer
Code workflows
Event receivers
List definitions
WSP
Package
Designer/IW/Power User
Views & Forms
VS2010 improvements
• Source control support
• Built-in SharePoint tooling
• F5 debugging
• Visual web parts
• Server Explorer
• Package Designer
• Feature Designer
• Extensible
But it’s not perfect
• Backwards compatibility
• .NET 4.0 support
• 64-bit only
• Unit testing
• Web testing
• Accessibility
Artifact Provisioning
SharePoint Designer
• Promotion between environments
• Should certain artifacts be packaged as a WSP?
• Manual copying and pasting files
• Restricting use by policy
• Using third party tools to manage deployments
Deployment in SharePoint 2010
OOTB Capabilities?
• Deploy / roll-back solutions (packages)
• Activate / deactivate features
• Export / import site collections, sites, or lists
• More VS2010 integration (sandbox)
• Visual upgrade (first deployment)
What is it missing?
• Granular control of rights
(delegation), design
elements, content, and
customizations
• DLLs, GAC files,
Customizations,
Workflows, IIS
configuration
Automated Builds
Moving Between Environments
Out of the Box Capabilities
• Perform change in test environment
• Package as solutions whenever possible (VS2010)
• Document all changes
• Repeat all changes in production environment(s) – STSADM operations (now
PowerShell scriptable)
– Define appropriate parameters for IIS
– Make other settings and configuration changes (VS2010)
With Third Parties
• Perform change in test
environment
• Ability to compare
environments
• Deploy to appropriate
farm(s)
• Produce report of all
changes
Build Process
Build Process
Dev PC
Development
Smoke Testing
F5 D
ep
loy
Team Foundation Server
Check In
Staging
Automated testing
Warm-blooded
user testing
Build Server
Team Build
SP2010 DLL’s
Build
Unit Testing
Fix Bugs
(repeat as necessary)
Nightly build
-OR-
Continuous
Integration Check in WSP
Install and Activate [script]
Bugs
WSP
WSP
Ensuring Business Continuity
Planning for ALM in SharePoint
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,
without the prior written consent of AvePoint, Inc.
Goal: Increase Platform Reliability
• Support increasingly
stringent business
requirements for:
– Content access times
– SLAs for availability
– QoS for global users
Increase Production Reliability
41
• Incorporate Multiple farm approach
• Plan for Global Change Management
Need repeatability to ensure success criteria!
Development Testing Staging Production
Load and Performance Testing
• Visual Studio Ultimate
• Stress test code
– Simulating users
• Highlights overuse of
creating new SPSite
objects
• Validates server roles
and hardware
Data Protection Requirements
Monitor Health and ensure global protection
• Monitor SharePoint’s health globally
• Protect valuable SharePoint assets – Multiple farms
– Custom solutions
– Workflows
– Content (even externalized!)
– Security structure,
– Wikis, blogs, MySites
– Metadata
• Simplify Restore process
• Maintain failover environment?
Binary File (OS /
SharePoint)
System Configurations
Externalized Data (BLOB)
SharePoint Configurations
Customizations
Content
• Content DB
• Search Index
• Web Application
• Site Collection
• Site
• List/Library
• Folder
• Item/Document
• Version
• Metadata
• Central Admin DB
• Config DB
• Hive
• GAC
• Gallery
• Site Definition
• Solutions
• Cust. Features
• IIS Metabase
• IIS Settings
• Web.Config
• InetPub
Q & A
Resources
• SharePoint 2010 – http://sharepoint.microsoft.com/
• SharePoint ALM resource center – http://msdn.microsoft.com/en-us/sharepoint/dd552992
• SharePoint Patterns & Practices Group (SPG) – http://msdn.microsoft.com/en-us/library/ff770300.aspx
• FREE conference videos & slides – http://msdn.microsoft.com/en-
us/sharepoint/ff405669.aspx
– http://www.microsoft.com/downloads/details.aspx?FamilyID=f8cb362c-75ad-4cb9-9fbc-3abcdf6afeaf
• SPDisposeCheckStatic Rules – http://spdisposecheckstatic.codeplex.com/