Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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 G...
Agenda
 The needs of Dev and QA teams
 Challenges from the perspective of IT
 Deployment options
 Cloning vs Provision...
DEFINE THE BUSINESS NEEDS
AND IT CHALLENGES
SP Developers and QA Teams
 They need servers:
 SharePoint Server
 Office Web Apps Server
 Workflow Manager Server
 S...
Defining the strategy
 1 per project vs 1 for
many projects
 1 for each version of
SharePoint
 Developers?
 Team Leade...
Retention & IT Governance
 Too many VM’s could become a key concern
 When should you delete/archive the virtual
machines...
Responsibilities of IT
 Be responsible for the “high-availability” of the
development & QA teams
 Provide overall manage...
Environment Goals
 Save developer time!
 Provision development environments in under 3
hours
 Automating repetitive tas...
Managing Environments
INFRASTRUCTURE
CONSIDERATIONS
Infrastructure Considerations
 Windows Server
 Active Directory Domain Services
 Microsoft SQL Server
 SharePoint
 Vi...
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
...
Comparisons
 Requires lots of
resources
 Easier to use, self-
contained
 Easier to move
 Can snapshot
 No central
man...
In detail – Shared AD
 No need to create domain
every time you install a new
SharePoint machine
 No need to create accou...
 Can move the machine
anywhere as it holds all the roles
 Can make development against
the domain and make some
changes ...
Workflow Manager
 Must be part of the
same Forest
 Better VM
performance
 IT manages
certificates
 Extremely difficult...
Office Web Apps
 Must be part of the
same Forest
 Better VM
performance
 Requires it’s own VM!
Cannot be installed on
S...
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& Polic...
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 ne...
VM – Recreating
 You have a clean
machine built from
scratch
 No IP conflicts
 New domain
 New farm
 Fresh SQL
 Take...
Our approach
 Automate provisioning & installation
 Automate settings
 Use templates
Our Recommended Practices
 “Thin” workstations – no desktop/my documents
 Prevents data loss
 Improves security
 Loopb...
Our Recommended Practices
 “Design/discuss” the environment together
with the Project Leader
 Script Library
 Component...
Environment usability
 Local administrator access
 Ease-out domain policies
 Development with the “Administrator” accou...
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
 Other...
Client demo/qa/stg environments
 We sometimes host environments for money

 Access from the internet
 *.contoso.com //...
Hardware recommendations for
VM’s
 CPU - Configure a 1-to-1 mapping of virtual processor
to logical processors for best p...
Hardware Costs
 CPU– Intel Core I7
4-core 3.4GHz HT
 RAM– 16GB DDR3
 HDD– 1TB
 SSD – 128GB
 Monitors
 ~1500 USD
 CP...
Environment Automation
 Define what templates you need based on the projects
 Sysprep VM templates
 Group Policy Object...
Automating QA – TFS + Lab Manager
Testing Architecture
VM Template Library SCVMM Environment Standard Environment
VM Template 2VM Template 1
Test Agent Test...
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...
NON-DOMAIN MEMBERS
DNS Server
Domain:
onebitsoftware.net
2 way transitive trust with conditional forwarders
Other Producti...
• SCVMM – How we use it
• Web Administration– Create ShrarePoint
Dev Environment 1Tier
• VM Templates – Syspreped OSs
• Se...
Thank you! Any questions?
 radi@sharepoint.bg
 o.guglev@onebitsoftware.net
Radi Atanassov
Ognyan Guglev
Nächste SlideShare
Wird geladen in …5
×

1

Teilen

Herunterladen, um offline zu lesen

Practical management of development & QA environments for SharePoint 2013

Herunterladen, um offline zu lesen

Speakers: Ognyan Guglev & Radi Atanassov

In this session we will share how we maintain our environments for development, quality assurance and demonstration purposes. We've put in a lot of thought into optimising what we do and to deliver a highly-available, performing experience to our delivery teams.

