We have heard a lot about hybrid model between SharePoint on-premises and Office 365, along with many benefits and reasons, from making the best use of your investment to on-premises to utilizing workloads running beneath cloud-based infrastructure, while meeting the requirement of data compliance regulatory. The buzzword about SharePoint hybrid today is almost Search to give end users the access to content stored in both SharePoint On-premises and Office 365. You might have heard of connecting on-premises LOB to Microsoft cloud services. But how about workflow which is an inevitable component to a successful digital workplace deployment? Yes, I mean hybrid workflow.
I was really delighted to be a speaker at the Global Azure Bootcamp Singapore 2016 held a couple of weeks ago. In this event, I talked about planning and deploying SharePoint farm in Microsoft Azure with the primary focus on Microsoft Azure IaaS v2.
If you are a seasoned SharePoint architect having done many SharePoint farm deployments, you have probably been facing with number of different challenges. One of them is planning for hardware. You would have to not only plan for hardware specification but may also for manufacturing company e.g. Cisco device network, Hitachi storage or so on. Starting from the scratch is always challenging and time-consuming. As Microsoft Azure IaaS comes out, you have so many options to build and deploy your SharePoint farm. In the event, I brought to attendees 5 common deployment scenarios.
- Development and test/POC environment
- Disaster Recovery of on-premises SharePoint farm
- Internet-facing website built on top of SharePoint
- App farm (such as Azure Media Services) to support on-premises environment or Office 365
- SharePoint Intranet hosted in Azure
Start with planning SharePoint farm in Azure, I shared common key areas:
- Farm Topology
- Identity Management
- Business Continuity
- Performance & Capacity
In each area, there are number of tasks to do. For example, with farm topology you need to come up with your designated topology, ask yourself the physical architecture you are going to build, do sizing to make sure the farm is not going to frustrate your end user in terms of performance. Once you have the design, look at Azure IaaS offering and map to your design. In my topic I did not introduce classic deployment model and some components such as Cloud Service and Affinity Group which have been deprecated. The new Azure IaaS v2 with the release of Azure Resource Manager helps pretty much.
You can find my slide-deck here http://www.slideshare.net/thuansoldier/planning-and-deployingsharepointfarminazuregabsg2016
All videos and slide-decks shall be published soon in Microsoft Channel 9
Product analysis by Thuan Nguyen in ThuanSoldier.NET requested by CRN Solutions, but these thoughts are my own.
What is Webparts360?
Webparts360 extends the configurability and feature set of SharePoint to simplify the development of custom solutions that easily combines SharePoint content with line-of-business data. Its low code development approach makes it suitable for empowering non-programmers use it as a rapid application development platform for moving business workflows and collaborative solutions to SharePoint.
Unlike other SP workflow add-ins such as AgilePoint, Nintex or K2, Webparts360 takes a more holistic view to application development cycle by providing the following features and functionalities:
- Solution Designer – provides a web based solution designer that manages all the resources within the solution including SP contents such as groups, custom lists, documents libraries and external databases
- Business web parts – fills in gaps user interface components (i.e. input, process and output) for data entry forms, dashboards, reporting and navigation with granular permission control options. These web parts can consume both SP contents and back-end databases.
- Solutions Manager – allows you to package a completed solution from one sub-site to another. During deployment, it will update all the links with the solution and map roles based on groups to the actual ones on the production server.
Due to its popularity with Lotus Notes developers, it is not uncommon to see hundreds of solutions within a single SP farm. Therefore, they have added some features that can greatly increase solutions governance and manageability, including:
- Solutions Gallery – a centralized repository of published solutions that make it easy for site administrator to deploy a solution unto a new sub site.
- Solution Viewer – a visual tool to show all the components/resources within a solution, including database model, entity relationships diagrams, solution pages and workflow diagrams
- Web parts management – Adding to solution pages, web part check-in/check-out feature for team development, and web parts versioning control.
Webparts360 is well suited for developing business solutions such as procurement, employee self-service, supply chain management, customer service and business process automation projects that delivers a single view of work.
Using Webparts360 is easier because it provide a single design console that contains all the elements that make up the solution.
- Solution: This section allows you to define the solution properties and storage for the system interfaces, e.g. pages and icon images.
- Security: The security section controls the people who can manage the solution (developers) and those who can use it (user roles)
- Data: The data section provides the data connectivity access to external database and to leverage on SQL to manage data retrieval.
- Lists & Libraries: Custom lists and libraries are the main data that make up this solution and you can see how they are used in the relationships diagrams.
- Webparts: Web parts contains all custom widgets (user interfaces) for data input and workflow (transactions), output (reports) and menu (navigation) elements for this solution.
The transactions web part essentially extends a custom list or document library feature to support multiple states where you can control which columns can be updated or viewed. The reports web part provides a combination of different data presentation views that also allows you to add context sensitive menu options. Here are a list of some of the interesting features and functionalities of Webparts360 that makes it possible to build bigger and better solutions, including the ability to:
- Use SP custom lists and document libraries as relational database
- Create user groups based on data in SQL instead of adding to SP groups chaos
- Create multiple data entry forms based on user roles or transaction processing states
- Add context sensitive menu options on table or data grids
- Create charts using SP custom lists or SQL database with drill-down capability
- Provide context sensitive filters to show related data
- Package and deploy solution from one sub site to another
- Upgrade SP solutions across versions, e.g. 2007 > 2010 > 2013 > 2016
- View your solution from a single design console
Webparts360 is flexible and powerful applications development tool for SharePoint that empower users to build total solutions easily and quickly. If you have a lot of business workloads to build, this is a good tool that will help you to get more done while increasing your control and ROI of SharePoint.
Please find more information about WebPart360 here http://www.webparts360.com/
Many friends of mine and my avid blog reader have asked me on what I have been doing these days because it’s been 5 months since I wrote the latest article about Udemy. My immediate answer is that I’m still doing SharePoint stuffs but pretty different from what I did in the recent past. My job now is to be working with public sector organizations to help them understand how important collaboration and digital workplace are, and to drive them to building a successful collaborative digital workplace with Microsoft SharePoint products and technologies.
Beside SharePoint & Office 365, I often spend my spare time reading and exploring more about Microsoft Azure such as Azure Mobile Service, Azure Machine Learning (and its concept to build prediction system) or so on. I’m also working on a small start-up mobile app in which I with my team utilize almost Microsoft Azure from mobile services, hub notification and Azure SQL.
Part of these things If you have realized, digitalization is also the topic I’m adopting. This concept covers a dozen things including mobility, analytic, machine learning, social and digital workplace which I recently got interviewed by LiveTiles (http://www.livetiles.nyc/blog/3-benefits-of-gamification/)
Lastly, a few friend of mine questioned me on Internet of Thing (IoT) which is one of the hottest trends nowadays. To be honest, I’m not really ready for IoT even used to research it a bit in the past. Moreover, IoT requires financial budget for R & D Lab and long-term investment which I cannot afford at the moment. At least I’m sure I will do something on this stuff in the future. This product (https://www.particle.io) has caught my eyes on after I was introduced by a fellow MVP. It’s worth trying if you have time.
Looking forward to something new in the near future. Thank you all of you who have read my blog so far.
If you are based in Singapore and love to learn and discuss with Microsoft Azure team in Singapore, Global Azure Boot camp 2016 Singapore is the must-attend event. It becomes BIGGER this year! 3 Tracks, 19 speakers and 19 sessions. Information can be found here http://singapore.azurebootcamp.net/
I will be talking about planning and deploying SharePoint farm in Microsoft Azure.
I suddenly ran into a problem related to inconsistent IIS filesystem path today when creating a new web application in SharePoint 2010. SharePoint threw the message
The filesystem path for the IIS website does not point to and NTFS drive. SharePoint requires all web servers in the farm to be configured identically. This requirement extends to drive letter name
Because the environment was highly secured by several hardening guidelines so checking around IIS hardening was flashed in my mind first. Indeed there was a rule requiring the IIS root to be moved to another location. The registry path HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp contains a key named PathWWWRoot that specify the root folder of IIS. After changing to the same location with other SharePoint web application’s locations and performed iisreset, I managed to create a new web application.
Make sure if you are going to change the IIS filesystem path, you need to migrate all because SharePoint doesn’t support inconsistent IIS path for different web applications.
It’s quite difficult to tell you that I had had to spend 3 days looking into an issue when joining a machine to an existing SharePoint farm that I’m responsible for managing. This task shouldn’t have taken that long. Like every trivial workaround I have written in my blog, this post is just kindly warn you something that I experienced.
You may want to read a related article: Failed to connect to the configuration database when adding server to SharePoint farm
Recently one of the application servers in the farm went down and wasn’t accessible remotely. The infrastructure team came up with certificate issue on the remote desktop connection service. They did something I didn’t know but made the server work again. However, when I logged into SharePoint Central Administration website that was hosted in that machine’s IIS, SharePoint threw out several weird errors related to certificate. One of them was that I couldn’t change application pool identity either start IIS Admin service. SharePoint didn’t tell me where those certificates belong to. All of the errors were actually strange to me. I was afraid of the duplication of error made on other machines. Therefore, I decided to disconnect the machine out of the farm. And surely Central Administration service was started in the second application server first. Joining the first server to the farm was the next step then. However, this didn’t work as my expectation. Tracing log in ULS many times, I found that SharePoint always reported that “An exception occurred while committing IIS configuration changes: keyset does not exist” and “Unjoining farm”. It then terminated all processes of creating and assigning permissions to application pool or group. All web application began to be deleted. As a result, joining farm was failed. Reinstalling IIS role and running Preparation tool to automatically configure SharePoint didn’t help me.
In Google, folks suggest that the workaround is to assign permission to MachineKeys file in Program Data\Microsoft\Crypto\RSA\MachineKey. I even set add Everyone to read it but didn’t work. I thought that the MachineKeys file wasn’t valid or got overwritten by another one. This could possibly be a root cause. I found one full backup done by Windows Server Backup feature in the server that I could use. I restored MachineKeys folder to the same path. Finally I was then able to join that server to the existing farm.
What is the MachineKeys folder?
IIS uses MachineKeys feature for encryption. You can find many keys that do encryption in Program Data\Microsoft\Crypto\RSA\MachineKey. IIS Admin service replies on such a key to load and enumerate metabase. If you don’t have valid key, IIS Admin can’t be started.
Your application pool identity also replies on keys in this folder. If application pool can’t verify valid key, you can’t change to another identity.
Backing up IIS machine key is strongly recommended since it affects IIS configuration and even application pool identity that makes your SharePoint alive.
There are several ways to back up IIS machine key. The easiest way is to back up the MachineKeys folder. Another way is to use the following command.
aspnet_regiis -px "iisConfigurationKey" "C:\iisConfigurationKey.xml" –pri
MachineKey has to be in the list of your SharePoint backup. Otherwise, you would have to deal with unknown errors that would steal your golden time. Below is the list of additional references I strongly recommend you to read.