SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Radi Atanassov & Ognyan Guglev
OneBit Software
Practical management of development & QA
environments for SharePoint 2013
For Developers 
About Us
• SharePoint
2010 MCM
• SharePoint
Server MVP
• OneBit
Software
• Web
Platform
User Group
Radi Atanassow Ognyan Guglev
• SharePoint
2010 Administrator
• 2008 Server
Enterprise
Administrator
• 2010 Enterprise
Exchange
Administrator
• OneBit
Software
Agenda
 The needs of Dev and QA teams
 Challenges from the perspective of IT
 Deployment options
 Cloning vs Provisioning
 Licensing
 PowerShell automation
 SCVMM
 Performance& Hardware
 Tips, Tricks & Recommendations
DEFINE THE BUSINESS NEEDS
AND IT CHALLENGES
SP Developers and QA Teams
 They need servers:
 SharePoint Server
 Office Web Apps Server
 Workflow Manager Server
 Server management requires knowledge
 and time…
 QA needs a little bit more:
 Different environments
 Automated deployment & tests
Defining the strategy
 1 per project vs 1 for
many projects
 1 for each version of
SharePoint
 Developers?
 Team Leaders?
 QA Team?
 IT?
How many servers? Who creates servers?
Single VM
Multiple VM’s
Retention & IT Governance
 Too many VM’s could become a key concern
 When should you delete/archive the virtual
machines?
 Who should delete/archive virtual machines?
Responsibilities of IT
 Be responsible for the “high-availability” of the
development & QA teams
 Provide overall management of these needs
 Creation, retention, networking, storage,
performance, automation
 Manage the hardware
Environment Goals
 Save developer time!
 Provision development environments in under 3
hours
 Automating repetitive tasks (installation,
configuration, tools, code repositories,
shortcuts)
 Make the developer experience the same
 Avoid data loss (thin VM’s)
 Avoid restoring broken environments
 The best developer performance
 Remote work
Managing Environments
INFRASTRUCTURE
CONSIDERATIONS
Infrastructure Considerations
 Windows Server
 Active Directory Domain Services
 Microsoft SQL Server
 SharePoint
 Visual Studio & Source Control
 Workflow Manager?
 Office Web Apps Server?
 Client test machine (Office, browsers)
Deployment Options - Desktops
Deployment Options - Centralised
Deployment Options - Mixed
Deployment Options - Shared
Workflow
Manager 2013
Office Web Apps
Server 2013
Active Directory
Deployment Options - Shared
Workflow
Manager 2013
Office Web Apps
Server 2013
Active Directory
SQL Server?
Deployment Options - Cloud
Comparisons
 IT manages the
server infrastructure
 Saves developer/QA
time
 Group Policy
 1 IT can service
many teams
 Server performance
 Workstations for
more power
 Dev can manage
their VM’s
(performance,
retention, network)
 Better for snapshot
if services are not
shared
Centralised Decentralised
Comparisons
 Requires lots of
resources
 Easier to use, self-
contained
 Easier to move
 Can snapshot
 No central
management
 Better performing
dev machines
 Harder to move &
has dependencies
 Must snapshot the
entire team
 Centralised
management
Complete VM (AD, SQL…) Shared Services
In detail – Shared AD
 No need to create domain
every time you install a new
SharePoint machine
 No need to create accounts
and policies for every
machine
 Can access servers by FQDN
 Centralized management of
servers
 Ease of setting policies, file
shares, software installation,
software updates
 Cannot move the server outside the
domain
 Not recommended to "play around"
with the domain setting and make
changes
 Not recommended to change
passwords to user accounts - it can
impact many machines
 Cannot create/revert snapshots as
this will impact the time
synchronization between machines
 Developers need to request or add
entries in the DNS server
 Cannot clone VMs (required sysprep
& rejoin then fix SP)
PROs CONs
 Can move the machine
anywhere as it holds all the roles
 Can make development against
the domain and make some
changes without impacting the
other machines
 Unique control on accounts and
passwords
 Can snapshot and revert
 No need to create hosts file
entries to develop against a
demo website with fixed host
header (use DNS!)
 Hard to implement FQDN
resolution
 Hard to implement and
deploy policies on all
machines
 No centralised
management of all servers
(out-of-the-box)
 Hard to automate software,
file shares and other
updates
 Always have to consider
the netbios name when
provisioning new
domain/forest
PROs CONs
In detail – AD in a complete VM
Workflow Manager
 Must be part of the