For our work we have over 90 farms, so the challenges in maintaining them are not insignificant. Due to advances in the SharePoint platform we believe it is becoming increasingly difficult to maintain SharePoint environments for every project, client or product. We have a strong requirement to be flexible and efficient on hardware and at the same time be able to spawn development environments on demand. Automation here with SCVMM is key to a sustainable work front.

We will discuss our goals as a consultancy company, how we deal with licenses, whether we prefer centralised or decentralised team environments, how to automate VM's with Service Center Virtual Machine Manager, how to deal with Microsoft SQL and Active Directory, DNS and IP addresses, what we do to make the developer's time as productive as possible and a whole set of other tips and tricks we put in place. We will also share our Apps development and Office 365 development landscapes.

Overall, this session is infrastructure focused, but will be valuable and practical both for administrators and developers, it will cover experiences for both sides of the spectrum.

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Practical management of development & QA environments for SharePoint 2013

  1. 1. Radi Atanassov & Ognyan Guglev OneBit Software Practical management of development & QA environments for SharePoint 2013
  2. 2. For Developers 
  3. 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. 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. 5. DEFINE THE BUSINESS NEEDS AND IT CHALLENGES
  6. 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. 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. 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. 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. 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
  11. 11. Managing Environments INFRASTRUCTURE CONSIDERATIONS
  12. 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)
  13. 13. Deployment Options - Desktops
  14. 14. Deployment Options - Centralised
  15. 15. Deployment Options - Mixed
  16. 16. Deployment Options - Shared Workflow Manager 2013 Office Web Apps Server 2013 Active Directory
  17. 17. Deployment Options - Shared Workflow Manager 2013 Office Web Apps Server 2013 Active Directory SQL Server?
  18. 18. Deployment Options - Cloud
  19. 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. 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. 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. 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. 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. 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. 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. 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. 27. Do you clone your VM’s or create many copies from scratch? Question
  28. 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. 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. 30. Our approach  Automate provisioning & installation  Automate settings  Use templates
  31. 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. 32. Our Recommended Practices  “Design/discuss” the environment together with the Project Leader  Script Library  Component Library  Common Code  Base Solution Templates
  33. 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. 34. Remove unnecessary VMs  “data” inside the VM (desktop files)  Files not committed/checked in  Test/POC/Sample projects
  35. 35. Licensing  Windows Server– 180 days  SharePoint– Unlimited   SQL– Express or 180 days  Visual Studio– 60 days  Others…
  36. 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. 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. 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. 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. 40. Automating QA – TFS + Lab Manager
  41. 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
  42. 42. TFS Lab Manager
  43. 43. THIS IS HOW WE DO IT
  44. 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. 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. 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. 47. Thank you! Any questions?  radi@sharepoint.bg  o.guglev@onebitsoftware.net Radi Atanassov Ognyan Guglev
  • c.heindel

    May. 12, 2014

Speakers: Ognyan Guglev & Radi Atanassov In this session we will share how we maintain our environments for development, quality assurance and demonstration purposes. We've put in a lot of thought into optimising what we do and to deliver a highly-available, performing experience to our delivery teams. For our work we have over 90 farms, so the challenges in maintaining them are not insignificant. Due to advances in the SharePoint platform we believe it is becoming increasingly difficult to maintain SharePoint environments for every project, client or product. We have a strong requirement to be flexible and efficient on hardware and at the same time be able to spawn development environments on demand. Automation here with SCVMM is key to a sustainable work front. We will discuss our goals as a consultancy company, how we deal with licenses, whether we prefer centralised or decentralised team environments, how to automate VM's with Service Center Virtual Machine Manager, how to deal with Microsoft SQL and Active Directory, DNS and IP addresses, what we do to make the developer's time as productive as possible and a whole set of other tips and tricks we put in place. We will also share our Apps development and Office 365 development landscapes. Overall, this session is infrastructure focused, but will be valuable and practical both for administrators and developers, it will cover experiences for both sides of the spectrum.

Aufrufe

Aufrufe insgesamt

8.303

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

4.084

Befehle

Downloads

40

Geteilt

0

Kommentare

0

Likes

1

×