How to achieve no-downtime solution deployment on farms with multiple WFEs and LB

Taking SharePoint Solution Deployer, my opensource PowerShell deployment script, to the next level,
Bill Simser got me the idea of making the deployment even more smooth on farms with multiple WFEs and load balancer in order to achieve a no-downtime deployment
The basic idea is to deploy the solutions on each WFEs one-by-one by
1. Taking one WFE offline
2. Installing the solution with the -local switch
//Solution deployment
Install-SPSolution -Identity <solutionname>.wsp –GACDeployment –CASPolicies –Local
// Solution upgrade
Update-SPSolution -Identity <solutionname>.wsp -LiteralPath LocalPathOfTheSolution.wsp -GacDeployment -Local
3. Run post-deployment actions on the WFE (ie. restart services, recycle apppools or IIS reset, warmup server), which my script already does for each server
4. Take WFE online again
5. Repeat step 1-4 for all other WFEs
I am struggling with three things here:
1. The whole deployment process could be quite risky when something goes wrong in between. And in order to roll back I would require the original solution if it was already deployed before (which I can back up of course before I replace
it)
Anything which involves changing the content dbs should of course be done after the solutions is deployed to the whole farm, so this should not hurt in this case.
Anyway MSDN says that the "DeployLocal" method (which I assume is the same as the -local switch in PS ) should be only used
for
troubleshooting purposes.
So it would be great to hear about anyones experiences with it
2. As there can be different types of load balancers (hardware, software) which might not be configurable through my script I assume that taking out the WFE from the the load balancer may not always be possible.
So I thought about just taking the server offline.
I haven't found an option yet to take only one server in the farm offline (without removing it from the farm of course), so maybe I miss something. Any ideas?
3. Before taking a single WFE offline, I would like to assure that this server does not have any open sessions, operations of users ongoing. Unfortunately I found only the possibility to quiesce the whole farm, but not a single
server. Am I missing something?
Appreciate any ideas which might point me in the direction to solve the overall goal!
SharePoint Architect, Speaker, MCP, MCPD, MCITP, MCSA, MCTS, Scrum Master/Product Owner
Blog: www.matthiaseinig.de, Twitter:
@mattein
CodePlex: SharePoint Software Factory,
SharePoint Solution Deployer

Hi Mike, 
unfortunately not. I tried several different approaches but didn't really success reliably with any of them. So eventually I gave up on it.
Interesting idea though that Eric Hasley is commenting on the blog post you mentioned.
"There is another approach that has worked for me in the past.  Because the deployment to each server is handled through a timer job,
by stopping the timer service in a controlled fashion you can rollout your solution without incurring any user outage."
It could work like that (in theory).
Stop the SPTimerV4 on all servers in the farm apart from one.
Take out the one to deploy to from the NLB
Wait until it has no connections
Deploy the solutions on it in the ordinary way (eg. with my
SharePoint Solution Deployer ;))
Put it back into the NLB and take the others out
Wait until they have no connections left
Activate the timer service on the others servers and let them deploy
Put them back into the NLB
No clue if this is actually working and you still have the problem with the NLB, so it could take a while.
Also I am not certain what happens in state 5 if users use different versions of your solutions at the same time (old version on the remaining open connections, new version on the updated server)
I do not have a suitable farm at hand to play with it though, so can't test it.
Cheers
Matthias
Matthias Einig, CEO, SharePoint MVP
Blog: www.matthiaseinig.de, Twitter:
@mattein
Projects: SharePoint Code Analysis Framework (SPCAF),SharePoint Code Check (SPCop),
SharePoint Software Factory,
SharePoint Solution Deployer