same Forest
 Better VM
performance
 IT manages
certificates
 Extremely difficult to
install correctly
(dev’s usually don’t
know)
 Needs its own VM
Centralised Decentralised
Office Web Apps
 Must be part of the
same Forest
 Better VM
performance
 Requires it’s own VM!
Cannot be installed on
SharePoint
 Cannot be installed on
a Domain Controller
 Difficult to install
correctly (dev’s usually
don’t know)
 Slows down
environment
Centralised Decentralised
Single Workstation
Option 1
VM 1 – AD, SQL, SP
VM 2 – OWA, WFM
Option 2
VM 1 – AD, SP
VM 2 – SQL, OWA, WFM
Key Decisions
 DNS, DHCP and other network considerations
 Cross-service Integration
 Performance
 Managing VMs& Policies
 Remote access
 File shares for Dev Tools
 Script & Component Library
 Windows & SharePoint Updates
 Visual Studio Updates
Do you clone your VM’s or
create many copies from
scratch?
Question
VM – Cloning
 Easily copy a VM to
another location with all
the software installed
 Fast solution when
another person need to
join the project
 Hard to manage &
identify copied VMs
 which one is the right one
 Same hostnames
 (SP doesn’t like
renaming)
 IP conflicts
 Does not work with a
centralised domain
PROs CONs
VM – Recreating
 You have a clean
machine built from
scratch
 No IP conflicts
 New domain
 New farm
 Fresh SQL
 Takes more time to
create
 You have to install/copy all
the tools and updates
needed
 You have to configure all
the services
 You have to assign
permissions if needed
PROs CONs
Our approach
 Automate provisioning & installation
 Automate settings
 Use templates
Our Recommended Practices
 “Thin” workstations – no desktop/my documents
 Prevents data loss
 Improves security
 Loopback check
 Stop Windows Updates
 Add Shortcuts (14, 15 hive)
 Windows priority– programs or background services
 Limit logs
 Minimize components & services
 Avoid development& test with the administrator account
 Environment PATH variables
 Preinstall everything necessary
 Stop IntelliTrace & tweak ReSharper
 Stop unnecessary services like Antivirus & Defender
Our Recommended Practices
 “Design/discuss” the environment together
with the Project Leader
 Script Library
 Component Library
 Common Code
 Base Solution Templates
Environment usability
 Local administrator access
 Ease-out domain policies
 Development with the “Administrator” account
should be avoided
 PowerShell execution policy
 Background Info
 Educate about shortcuts, network share, files
Remove unnecessary VMs
 “data” inside the VM (desktop files)
 Files not committed/checked in
 Test/POC/Sample projects
Licensing
 Windows Server– 180 days
 SharePoint– Unlimited 
 SQL– Express or 180 days
 Visual Studio– 60 days
 Others…
Client demo/qa/stg environments
 We sometimes host environments for money

 Access from the internet
 *.contoso.com //if needed
 TFS Lab Manager: Automated deployment for
ALM requirements
Hardware recommendations for
VM’s
 CPU - Configure a 1-to-1 mapping of virtual processor
to logical processors for best performance - Be aware
of over commitment
 Memory - Ensure enough memory is allocated to
each virtual machine - Be aware of NUMA
 Disk - Be aware of underlying disk read/write
contention between different virtual machines to their
virtual hard disks. Use fixed disks, not dynamically
expanding. Separate on different disks.
 Integration - Ensure that integration components
(HV/VM) are installed on the virtual machine
 Time Synchronization – Be sure time is
synchronized always with Domain Controller
Hardware Costs
 CPU– Intel Core I7
4-core 3.4GHz HT
 RAM– 16GB DDR3
 HDD– 1TB
 SSD – 128GB
 Monitors
 ~1500 USD
 CPU - E5-2620 6-
core 2.1 GHz HT
 RAM – 64GB ECC
 HDD – 4x1TB WD
BE RAID10
 ~2300 USD
Workstation Server
Environment Automation
 Define what templates you need based on the projects
 Sysprep VM templates
 Group Policy Objects – Firewalls, RDP, Local Admins,
File Shares, WSUS, Certificates, Homepages etc.
 AD Accounts creation
 DNS Forwarders
 Install and configure SQL
 Install and configure SharePoint
 Install and configure Visual Studio
 Other software and automation tasks
 ULS, Fiddler, ILSpy, SP Designer etc.
