Monday, June 29, 2015

Load Balancer in SharePoint 2013


  • In computing, load balancing distributes workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units or disk drives. Load balancing aims to optimize resource use, maximize throughput, minimize response time, and avoid overload of any single resource
  • Load Balancer is used to balance & send user request load and send it to Web Front End server for continues supplying of service to user
  • Load Balancer is separate server dedicated for load balancing. Load Balancer is configured in all Web Front End server.
  • Load Balancer are by default configured in application server, so there is no need to configure external load balancer.

Load balancers use different algorithms to control traffic. The goal of these algorithms is to intelligently distribute load and/or maximize the utilization of all servers within the cluster. Some examples of these algorithms include:
  • Round-robin. A round-robin algorithm distributes the load equally to each server, regardless of the current number of connections or the response time. Round-robin is suitable when the servers in the cluster have equal processing capabilities; otherwise, some servers may receive more requests than they can process while others are using only part of their resources.
  • Weighted round-robin. A weighted round-robin algorithm accounts for the different processing capabilities of each server. Administrators manually assign a performance weight to each server, and a scheduling sequence is automatically generated according to the server weight. Requests are then directed to the different servers according to a round-robin scheduling sequence.
  • Least-connection. A least-connection algorithm sends requests to servers in a cluster, based on which server is currently serving the fewest connections.
  • Load-based. A load-based algorithm sends requests to servers in a cluster, based on which server currently has the lowest load.
Also check out Clustering VS Load Balancer here.

Friday, June 26, 2015

Workflow Manager 1.0 (SharePoint 2013)

Workflow Manager in SharePoint 2013



SharePoint 2013 Workflow platform diagram


  • Workflow Manager (WM) provides the management of workflow.
  • Workflow Manager (WM) is a separate entity outside SharePoint 2013 Server. WM doesn't install automatically with SP 2013 installer. First install Window Platform Installer (64 bit) and then with the help of WPI, you can install Workflow Manager 1.0. Download WPI over here. Once you install WPI, Open Application Tab and search for Workflow. Add "Workflow Client" component. Install it. Check out full video below. Note: Workflow Engine is still a part of SharePoint 2013 Server same like SharePoint 2010 Server. 

  • Workflow Manager is built on top of Windows Workflow Foundation (check screen above).
  • Workflow Manager has its own dedicated DB & Farm in server where WM is installed. 
  • Service Bus is also an entity resides along with WM on WM Server. Service bus also has its own dedicated DB in server where WM is installed. This Service Bus is use to take SharePoint events like itemCreated, ItemUpdated and give it to WM.
  • The SharePoint 2013 Workflow platform uses the new Workflow Manager service. 
  • WM also hosts the execution processes for workflow instances. This process is called as ServiceHost.exe. ServiceHost.exe is the process use to debug Workflow in SharePoint 2013.
  • Since WM is now a separate entity outside SP, it can be used by different application also (non SharePoint application) to enhance its ability. This was not the case in SP2010, where WF is used only for SharePoint purpose.
  • The SharePoint 2010 Workflow platform that came with SharePoint Server 2010 like Sequential and State Machine is still available in SharePoint Server 2013.
  • Window Workflow Foundation and WCF are hosted on Workflow Manager.
  • Workflow Manager Client 1.0 is represented in SharePoint 2013 in the form of the Workflow Manager Client 1.0 Service Application Proxy.
  • SharePoint events for which a workflow is listening, like itemCreated, itemUpdated, and so on,      are routed to Workflow Manager Client 1.0 using the Microsoft Azure service bus. For the return trip, the platform uses the SharePoint Representational State Transfer (REST) API to call back into SharePoint.
References:-

K2 Workflow VS Visual Studio Workflow

Category K2 Workflow SP Workflow
Monitoring You can find ‘Flow Diagram’ for the current status in graphical mode. You can also do real time monitoring of each task. No Real time monitoring for each task.
Code Simple No code solution. Business user can also use it. Developer need to code. Business user cannot code it. 
Scope It can live also on non sharepoint platform like SAP, CRM etc. It live only on SharePoint. 
Error handling K2 introduces a ‘BlackPearl Workspace’ site which  manages all for Error handing of each instance, managing workflow permission and tracking workflow process etc. We need to write custom code for Error handling.
Browser K2 support browser based workflow No browser support for designing custom workflow. Yes, SharePoint do have OOTB browser support workflow but can't satisfy all variety of requirment
Cost K2 product is very expensive. Need their own dedicated server for running their processes SharePoint too is very costly, but SharePoint provides couple of other feature too apart from workflow like webparts, web application etc. 
Enterprise wide tool Tool for SharePoint as well as enterprise wide need. Tool for SharePoint applications. It need other tool to satisfy enterprise need. Like InfoPath for fultilling form ability. Exel charts to fultill reports need etc.
K2 has their own logging mechanism which log data in DB for infinite nos. of days.
Delivery cycle Speed up development and delivery cycle. Since, developer has to code it, it may take time for huge change in requirment.