Similar Messages

  • How do you download all chapters of a video at once?  I purchased a yoga video with multiple chapters and only the first one loaded.  It says I can't download another chapter for 90 days.

    I purchased a yoga video with multiple chapters and only the first one loaded.  It says I can't download another chapter for 90 days.  How do I get all chapters to download?

    Once a device or computer is associated with your Apple ID, you cannot associate that device or computer with another Apple ID for 90 days.
    http://support.apple.com/kb/ht4627

  • How can I merge all of my iTunes libraries with my wife and kids so we can all share the music?

    how can I merge all of my iTunes libraries with my wife and kids so we can all share the music?
    There are 3 accounts that I want t o transfer all the music to
    Joe

    Welcome to the Apple Community.
    You can't merge accounts.
    You can however share or import content from another library/account using homesharing.

  • With multiple iPhones and iPad, how do you keep from downloading data from one device to another? ie, my calander ended up on my daughter's iPad.

    With multiple iPhones and an iPad, how do I keep from downloading info from one device to another? All of my info, example my calendar, ended up on my daughter's iPad.

    Each device has its own sync preferences with iTunes when syncing multiple devices with the same iTunes library under the same computer login account.
    If sync calendars with the same calendar is selected under the Info tab for your daughter's iPad sync preferences with iTunes, the same calendar will be synced with her iPad.

  • How to make an editable bulleted list with multiple lines and custom bullets?

    How do I create an editable bulleted list in Acrobat Pro? I've figured out how to add text fields with multiple lines, and how to add a list box, but I don't see the check box for multiple lines in the list box or how to add bullet points. Can someone please give me step by step instructions? Also is it possible to use custom bullet points?

    Is it a text field or a list box field? The two are not the same...
    The bullets are something that the user will have to enter manually (into a text field, they can only select values in a list-box).
    They can use any unicode character, or special characters if the font used for that field allows for it. You can't use images for the bullets, if that's what you mean.

  • I made a project with multiple tracks and had it all panned and mixed.  Now it's only playing in the right speaker.  Not even regestering a left side in the master volume?  What happened, how can I get both sides back?

    I made a project with multiple tracks and had it all panned and mixed.  Now it's only playing in the right speaker.  Not even regestering a left side in the master volume?  What happened, how can I get both sides back?

    Thank you for that info.
    For video, the codec is MPEG-4 Video (XVID) and for audio it says MPEG Audio Layer 1/2/3 (mpga).
    There are two issues with that file:
    The first is the Xvid CODEC (not meant for editing), and then the MPEG Audio/MPGA. I would convert that file, to something that is more editable.
    Good luck,
    Hunt

  • How do I create an xControl with multiple inputs and outputs?

    Hello,
    i am trying to write a new Xcontrol Element. In the data model I can create data types using the cluster to create compound types, eg an int and an int array. But how do I create an xcontrol which has multiple data inputs and outputs?
    Kind Regards

    Limping_Twerp wrote:
    Alright: I see: An xcontrol is either an input OR an output. How do I achieve an output? Secondly: So you are saying the only Elements that can have multiple inputs and outputs are VIs?
    Can you take a few steps back and explain what you are actually trying to do. SubVIs and Xcontrols have nothing in common and it is not clear why you even try to compare them side by side (e.g. in terms of the number of connectors).
    Your questions about input or output tell us that you seems to have some misconceptions about xcontrols. Xcontrols are like regular controls, except they have some built-in intelligence that you can program. Most front panel object can be either controls or indicators and the same is true for Xcontrol. You create an Xcontrol, and after placing it on the front panel you can decide if it should be a control (where the code reads the value) or an indicator (were the code writes values to it). When you define the xcontrol facade, you also need to program how the visuals change if it is changed from control to indicator or vice versa.
    As a first step, you should opend the example finder and look at some xcontrol examples.
    Again, what are you actually trying to do? 
    LabVIEW Champion . Do more with less code and in less time .

  • How can I convert string to the record store with multiple records in it?

    Hi Everyone,
    How can I convert the string to the record store, with multiple records? I mean I have a string like as below:
    "SecA: [Y,Y,Y,N][good,good,bad,bad] SecB: [Y,Y,N][good,good,cant say] SecC: [Y,N][true,false]"
    now I want to create a record store with three records in it for each i.e. SecA, SecB, SecC. So that I can retrieve them easily using enumerateRecord.
    Please guide me and give me some links or suggestions to achieve the above thing.
    Best Regards

    Hi,
    I'd not use multiple records for this case. Managing more records needs more and redundant effort.
    Just use single record. Create ByteArrayOutputStream->DataOutputStream and put multiple strings via writeUTF() (plus any other data like number of records at the beginning...), then save the byte array to the record...
    It's easier, it's faster (runtime), it's better manageable...
    Rada

  • Has anyone deployed converged access with 3850 switches and 5760 WLCs?

    Has anyone deployed a converged access network architecture with 3850 switches and 5760 WLCs? I have done lots of projects with the 5508 WLCs In a centralized deployment. Basically with this design, I manage 2 logical networks as the wireless network is an overlay over the wired network. I can design firewall to segregate traffic between the wired and wireless hence I can carry both staff and guest traffic.
    Now Cisco is telling us that there is new design such that the dats plane traffic can be dropped locally through the 3850 switched. I am not sold on this and have not found any recommended best practices on when should we use a converged access architecture.
    Pros
    With converged access, data traffic is terminated at the MA which is on the switches, hence the WLC will not be a bottleneck? This is to prepare adoption for 802.11ac?
    Less hops for voice calls from user A to user B as data control traffic is dropped locally.
    Cons
    Now how do I segregate guest and staff traffic if my security folks say I need a firewall?
    Troubleshooting wireless client mobility will be a nightmare as the 3850 switches are MA.
    Pushing and upgrading code for the Code will mean upgrading the stack of switches in the LAN riser. This will be painful in a huge campus environment like an university.
    Can someone convince me why would a customer choose converged access?
    Sent from Cisco Technical Support iPad App

    They choose CA because of the capwap termination at the switch. You can still use a 5508 and tunnel guest to a DMZ segment if you wish. You will need a 5508 though is you want to tunnel traffic to an anchor WLC.
    Sent from Cisco Technical Support iPhone App

  • How to create a muse site in various languages with multiple domains

    I have been asked to create a website for a product. A very simple website with maybe one or two pages and one product for sale for which the client would like Paypal as the payment gateway. Simple right?
    No! This client would like to market their product into Europe, they would like to purchase multiple European domains ( .fr, .de for example).
    So how on earth can I do this? I will be using Muse for build and Business Catalyst for hosting.
    Bearing in mind the client will not want to pay for separately hosted sites. Is there a way of translating the text for each domain. Or could I assign multiple domains but direct them to different home pages within the same site?
    I haven’t a clue how to problem solve this.

    Hi,
    Some links that might be useful,
    how to set up a multilingual website with Adobe Muse and push it live to Adobe Business Catalyst
    Re: How can i create different languages for my page?
    How can i create a multilingual website?
    how to create a multilingual site
    Do let me know if you have any question.

  • How to use BAM to start an XI message with multiple occorrences

    Hi:
    I am trying to use BAM to send some data to XI. It is working fine when I have a message that has only header information. I am able to do the binding and the message is being sent properly.
    The problem is when I have a XI message with multiple occurrences. This message creates a complex proxy structure like the sample bellow:
    -ZTSTPROXY (Header)
        -Header_Field1
        -Header_Field2
        -Occurrences (Items)
         -Item_Field1
         -Item_Field2
    It is possible to pass data the he Header fields separately on BAM, but I have no access to the line fields on BAM binding screen (it shows me only the name “Occurrence” but no field).
    So, I assumed that I have to pass the whole structure, not the fields separately. Then I tried to create a method on my Business Object that will return the same structure as my proxy, but this field cannot be used on BOR. I am receiving the message OL403 (Data Type cannot be used for methods).
    Ok, I would not give up. I tried to use an Abap Class instead of a Business Object. By using the class I can define an attribute with the same data type generated by the proxy and it is possible to do the bind on BAM (directly to the “output” field, not to the specific fields on the structure).
    But, when I raised the event, the message created on XI is empty. Only part of the tags were there and no field values.
    Debugging on the event, I found that the problem is when it is trying to assign the container element on the method EVAL_ABAP_ASSIGN_CODE on the class CL_SWF_EXP_EXPRESSION. The program is raising the exception CX_SWF_EXP_DYN_ASSGIN_FAILED. Probably because the proxy structure is not allowed on the container.
    Has anybody tried to pass a multi-line element to an XI message through BAM? How can this be done (if possible)?
    Best Regards,
    Flavio.

    Hi,
    why don't you use an internal list for your question if you are from Oracle? JDeveloper 11 and OC4J11 related questions for the public technology preview have their own forum:
    JDeveloper and OC4J 11g Technology Preview
    My suggestion is to get in contact with the BAM group internally to ask for documents.
    Frank

  • I have an iPad2 and recently bought an iPad mini.  My husband will take over the iPad 2.  How can I get him an iCloud account associated with that iPad and his iPhone 5?

    I have an iPad 2 and recently purchased an iPad mini.  My husband will take over the iPad2.  How can he get an icloud account for this iPad (eliminating me) and his iPhone5?

    Delete your iCloud account on the iPad 2, then he can follow the instructions to create his own iCloud account on it:
    http://www.apple.com/icloud/setup/ios.html
    Then he can setup his own account on his iPhone.

  • How to use for loops with Multiple Initializers and Incrementers

    I found that my for loop is printing out wrong, because I am using two for loops. I have searched but all I can find out is you can't use multiple inializers and increments, does anyone know how to get around this? How would I use an array for this?
    Thanks very much for your help.
    import java.util.Random;
    import java.util.Arrays;
    /** Generate numnodes value for random integers in the range 0..499. */
    public final class RandomInteger {
    public static final void main(String... aArgs){
    log("Generating 6 random integers in range 0..499.");
    int numnodes = 6;
    //Randomly generate a number between 0 and 499 for the x and y coordinates for the nodes
    Random randomGenerator = new Random();
    for (int x = 0; x < numnodes; ++x) {
    int randomInt = randomGenerator.nextInt(500);
    Random randomGenerator2 = new Random();
    for (int y = 0;y < numnodes; ++y) {
    int randomInt2 = randomGenerator2.nextInt(500);
    log("Generated : " + randomInt + " " + randomInt2);
    log("Done.");
    }

    Sorry that code works, but I want to use both my x and y coordinates to get a random number from 0 to 499 in both of them, then I want to do some comparisons of the values, then return it to another function. As it stands now, I get the wrong results when I run it, as you can see at the bottom.
    Thanks very much for your help. I have been stumped all mornign on this and have looked everywhere trying to find an example. I don't won't to use math random. I am on a tight deadline to finish and at the rate I am going, I will not complete it.
    /** Generate numnodes value for random integers in
    the range 0..499. */
    public final class RandomInteger {
    public static final void main(String... aArgs){
    log("Generating 6 random integers in range
    0..499.");
    int numnodes = 6;
    //Randomly generate a number between 0 and 499 for
    the x and y coordinates for the nodes
    Random randomGenerator = new Random();
    for (int x = 0; x < numnodes; ++x) {
    int randomInt = randomGenerator.nextInt(500);
    Random randomGenerator2 = new Random();
    for (int y = 0;y < numnodes; ++y) {
    int randomInt2 = randomGenerator2.nextInt(500);
    log("Generated : " + randomInt + " " + randomInt2);
    log("Done.");
    private static void log(String aMessage){
    System.out.println(aMessage);
    Output:
    --------------------Configuration:
    <Default>--------------------
    Generating 6 random integers in range 0..499.
    Generated : 98 254
    Generated : 98 347
    Generated : 98 359
    Generated : 98 25
    Generated : 98 277
    Generated : 98 148
    Generated : 416 401
    Generated : 416 165
    Generated : 416 354
    Generated : 416 169
    Generated : 416 144
    Generated : 416 354
    Generated : 295 158
    Generated : 295 138
    Generated : 295 349
    Generated : 295 324
    Generated : 295 18
    Generated : 295 193
    Generated : 197 451
    Generated : 197 416
    Generated : 197 480
    Generated : 197 33
    Generated : 197 490
    Generated : 197 494
    Generated : 324 412
    Generated : 324 490
    Generated : 324 213
    Generated : 324 386
    Generated : 324 467
    Generated : 324 163
    Generated : 379 180
    Generated : 379 446
    Generated : 379 314
    Generated : 379 52
    Generated : 379 113
    Generated : 379 271
    Done.
    Process completed.

  • How do i save a calender i have created with the photo and the dates saved on separate pages?

    how do i save a calender i have created in photoshop with the photo and the dates saved as two separate pages?  when i save as pdf or jpeg they are authomatically saving 1 pg with the photo and dates on one page.  This is causing problems when i print.

    Hi there, in case your printer cannot print very large, you can also crop down two versions and print them as separate documents.
    1) Create a guide where you would like to split the pages by clicking on the ruler (hit command R if they are not showing) and dragging to the desired area.
    Creating the guide will make it so you can be precise in the way you split up your page, and so that no part of the image will be repeated or lost.
    2) Select the Crop Tool and fit the crop area to the top half of your calendar, using the guide you've just made to snap to the right spot. Hit return to finalize the crop.
    3) Go to File > Save As. Name the file something like calendar_top and select the desired file format. Hit "Save."
    4) Once you get back to your calendar file, Go to the History panel and select "Drag Guide." This will take you back to the step before you cropped the image.
    5) Repeat the steps as before for the bottom half of the calendar, once again using the guide to help you make your crop area.
    So then you would just print each of the two pages individually. The images will not be contained within one document, but if you have Acrobat you could combine the files.
    I hope this helps!

  • Where/ how do I set SNP to create Planned orders with multiple line items?

    Hi
    Currently our SNP is generating planned orders on a daily basis, it creates a single order with a single line item per location.
    Where/ how do set SNP to create planned orders on a daily basis to generate a single order with multiple line items per location, so therefore one planned order with multiple line items for a single location.
    Thanx
    Keegan

    Hi Keegan,
                   In SNP (APO) it is not possible to create order with multiple line items.
    But you can do some settings so that while planning system can do aggregation and disaggregation.
    But your requirment should be set on Aggregation/Dis-aggregation logic.
    Please follow the follwing links:
    http://help.sap.com/saphelp_scm2007/helpdata/en/2c/c557e9e330cc46b8e440fb3999ca51/content.htm
    Aggregation:
    http://help.sap.com/saphelp_scm2007/helpdata/en/42/f731d078e73ee4e10000000a1553f6/content.htm
    Disaggregation:
    http://help.sap.com/saphelp_scm2007/helpdata/en/a6/ebefaf32e22e468355da304cc59387/content.htm
    Please be sure that the setting of this logic will be at planning area level.
    You can't change aggregation/disaggregation logic further.
    Regards,
    Santosh

Maybe you are looking for

  • Can't make an order because of no connection to the internet

    My internet is working fine on my computer, but when I want to place an order in Iphoto it tells my, that I have no connection to the internet. I cannot find in Iphoto where I can work on my connection. Can somebody please help me?

  • Regarding    opening Balances  for customer  as   on date

    hi Experts..   hw  to caluclate the  opening balances for  customers as on date.   wt is  the procedure &  please    give the  tables names  and send needed stuff. Thanks & Regards Spandana

  • Generate Invoice

    I am not clear yet on what is done in Acrobat directly and what requires the use of LiveCycle...just steer me please. I have a multiple page Form I am working on. Not sure yet if it will be a Portfolio. The series of forms make up a registration pack

  • Configuring OKG8 in Results Analysis

    When configuring OKG8, the results analysis key is not available for entry in the view. However, results analysis key field (ABGSL) does exist in the underlining table TKKAB. This is limiting when one wants to direct postings to different GL accounts

  • [AI 10]How to create a global process swatch?

    Hi, Please provide code snippets for creating a new global process swatch(the global check box ticked in Swatch options) with the speficied name,color values & color mode(CMYK,RGB)in Illustrator 10. Thanks in advance. myriaz