IT tutorials
 
Applications Server
 

Application Lifecycle Management in SharePoint 2013 : Planning your Key Development Phases and Release Model (part 2) - Release Models

12/18/2013 2:08:37 AM
- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019

2. Release Models

The release model can be described as the process and flow from development to your production environment and includes implementation and maintenance time. It also includes the planning of the processes for maintenance of the servers and software, not just the flow of the customizations, solution packages, and apps.

This section examines several release models, including the following:

  • Direct release
  • Phased release
  • Rolling release

Direct Release Model

One of the models used to ensure flexible SharePoint usage is to use SharePoint Designer in the production environment to customize the portal behavior based on business requirements. The direct release model requires one client environment and your production environment. This approach carries a higher risk of causing issues to end users in your production environment because changes made may impact end-user productivity.

Even though SharePoint Designer provides the flexibility to customize your environment, it may still require some custom code or XML configurations. This would require separate environments to ensure that SharePoint Designer customizations don’t break anything in already-deployed customizations. There is no way of recording the SharePoint Designer customizations to enable you to apply them to multiple site collections. For example, if you have hundreds of different collaboration sites, this model is definitely not the most cost-efficient and is, therefore, not recommended.

Interestingly, sandboxed solutions and apps also fall under the direct release model. Site owners can upload a sandboxed solution to the User Solution gallery and can add an app from the corporate app catalog or, if it has been enabled, from the Microsoft Office Store catalog.

The risk of sandboxed solutions and apps causing catastrophic issues is greatly reduced. Speaking frankly and honestly, although it is highly unlike that these two solution models will result in downtime of your SharePoint 2013 farm, they may result in downtime of a critical site that is key and central to all users in your SharePoint 2013 farm. The key issue here is that a layer of governance is required to protect critical sites from apps and sandboxed solutions that have not been developed and tested to the same exacting standards of the core customizations in your SharePoint 2013 environments. Where feasible, do not directly release to a critical site. Always test your sandboxed solution or app in your quality assurance environments.

A final consideration, when consuming apps from the Microsoft Office App Store, is the dependence created on an external or third-party app developer to respond, in a timely manner, to produce updates for issues reported with their app. It is this loss of control to respond timely that degrade the end-user experience of carefully thought-out SharePoint 2013 deployments.

Phased or Gated Release Model

The phased release model (shown in Figure 3) uses separate environments for different phases of the project and incorporates clear decision criteria, which are essentially phases or “gates” that control how releases progress through your environments. Various criteria must be met before a release can proceed through a gate. This model is the most commonly used model in the SharePoint 2007 and 2010 environments because it provides the most opportunity for your operations and governance teams to pick up any issues before the release is installed in production environments.

FIGURE 3

image

Figure 3 includes the following numbered tasks:

1. All requirements are transferred to tasks and assigned to project members.
2. Developers use their own standalone environments for development and store all customizations in the source control system.
3. A separate environment is used for integration testing.
4. An optional build verification or test farm is commonly used in large projects. This farm has multiple servers, mimicking the key facets of production and in preproduction farms architecture.
5. Before builds are released to production, they are approved.
6. In this phase, you must test and report defects before moving forward.
7. A preproduction farm is used for final verification and to verify that the customizations work in a production environment configuration. It’s highly recommended that the preproduction environment mimics the production environment (including, for example, patching and configuration levels).
8. All feedback and bugs are collected from the quality assurance environment and reported back to the development team.
9. The production environment is used for the actual production usage.
10. End users can access the production environment.
11. End users provide additional feedback for future development phases.

The biggest challenge in the phased or gated release model is to keep the preproduction environment up to date with the production environment updates. This model requires following a process as strictly as possible, and all configurations are first tested in preproduction.

Quite often the preproduction user acceptance test (UAT) and testing (QA) farm do not mimic the production environment infrastructure. This makes it difficult to truly verify the deployment actions against production configurations of existing sites and customizations. Although developers may have superhero powers, they still rely on integration, smoke testing, and user acceptance testing of their software release against existing sites that may be touched by the release. It doesn’t need to be all sites, but a good representative sample of sites that will be affected by the software release. This requires a well-maintained and regularly refreshed QA, UAT, and preproduction environment.


NOTE If the preproduction environment does not use an infrastructure similar to the production environment, and you are required to perform load testing, you must use the baseline testing model. This means that when the initial deployment of the customizations is done, load testing is performed in the preproduction environment. In subsequent releases, all load testing results are compared to the initial test results from the preproduction environment. This way, you get an indication of the performance implications of your latest changes.

Rolling Release Model

The rolling release model (shown in Figure 4) uses two primary environments in turn for production and QA environments. This model provides extreme flexibility and increases the overall quality of the released iterations. Basically, the development is phased similarly as with a fully phased model, but the QA and production environments switch their roles during each release.

FIGURE 4

image

Figure 4 includes the following numbered tasks:

1. All requirements are transferred to tasks and assigned for the actual project members.
2. Development is done by using a standalone SharePoint deployment, and all customizations are stored in the source control system.
3. Integration and automated testing happen in separate virtualized environments so that testing does not interfere with actual development time activities.
4. Like in the phased model, depending on the project size, development style, and QA requirements, an additional build verification or test farm could be used for final acceptance testing before builds are transferred to the actual production environment. This environment is also used by the actual project testers to verify features.
5. All issues and possible improvement ideas are reported back to the task log for prioritization and bug fixing.
6. The production environment consists of two dedicated SharePoint farms, which act as the preproduction (or QA) and production environments.
7. End users access the different available services.
8. End users report possible feedback and additional ideas for the project team.
9. Load balancer or DNS routes request between multiple different environments.

Before customizations are deployed to the preproduction environment, content databases are copied from the production environment so that initial deployment actions can be verified. Final acceptance testing (which optionally includes load testing) can be conducted in the preproduction environment before the decision is made to move to production. For most flexible deployments, these environments should be virtualized so that you can easily increase hardware if new customizations have some additional requirements.

The switch between the environments is done at the load-balancer or DNS level. Before it’s done, content databases in the current production environment are set to read-only mode, which disables all editing options from the SharePoint 2013 UI. (For example, Ribbon buttons are disabled and grayed out.) The portal behaves otherwise as planned, but there’s no way to add any new content. Afterward, the content databases of the currently used production environment are copied one more time to the preproduction environment. When all required databases are available, traffic is switched between the environments from the network load balancer, and the roles of the environments are switched.

The rolling release model decreases downtime required for the releases and ensures that there’s also a backup environment available if something critical happens on the farm (which is acting as the primary farm at the particular time). This not only improves the release model of the customizations, but also helps to minimize downtime during patching of the operating system and SharePoint 2013.

The rolling release model has obvious advantages with the SharePoint deployment. In many enterprise projects, there’s a specific dedicated preproduction or QA environment, which mimics the production environment. Using the rolling release model, this environment and the investments done for the deployment are utilized more efficiently. In cases in which the production environments are virtualized, you can more efficiently use the virtualization platform to provide flexibility between the environments, meaning that you can definitely scale down the hardware capacity of the current preproduction or QA environment and scale up just before the traffic is switched again.

The rolling release model increases the availability of the services because when using this model, no service breaks are required during customization deployment, SharePoint patching, or even operating system patching. Depending on the virtualization platform architecture, the patching of the virtualized hosts may not even cause service downtime. Using Windows PowerShell, you could relatively easily automate the whole process of getting databases between environments and deploying customizations to a farm.


SHAREPOINT 2013 PATCHING CONSIDERATION WITH THE ROLLING RELEASE MODEL

Similar to SharePoint 2007 and 2010, every time you deploy full-trust customizations to a SharePoint 2013 farm, the IIS worker process is recycled. This causes downtime for the service. Depending on the deployment, this can have an impact on the actual end users. If only sandboxed solutions are used, there’s no downtime for the customization deployment.
SharePoint 2013 also supports phased patching of the actual SharePoint services. This means that you can take individual servers offline from the farm and update the SharePoint services individually. SharePoint patches are backward-compatible so that even though some of the servers are patched with newer versions in the farm, the primary version is still used. The actual upgrade to the latest version still requires downtime for the whole farm. This is because there might be database-level changes, which would not work with the previous version. So, patching has been improved, but an actual upgrade to the latest version (for example Service Pack 1) still requires downtime.
 
Others
 
- Application Lifecycle Management in SharePoint 2013 : Planning your Key Development Phases and Release Model (part 1) - Key Development Phases
- Application Lifecycle Management in SharePoint 2013 : Planning your Customization Model and Release Packaging Approach (part 2) - Release Packaging Approach
- Application Lifecycle Management in SharePoint 2013 : Planning your Customization Model and Release Packaging Approach (part 1) - Customization Models
- Application Lifecycle Management in SharePoint 2013 : Understanding the SharePoint 2013 Development Models
- Application Lifecycle Management in SharePoint 2013 : Getting Started with Application Lifecycle Management
- Microsoft Lync Server 2013 : Mac Client - Tuning Hardware for the Lync:Mac Client
- Microsoft Lync Server 2013 : Mac Client - Client Integrations with Other Applications
- Microsoft Lync Server 2013 : Mac Client - Web Conferencing
- Microsoft Lync Server 2013 : Mac Client - Audio, Video Calls and Conferencing
- Understanding Core Exchange Server 2013 Design Plans (part 5) - Configuring Exchange Server 2013 for Maximum Performance and Reliability, Securing and Maintaining an Exchange Server 2013 Implementati
 
 
Top 10
 
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
Technology FAQ
- Is possible to just to use a wireless router to extend wireless access to wireless access points?
- Ruby - Insert Struct to MySql
- how to find my Symantec pcAnywhere serial number
- About direct X / Open GL issue
- How to determine eclipse version?
- What SAN cert Exchange 2010 for UM, OA?
- How do I populate a SQL Express table from Excel file?
- code for express check out with Paypal.
- Problem with Templated User Control
- ShellExecute SW_HIDE
programming4us programming4us