Automating QA – TFS + Lab Manager
Testing Architecture
VM Template Library SCVMM Environment Standard Environment
VM Template 2VM Template 1
Test Agent Test Agent Test AgentTest AgentVMMAgent
Web Server
VM
Database
Server
VM
VM Host Web Server Database
Server
Test AgentTest Agent
Team Foundation Server
System Center Virtual Machine
Manager (SCVMM)
Team Build
Test Controller
TFS Lab Manager
THIS IS HOW WE DO IT
Our choices & solutions
 Environment mix:
 1 environment per project per person
 Team environment with dev VMs for each
developer & shared services
 Scripted deployment& installation
 File share for dev tools, scripts, etc.
 Distributed source control
 Client demo environments
 Separate SCVMM clouds for Dev/Staging and
Production Environments
 Dev/Staging in an isolated network
NON-DOMAIN MEMBERS
DNS Server
Domain:
onebitsoftware.net
2 way transitive trust with conditional forwarders
Other Production
Servers
Domain:onebitsoftware.net Domain:onebitdev.test
Domain A - SharePoint
Environment - 1 Tier
Domain B – SharePoint
Environment - 3 Tier
DevTools
SP – Single Server
AD + SQL + SP + VS
SP-APP SP-WFE
AD+SQL
Workstation 1 Workstation 2 Workstation 3
Reverse Proxy
Http://sp.onebitsoftware.net
RDP or VMPortal
SP – Single Server
AD + SQL + SP + VS
Domain C - SharePoint Environment
- 1 Tier
Hyper-V
hosts
Other Dev
Servers
Forwarders to the ISP DNS Servers
Google DNS Servers
Root hints
Forwarders to the
onebitdev.test DNS
Forwarders to the
onebitdev.test DNS
Non-secure and secure
dynamic updates
Forwarders to the
onebitdev.test DNS
DNS Server
Domain: onebitdev.test
Howwedoit
• SCVMM – How we use it
• Web Administration– Create ShrarePoint
Dev Environment 1Tier
• VM Templates – Syspreped OSs
• Service Templates
• Review of PowerShell scripts– Variables
(User input), Scripts (Functions and
help), Email Notifications (show emails)
DEMO: What We Do – SCVMM +
PowerShell
Thank you! Any questions?
 radi@sharepoint.bg
 o.guglev@onebitsoftware.net
Radi Atanassov
Ognyan Guglev

Weitere ähnliche Inhalte

Was ist angesagt?

Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
Alexander Meijers
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 

Was ist angesagt? (20)

Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-Ins
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePoint
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 

Andere mochten auch

Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechConBuilding Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
SPTechCon
 

Andere mochten auch (20)

Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
 
Sharcamp 2014: Search driven apps with SharePoint 2013
Sharcamp 2014: Search driven apps with SharePoint 2013Sharcamp 2014: Search driven apps with SharePoint 2013
Sharcamp 2014: Search driven apps with SharePoint 2013
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript
 
Основы Active Directory за 1 вебинар
Основы Active Directory за 1 вебинарОсновы Active Directory за 1 вебинар
Основы Active Directory за 1 вебинар
 
Building SharePoint add-ins with JavaScript and c# sps Silicon Valley
Building SharePoint add-ins with JavaScript and c# sps Silicon ValleyBuilding SharePoint add-ins with JavaScript and c# sps Silicon Valley
Building SharePoint add-ins with JavaScript and c# sps Silicon Valley
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure AD
 
Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений
Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложенийОбзор протокола OAuth 2.0. Способы внедрения в различные типы приложений
Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений
 
Yahoo! TAO Case Study Excerpt
Yahoo! TAO Case Study ExcerptYahoo! TAO Case Study Excerpt
Yahoo! TAO Case Study Excerpt
 
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechConBuilding Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
 
Collab365 Global Summit Slides
Collab365 Global Summit SlidesCollab365 Global Summit Slides
Collab365 Global Summit Slides
 
European SharePoint Conference - TH3
European SharePoint Conference - TH3European SharePoint Conference - TH3
European SharePoint Conference - TH3
 
Session Slides from DEVintersection Europe
Session Slides from DEVintersection EuropeSession Slides from DEVintersection Europe
Session Slides from DEVintersection Europe
 
Next Gen Portal in Office 365: April 2015. SUGUK
Next Gen Portal in Office 365: April 2015. SUGUKNext Gen Portal in Office 365: April 2015. SUGUK
Next Gen Portal in Office 365: April 2015. SUGUK
 
