Tuesday, July 11, 2017

DIY vs AWS

Came across a very good , simple to understand comparison between AWS and DIY (Do-It Yourself)


DIY
AWS
Scale Up
Elastic Service(On-Demand/ When needed)
Assume Reliable Infrastructure
Assume Infrastructure Failure
Diverse Technical Expertise
Application Based Expertise
Application Unaware of Infrastructure
Application aware infrastructure
High Upfront Cost
Usage Based Cost
Design, Build, Operate
Limited Knowledge/ Shared Support
Showback , charge back challenging
Showback , Chargeback can be achieved by granular monitoring of usage

AWS vs Azure

Age old question .....

Check this comparison matrix

https://azure.microsoft.com/en-us/campaigns/azure-vs-aws/mapping/




Tuesday, August 02, 2016

Polyglot Solution - Database Scaling

I keep getting question around database scalability and generally seasoned architects have a good idea about scaling the Databases by providing the polyglot solution.

This one is for the newbies who would like to understand more about database scaling, mainly in today's cloud world wherein just using one type of database is not good architecture strategy for prime time rollout of applications for larger audience with huge data exchange potential

If you do a google search "Polygot Persistence" you will get a large number of document detailing the definition

If you are looking for document more technical in nature , download  this document
https://www.microsoft.com/en-us/download/confirmation.aspx?id=40327

Hope you have fun with Polyglotting!!!

Monday, March 30, 2015

Export Term Set to Excel - SharePoint Metadata Services - Powershell Script

# Add SharePoint PowerShell Snapin
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

 # File and Directory Location
$dirLocation = "D:\temp\TermStore\"
$date = get-date -Format yyyyMMdd
New-Item ($dirLocation + $date) -Type Directory | Out-Null
$file = New-Object System.IO.StreamWriter(($dirLocation + $date) + "\Terms.csv")

# Connect to site with MMS service connection
$taxonomySite = Get-SPSite -Limit 1
 
# Connect to Term Store in the Managed Metadata Service Application
$taxonomySession = Get-SPTaxonomySession -site $taxonomySite
$taxonomyTermStore =  $taxonomySession.TermStores | Select Name
$termStore = $taxonomySession.TermStores[$taxonomyTermStore.Name]

# Ampersands are stored as full width ampersands within the MMS database.
[Byte[]] $amp = 0xEF,0xBC,0x86

# CSV headers
$file.Writeline("Term Name,Id,Owner,CreatedDate,LastModifiedDate,TermSet,TermSetOpenStatus,GroupName")

# Term counter
$i = 0

foreach ($group in $termStore.Groups) {
    foreach ($termSet in $group.TermSets) {
        foreach ($term in $termSet.GetAllTerms()) {
            [Byte[]] $amp = 0xEF,0xBC,0x86;
            $file.Writeline("""" + $term.Name.Replace([System.Text.Encoding]::UTF8.GetString($amp), "&") + """" + "," + $term.Id + "," + $term.Owner + "," + $term.CreatedDate + "," + $term.LastModifiedDate + "," + $term.TermSet.Name + "," + $term.TermSet.IsOpenForTermCreation + "," + $term.TermSet.Group.Name);
            $i++
            Write-Host -ForegroundColor Cyan  "# Exporting TermSet: " -NoNewline
            Write-Host -ForegroundColor White $termSet.Name -NoNewline
            Write-Host -ForegroundColor Cyan  " Term: " -NoNewline
            Write-Host -ForegroundColor White $term.Name -NoNewline
            Write-Host -ForegroundColor Green " - Done"        
            }          
        }              
    }
$file.Flush()
$file.Close()

Write-Host
Write-Host -ForegroundColor Cyan  "# Exported " -NoNewline
Write-Host -ForegroundColor Green  $i -NoNewline
Write-Host -ForegroundColor Cyan  " terms"

Thursday, January 29, 2015

Deploying SSL in multiple web application in same Server



I keep getting question on how to deploy SSL to multiple web application in same server. Found this great article to achieve the same

https://www.digicert.com/ssl-support/ssl-host-headers-iis-7.htm


Wednesday, January 28, 2015

Error while crawling MySite users wherein MySite Web application is set up with SSL

Error Message:

sps3s://www.domain.com/site$$$people/bucketid=1/itemid=539

An unrecognized HTTP response was received when attempting to crawl this item. Verify whether the item can be accessed using your browser. ( WebExceptionStatus: TrustFailure The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.; SearchID = 22908598-2E57-4053-96F5-FBB55B029959 )


Solution:

Ensure the SSL cert is registered under "Manage trust" in SharePoint central Admin


Step 1: Export the SSL Certificate
  •  Open the cert from browser. Click on the lock  in address bar 
  • Go to the tab called “Certification Path”, select the root CA certificate and click “View Certificate”
  • Select the “Details” tab and click on “Copy to file”
  • Save the file in your machine

Step 1: Import it in SP Central Admin


  • Go to SP Central Administration  / Security / Manage Trust. Click on “New”, add the root CA certificate from the local machine 



This should do the trick



Monday, January 05, 2015

User Profile not showing up with proper domain name: User profile sync issues

User are showing up with  different domain name after full profile sync.

For e.g . I have all the users defined in ABC domain but after sync some users are showing up as different domain.

expected users in User Profile : ABC\user1
but showing up as : DEF\user1

Note: There is no domain with name DEF but it still shows up that way.

One of the possible reason is Domain netbios name is different than the FQDN of the domain

Check out article below , section Permission requirements: Domain netbios name is different than the FQDN of the domain

http://blogs.msdn.com/b/russmax/archive/2010/03/20/sharepoint-2010-provisioning-user-profile-synchronization.aspx


Monday, September 08, 2014

New-SPTrustedIdentityTokenIssuer Exception of type 'System.ArgumentException' was thrown

Error Message 

New-SPTrustedIdentityTokenIssuer: Exception of type 'System.ArgumentException' was thrown.

Solutions

Ensure:


  • The name of the SPTrustedLoginProvider is not been using
  • The length of the name is less than 50
  • The certificate is not been using