sharepoint and azure - a match made in the clouds

Post on 25-Jan-2015

890 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation on case study of a real world implementation of a hybrid SharePoint and Azure solution

TRANSCRIPT

Azure And SharePointA Case Study

By Shailen Sukul

Who Am I?Speaker, .NET/SharePoint Consultant, Architect, Trainer and Entrepreneur

Specializing in the Microsoft Stack and HTML 5/CSS3, I work with SharePoint and Azure in my "regular" job and help clients realize the full potential of their investment on the Microsoft stack. I have a deep background in .Net and integration (BizTalk) as well as security (SAML/ADFS/ACS) and have worked at every consulting level from business analysis to project management to enterprise architecture and training and infrastructure.

I also have a lot of experience in working with large geographically dispersed teams based on the Agile framework and SCRUM in particular and have a strong satisfaction rate from my customers for meeting delivery schedules and delivering value.

I also tinker with startups and entrepreneurships as an advisory or participant and have an active role in a disruptive startup in the Australian market releasing in the next 6 months. My work in the startup area has exposed me to Amazon Web Services, nodeJS and Ruby On Rails as well as ASP.Net MVC and mostly open source technologies.

You can follow my tips, musings and advice at http://www.shailensukul.com and connect with me on Twitter (@shailensukul) or Skype (shailen.sukul)

About Me

SharePoint Architecture

Single Web Application Multiple host header tenant site collections – multi-tenant

architecture Integrated reporting – OOB and custom Some sites are highly customized – webparts, pages,

materpages, etc ADFS – Single sign on integrates Live ID, Corpnet users,

Partners users and virtually anyone else that we want Shared Services

Taxonomy, Metadata, Managed Columns SharePoint Search (default) FAST Search (non-default) Business Connectivity Services

Syndicate content to a wide anonymous audience Metadata ownership NOT content Track statistics to determine popularity of site Allow content authoring by designers Allow high level of customization in authored

content Allow high level of customization in consumed

content Make content delivery as fast as possible Demonstration: http://

www.shailen.sukul.org/p/syndication_14.html

Syndication Goals

Evaluating Office 365First Try

Office 365

Source: Official Microsoft 365 website

Why evaluate this?- Natural fit- SharePoint to SharePoint .. Right?- Maximum reuse

When not to use it? When you have a highly customized solution Does not support host header site collections in one

web application When you need more than OOB (“peek under the

hood”) When you need an application versus a product When you have other applications integrated with

SharePoint (ADFS, Data Loads (custom upload tool)) When you need to build DEV/TEST/PPE environments to

closely match a highly customized PROD environment Need to govern large taxonomy sets (keep it consistent)

Office 365

Azure Overview“Time for a rethink”

“Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters.”

Allowed us to refactor and deploy a highly customized solution to a global infrastructure of servers

Get some features for “free” (geo-routing)

Ok so we cannot leverage Office 365 but can we trade some functionality for other benefits and leverage SQL and Windows Azure?

What we wanted: Full fidelity with SharePoint list data

Insert Update Delete Schema AND Data Fidelity

Time for A Re-Think

Same search experience as SharePoint Full fidelity Taxonomy replication Completely automated failover

Azure - Time for A ReThink

Semi-fidelity with SharePoint list data Use a flattened table with a union of all columns Map managed columns using another table Give up automated schema updates Gain performance advantage

Trades Offs

Before

After

Same search experience as SharePoint SQL Azure does not support free-text search.

We decided to use structured search with wildcards

Full fidelity Taxonomy replication SharePoint’s Term Store does not raise update

events. We had to defer this, but is do-able. See http://tinyurl.com/6wgdnok

Trade Offs

Completely automated failover We can sync Azure web roles to their respective

instances of SQL Azure in each data center. We then setup replication between the US and Europe SQL instances, US being the Master. Traffic Manager then routes a common url to the closet data center, based on the originating request location.

However, if a whole data center goes down, we have to fail over to another one manually and also reverse the DB roles. This is expected to be fixed in a subsequent update of Azure.

Trade Offs

So how does SharePoint Replicate to Azure?

The million dollar question…

Azure Comparison

SharePoint

No geo-routing

Integrated taxonomy, managed columns and controls

ADFS – SSO

Azure

Ability to route users to the closest data center.

Need to replicated term store values. No automated replication.. yet

No ADFS – anonymous audience for initial release. Will federate with on-premise ADFS in future

Azure Comparison

SharePoint

Free Text Search

Limited by data center size

Cost – pay to maintain server hardware and update to keep current

Azure

Does not support free text. Structured and wildcard search only

Virtually unlimited scale out Servers are automatically

updated with latest patches and hardware. Does not affect hosting costs. Get benefit of scale.

Azure Comparison

SharePoint

Struggled with traffic surges sometimes. “Hot” and “cold” periods

Some built-in reports (SharePoint Analytics)

Some failover capacity (multiple servers)

Azure

Easily handles traffic surges

Had to build custom reports

World class failover. Server level and data center level.

Azure Comparison

SharePoint

Scale out expensive. Have to add additional machines to farm and had to have downtime. Stuck with what you have.

Azure

Scale out virtually unlimited. Can add or remove Windows Azure instances at will. No downtime, can add machines to fit usage pattern.

Security Keeping sensitive information in web.config is

a big no no Encrypting web.config is painful, requires

release for config change Decided to encryt sensitive information in the

Service config.. Can change values independent of release

Dependency on web.config (ConfigurationManager) required a code refactor

Gotchas

Singleton Singleton class behaves differently in Azure.

Do not assume objects are cached unless you explicitly use a caching service.

Always check for existence and create new object

Gotchas

Lowered IT costs.. No exact figure but roughly one third of the hardware costs

Stable and solid – handles traffic without any issues Geo-routing – improved user experience for users in

Asia and Europe Billing – easy to see monthly bills. Oblivious to user – user still interacts with Syndication

via SharePoint UI with data coming from SQL Azure Proven – setting the stage for moving the heavy lifting

out of SharePoint into Azure

Conclusion

Blog: http://www.shailensukul.com Twitter: @shailensukul LinkedIn:

http://www.linkedin.com/in/shailensukul

Contact Me

Checkout my open source projects Taxomatic:

http://taxomatic.codeplex.com/ SharePoint Smart Serve

http://smartserve.codeplex.com/ Multi-Threaded File Download

Manager http://bloodhound.codeplex.com/

DBRef http://dbref.codeplex.com/

Other Cool Stuff

top related