#EduTECHAU Are you an effective social curator? #curation
#EduTECHAU Are you an effective social curator? #curation#EduTECHAU Are you an effective social curator? #curation
#EduTECHAU Are you an effective social curator? #curation
 
Microsoft PowerApps Introduction by Usama Wahab Khan MVP
Microsoft PowerApps Introduction by Usama Wahab Khan MVP Microsoft PowerApps Introduction by Usama Wahab Khan MVP
Microsoft PowerApps Introduction by Usama Wahab Khan MVP
 
Real World SharePoint Debacles
Real World SharePoint DebaclesReal World SharePoint Debacles
Real World SharePoint Debacles
 
My slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday OsloMy slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday Oslo
 
Office 365 Groups: Deep Dive
Office 365 Groups: Deep DiveOffice 365 Groups: Deep Dive
Office 365 Groups: Deep Dive
 
Managing permissions in SharePoint
Managing permissions in SharePointManaging permissions in SharePoint
Managing permissions in SharePoint
 
Next Generation Portals: Office 365
Next Generation Portals: Office 365Next Generation Portals: Office 365
Next Generation Portals: Office 365
 

Ähnlich wie Practical management of development & QA environments for SharePoint 2013

Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
corin29
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
Jess Coburn
 

Ähnlich wie Practical management of development & QA environments for SharePoint 2013 (20)

SharePoint 2013 on Azure: Your Dedicated Farm in the Cloud
SharePoint 2013 on Azure: Your Dedicated Farm in the CloudSharePoint 2013 on Azure: Your Dedicated Farm in the Cloud
SharePoint 2013 on Azure: Your Dedicated Farm in the Cloud
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
Practical SharePoint 2013 Development Environment
Practical SharePoint 2013  Development EnvironmentPractical SharePoint 2013  Development Environment
Practical SharePoint 2013 Development Environment
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Azure based development for SharePoint 2013
Azure based development for SharePoint 2013Azure based development for SharePoint 2013
Azure based development for SharePoint 2013
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
70-410 Practice Test
70-410 Practice Test70-410 Practice Test
70-410 Practice Test
 
GWAVACon 2015: Microsoft MVP - Exchange Architecture & Sizing
GWAVACon 2015: Microsoft MVP - Exchange Architecture & SizingGWAVACon 2015: Microsoft MVP - Exchange Architecture & Sizing
GWAVACon 2015: Microsoft MVP - Exchange Architecture & Sizing
 
Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...
Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...
Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
 
SharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the FieldSharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the Field
 
Deploying Microsoft System Center in Days
Deploying Microsoft System Center in DaysDeploying Microsoft System Center in Days
Deploying Microsoft System Center in Days
 
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
 
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd KlindtSharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
 
Should I move my database to the cloud?
Should I move my database to the cloud?Should I move my database to the cloud?
Should I move my database to the cloud?
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
 
