SlideShare a Scribd company logo
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

More Related Content

PDF
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
PPTX
Developing Apps for SharePoint Store
PPTX
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
PPTX
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PPTX
Application Lifecycle Management for Office 365 development
PPTX
COB - Azure Functions for Office 365 developers
PPTX
Gabriel Gayhart - XML Pointer File Example
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Developing Apps for SharePoint Store
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Application Lifecycle Management for Office 365 development
COB - Azure Functions for Office 365 developers
Gabriel Gayhart - XML Pointer File Example

What's hot (20)

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

Viewers also liked (20)

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

Similar to Practical management of development & QA environments for SharePoint 2013 (20)

PPTX
SharePoint 2013 on Azure: Your Dedicated Farm in the Cloud
PPTX
SharePoint On-Premises Nirvana
PDF
Practical SharePoint 2013 Development Environment
PPT
SharePoint Topology
PPTX
A Deep Dive into SharePoint 2016 architecture and deployment
PPTX
Using Nano Server for Hyper-V Training 0
PPTX
Azure based development for SharePoint 2013
PPTX
North east user group tour
PPTX
70-410 Practice Test
PDF
GWAVACon 2015: Microsoft MVP - Exchange Architecture & Sizing
PPTX
Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...
PPTX
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
PPTX
SharePoint Administration: Tips from the Field
PPTX
Deploying Microsoft System Center in Days
PPTX
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
PPTX
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
PPTX
Taking SharePoint to the Cloud
PPT
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
PPTX
Should I move my database to the cloud?
PPTX
Cloud computing 3702
SharePoint 2013 on Azure: Your Dedicated Farm in the Cloud
SharePoint On-Premises Nirvana
Practical SharePoint 2013 Development Environment
SharePoint Topology
A Deep Dive into SharePoint 2016 architecture and deployment
Using Nano Server for Hyper-V Training 0
Azure based development for SharePoint 2013
North east user group tour
70-410 Practice Test
GWAVACon 2015: Microsoft MVP - Exchange Architecture & Sizing
Navigating the turbulence on take-off: Setting up SharePoint on Azure IaaS th...
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
SharePoint Administration: Tips from the Field
Deploying Microsoft System Center in Days
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Taking SharePoint to the Cloud
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
Should I move my database to the cloud?
Cloud computing 3702

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Spectral efficient network and resource selection model in 5G networks
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25 Week I

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