Simplifying Systems Management
Simplifying Systems ManagementSimplifying Systems Management
Simplifying Systems Management
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Practical management of development & QA environments for SharePoint 2013

  • 1. Radi Atanassov & Ognyan Guglev OneBit Software Practical management of development & QA environments for SharePoint 2013
  • 3. About Us • SharePoint 2010 MCM • SharePoint Server MVP • OneBit Software • Web Platform User Group Radi Atanassow Ognyan Guglev • SharePoint 2010 Administrator • 2008 Server Enterprise Administrator • 2010 Enterprise Exchange Administrator • OneBit Software
  • 4. Agenda  The needs of Dev and QA teams  Challenges from the perspective of IT  Deployment options  Cloning vs Provisioning  Licensing  PowerShell automation  SCVMM  Performance& Hardware  Tips, Tricks & Recommendations
  • 5. DEFINE THE BUSINESS NEEDS AND IT CHALLENGES
  • 6. SP Developers and QA Teams  They need servers:  SharePoint Server  Office Web Apps Server  Workflow Manager Server  Server management requires knowledge  and time…  QA needs a little bit more:  Different environments  Automated deployment & tests
  • 7. Defining the strategy  1 per project vs 1 for many projects  1 for each version of SharePoint  Developers?  Team Leaders?  QA Team?  IT? How many servers? Who creates servers? Single VM Multiple VM’s
  • 8. Retention & IT Governance  Too many VM’s could become a key concern  When should you delete/archive the virtual machines?  Who should delete/archive virtual machines?
  • 9. Responsibilities of IT  Be responsible for the “high-availability” of the development & QA teams  Provide overall management of these needs  Creation, retention, networking, storage, performance, automation  Manage the hardware
  • 10. Environment Goals  Save developer time!  Provision development environments in under 3 hours  Automating repetitive tasks (installation, configuration, tools, code repositories, shortcuts)  Make the developer experience the same  Avoid data loss (thin VM’s)  Avoid restoring broken environments  The best developer performance  Remote work
  • 12. Infrastructure Considerations  Windows Server  Active Directory Domain Services  Microsoft SQL Server  SharePoint  Visual Studio & Source Control  Workflow Manager?  Office Web Apps Server?  Client test machine (Office, browsers)
  • 14. Deployment Options - Centralised
  • 16. Deployment Options - Shared Workflow Manager 2013 Office Web Apps Server 2013 Active Directory
  • 17. Deployment Options - Shared Workflow Manager 2013 Office Web Apps Server 2013 Active Directory SQL Server?
  • 19. Comparisons  IT manages the server infrastructure  Saves developer/QA time  Group Policy  1 IT can service many teams  Server performance  Workstations for more power  Dev can manage their VM’s (performance, retention, network)  Better for snapshot if services are not shared Centralised Decentralised
  • 20. Comparisons  Requires lots of resources  Easier to use, self- contained  Easier to move  Can snapshot  No central management  Better performing dev machines  Harder to move & has dependencies  Must snapshot the entire team  Centralised management Complete VM (AD, SQL…) Shared Services
  • 21. In detail – Shared AD  No need to create domain every time you install a new SharePoint machine  No need to create accounts and policies for every machine  Can access servers by FQDN  Centralized management of servers  Ease of setting policies, file shares, software installation, software updates  Cannot move the server outside the domain  Not recommended to "play around" with the domain setting and make changes  Not recommended to change passwords to user accounts - it can impact many machines  Cannot create/revert snapshots as this will impact the time synchronization between machines  Developers need to request or add entries in the DNS server  Cannot clone VMs (required sysprep & rejoin then fix SP) PROs CONs
  • 22.  Can move the machine anywhere as it holds all the roles  Can make development against the domain and make some changes without impacting the other machines  Unique control on accounts and passwords  Can snapshot and revert  No need to create hosts file entries to develop against a demo website with fixed host header (use DNS!)  Hard to implement FQDN resolution  Hard to implement and deploy policies on all machines  No centralised management of all servers (out-of-the-box)  Hard to automate software, file shares and other updates  Always have to consider the netbios name when provisioning new domain/forest PROs CONs In detail – AD in a complete VM
  • 23. Workflow Manager  Must be part of the same Forest  Better VM performance  IT manages certificates  Extremely difficult to install correctly (dev’s usually don’t know)  Needs its own VM Centralised Decentralised
  • 24. Office Web Apps  Must be part of the same Forest  Better VM performance  Requires it’s own VM! Cannot be installed on SharePoint  Cannot be installed on a Domain Controller  Difficult to install correctly (dev’s usually don’t know)  Slows down environment Centralised Decentralised
  • 25. Single Workstation Option 1 VM 1 – AD, SQL, SP VM 2 – OWA, WFM Option 2 VM 1 – AD, SP VM 2 – SQL, OWA, WFM
  • 26. Key Decisions  DNS, DHCP and other network considerations  Cross-service Integration  Performance  Managing VMs& Policies  Remote access  File shares for Dev Tools  Script & Component Library  Windows & SharePoint Updates  Visual Studio Updates
  • 27. Do you clone your VM’s or create many copies from scratch? Question
  • 28. VM – Cloning  Easily copy a VM to another location with all the software installed  Fast solution when another person need to join the project  Hard to manage & identify copied VMs  which one is the right one  Same hostnames  (SP doesn’t like renaming)  IP conflicts  Does not work with a centralised domain PROs CONs
  • 29. VM – Recreating  You have a clean machine built from scratch  No IP conflicts  New domain  New farm  Fresh SQL  Takes more time to create  You have to install/copy all the tools and updates needed  You have to configure all the services  You have to assign permissions if needed PROs CONs
  • 30. Our approach  Automate provisioning & installation  Automate settings  Use templates
  • 31. Our Recommended Practices  “Thin” workstations – no desktop/my documents  Prevents data loss  Improves security  Loopback check  Stop Windows Updates  Add Shortcuts (14, 15 hive)  Windows priority– programs or background services  Limit logs  Minimize components & services  Avoid development& test with the administrator account  Environment PATH variables  Preinstall everything necessary  Stop IntelliTrace & tweak ReSharper  Stop unnecessary services like Antivirus & Defender
  • 32. Our Recommended Practices  “Design/discuss” the environment together with the Project Leader  Script Library  Component Library  Common Code  Base Solution Templates
  • 33. Environment usability  Local administrator access  Ease-out domain policies  Development with the “Administrator” account should be avoided  PowerShell execution policy  Background Info  Educate about shortcuts, network share, files
  • 34. Remove unnecessary VMs  “data” inside the VM (desktop files)  Files not committed/checked in  Test/POC/Sample projects
  • 35. Licensing  Windows Server– 180 days  SharePoint– Unlimited   SQL– Express or 180 days  Visual Studio– 60 days  Others…
  • 36. Client demo/qa/stg environments  We sometimes host environments for money   Access from the internet  *.contoso.com //if needed  TFS Lab Manager: Automated deployment for ALM requirements
  • 37. Hardware recommendations for VM’s  CPU - Configure a 1-to-1 mapping of virtual processor to logical processors for best performance - Be aware of over commitment  Memory - Ensure enough memory is allocated to each virtual machine - Be aware of NUMA  Disk - Be aware of underlying disk read/write contention between different virtual machines to their virtual hard disks. Use fixed disks, not dynamically expanding. Separate on different disks.  Integration - Ensure that integration components (HV/VM) are installed on the virtual machine  Time Synchronization – Be sure time is synchronized always with Domain Controller
  • 38. Hardware Costs  CPU– Intel Core I7 4-core 3.4GHz HT  RAM– 16GB DDR3  HDD– 1TB  SSD – 128GB  Monitors  ~1500 USD  CPU - E5-2620 6- core 2.1 GHz HT  RAM – 64GB ECC  HDD – 4x1TB WD BE RAID10  ~2300 USD Workstation Server
  • 39. Environment Automation  Define what templates you need based on the projects  Sysprep VM templates  Group Policy Objects – Firewalls, RDP, Local Admins, File Shares, WSUS, Certificates, Homepages etc.  AD Accounts creation  DNS Forwarders  Install and configure SQL  Install and configure SharePoint  Install and configure Visual Studio  Other software and automation tasks  ULS, Fiddler, ILSpy, SP Designer etc.
  • 40. Automating QA – TFS + Lab Manager
  • 41. Testing Architecture VM Template Library SCVMM Environment Standard Environment VM Template 2VM Template 1 Test Agent Test Agent Test AgentTest AgentVMMAgent Web Server VM Database Server VM VM Host Web Server Database Server Test AgentTest Agent Team Foundation Server System Center Virtual Machine Manager (SCVMM) Team Build Test Controller
  • 43. THIS IS HOW WE DO IT
  • 44. Our choices & solutions  Environment mix:  1 environment per project per person  Team environment with dev VMs for each developer & shared services  Scripted deployment& installation  File share for dev tools, scripts, etc.  Distributed source control  Client demo environments  Separate SCVMM clouds for Dev/Staging and Production Environments  Dev/Staging in an isolated network
  • 45. NON-DOMAIN MEMBERS DNS Server Domain: onebitsoftware.net 2 way transitive trust with conditional forwarders Other Production Servers Domain:onebitsoftware.net Domain:onebitdev.test Domain A - SharePoint Environment - 1 Tier Domain B – SharePoint Environment - 3 Tier DevTools SP – Single Server AD + SQL + SP + VS SP-APP SP-WFE AD+SQL Workstation 1 Workstation 2 Workstation 3 Reverse Proxy Http://sp.onebitsoftware.net RDP or VMPortal SP – Single Server AD + SQL + SP + VS Domain C - SharePoint Environment - 1 Tier Hyper-V hosts Other Dev Servers Forwarders to the ISP DNS Servers Google DNS Servers Root hints Forwarders to the onebitdev.test DNS Forwarders to the onebitdev.test DNS Non-secure and secure dynamic updates Forwarders to the onebitdev.test DNS DNS Server Domain: onebitdev.test Howwedoit
  • 46. • SCVMM – How we use it • Web Administration– Create ShrarePoint Dev Environment 1Tier • VM Templates – Syspreped OSs • Service Templates • Review of PowerShell scripts– Variables (User input), Scripts (Functions and help), Email Notifications (show emails) DEMO: What We Do – SCVMM + PowerShell
  • 47. Thank you! Any questions?  radi@sharepoint.bg  o.guglev@onebitsoftware.net Radi Atanassov Ognyan Guglev