29
REAL-LIFE EXPERIENCE OF CLOUD BASED DEVELOPMENT USING WINDOWS AZURE FOR A SHAREPOINT 2013 BASED EXTRANET Stanimir Bakshev : Technical Lead, Web and Mobile Sol Adel Saadoune: Business Development Manager, Web and Mobile Di www.s-h.ch

Azure based development for SharePoint 2013

Embed Size (px)

Citation preview

Page 1: Azure based development for SharePoint 2013

REAL-LIFE EXPERIENCE OF CLOUD BASED DEVELOPMENTUSING WINDOWS AZURE FOR A SHAREPOINT 2013 BASED EXTRANET

Stanimir Bakshev : Technical Lead, Web and Mobile SolutionsAdel Saadoune: Business Development Manager, Web and Mobile Division

www.s-h.ch

Page 2: Azure based development for SharePoint 2013

SUMMARY

The Business Case 3What option did we have? 4 Infrastructure requirements 5Team & Organization 6Used toolset 8Addressing specific development challenges 9Finding the right cost / Performance balance 10Let us get a little bit techy now… 11Key Takeaways 16Software & Licencing 17Wrap up 26Is it worst? 27

www.s-h.ch

Page 3: Azure based development for SharePoint 2013

THE BUSINESS CASE

Building an Extranet where to interact with, manage and assess partners

With a customized branding

Across 120 countries

An estimated implementation effort of 1100 work days (total team of 11 people)

In an emergency oriented environment

While internal IT Infrastructure was being re-architected

www.s-h.ch

Page 4: Azure based development for SharePoint 2013

WHAT OPTIONS DID WE HAVE?Option 1 – Buy a dedicated Servers Hardware & collocate-it and use physical development stations

Option 2 - Treat Hardware as a commodity and rather look for the service it provides (all virtualized in the Cloud)

Option 3 – Hybrid (hosted virtual servers & local development stations)

Due to a geographically dispersed team and to the need to have the exact same development images across the team we have decided to go for option 2 with a full Cloud modelThe environment being all Microsoft based. Azure looked as the natural choice

www.s-h.ch

Page 5: Azure based development for SharePoint 2013

INFRASTRUCTURE REQUIREMENTSused for developing, testing and debugging the new SharePoint 2013 based solution.

Development stations requirements

• Concurrent access by many developers – ensure changes are created and tested in isolation• Integration with Application Lifecycle Management (ALM) tools – ensure correct integration of the work produced by multiple developers• Processing power that covers at least the minimum SharePoint requirement – ensure proper development, deployment and debugging speed • Elasticity – alter the number and the processing power of the machines, based on the project phase and needs• Cost efficiency – ensure predictable costs

Server-side possible scenarios

• Single server with built in database - minimize administrative overhead• Single server farm installation - create a trial or development environment• Multiple server farm installation - fundamental infrastructure to implement solution on complex farms

Shared source code repository

• ALM tools (allows source code synchronization and work items (tasks, issues, bugs) tracking)

www.s-h.ch

Page 6: Azure based development for SharePoint 2013

TEAM & ORGANIZATION

ROLE ON-SITE REMOTE / OFF-SHOREProject Manager xBusiness Analyst xWeb Designer xSharePoint Developers x xSharePoint Testers x xClient’s Team (business owner, key users)

x x

www.s-h.ch

Page 7: Azure based development for SharePoint 2013

THEN…

Windows Azure

Business needs

Technical requirement

s

Team & organization

All Microsoft based

environment

www.s-h.ch

Page 8: Azure based development for SharePoint 2013

USED TOOLSETUtilizing a fully supported toolset to mitigate any integration and support risks

Development toolset• Visual Studio 2012 (Update 4)• SharePoint Designer

Source code and Application Lifecycle Management (ALM)• Source code repository: Team Fundation server• Planning and Tracking – Microsoft Project / Team Fundation Server

Identity Management• Active Directory – Single Domain

Server Side• SharePoint Server 2013 Standard Edition• Microsoft SQL Server 2012

www.s-h.ch

Page 9: Azure based development for SharePoint 2013

ADRESSING SPECIFIC DEVELOPMENT CHALLENGESHow to deliver a functional, expandable and cost efficient development environment that meets the best practices?

Lifecycle Management

Must have

Requirements Challenges

Minimize the setup time for new development instances, as new members may join the project team at any time

Failure to do so postpones the start of the project development or testing

Ensure continuous operation throughout the entire project

Frequent downtime may delay the overall project progress

Provide simple decommissioning procedure Not releasing unnecessary instances and computation resources may significantly increase the operational cost of the project

Requirements Challenges

ALM Tools integration Not using ALM tools results in increased time for tasks and issues management and source code integration

Networks integration Distinct separation between private and cloud networks requires more network management and maintenance time

www.s-h.ch

Page 10: Azure based development for SharePoint 2013

FINDING THE RIGHT COST / PERFORMANCE BALANCE

Performance

Cost

Benefits Risks

Ensure optimal Build, Deploy and Test times “Sluggish” performance may reduce the project team productivity and increase frustration

Allow to easily scale up the development and testing environments

Relying only of “minimum requirements” specifications for development and test environments may lead to incorrect sizing and performance issues

Benefits Risks

Minimize the initial setup cost Significant on-premises infrastructure changes and improvements may involve significant costs

Allow for predetermined operational costs Not adding these costs to the initial financial offer reduce the financial success of the project and do not cover any hidden expenses (electricity, hardware maintenance, etc.)

www.s-h.ch

Page 11: Azure based development for SharePoint 2013

LET US GET A LITTLE BIT TECHY NOW…INFRASTRUCTURE & ARCHITECTURAL CHOICES

www.s-h.ch

Page 12: Azure based development for SharePoint 2013

FARM TOPOLOGY

Lifecycle

Set up using the same set of IT skills

Reduced time for farm provisioning• Windows Azure Image Library - start from a

prebuilt image in the image library, or create and use customized and on-premises VHDs

The following farm topology implemented on Windows Azure can meet the specified requirements

www.s-h.ch

Page 13: Azure based development for SharePoint 2013

FARM TOPOLOGY(CONTINUED)

Integration

SharePoint deployment undistinguishable from an on-premises virtualized deployment

• Windows Azure Virtual Network - enables you to create Virtual Private Networks (VPN) within Windows Azure and securely link these with on-premises IT infrastructure.

• VPN tunnel – maintain a permanent logical network connection

The following farm topology implemented on Windows Azure can meet the specified requirements

www.s-h.ch

Page 14: Azure based development for SharePoint 2013

CHOSEN SIZING

Performance

• Number and size of machines depending on testing and development needs• Windows Azure Virtual Machines – provides an arbitrary number

of ready to use virtual machines, with a broad range of sizing options

• Domain Controller Server (DOM)• Requirements – 2 GB RAM, 64 bit, 1 core, 16 GB system drive• Windows Azure VM - Small VM (1.6GHz CPU, 1.75GB RAM)• Scaling options – Not needed

• Development Server (DEV)• Requirements – 16 GB RAM, 64 bit, 4 cores, 80 GB system drive• Windows Azure VM - Large VM (4 x 1.6GHz CPU, 7GB RAM)• Scaling options – Scale up to Extra Large VM (8 x 1.6GHz CPU,

14GB RAM, 2,040GB Storage)

The following virtual machines were setup on Windows Azure to meet our specific requirements

www.s-h.ch

Page 15: Azure based development for SharePoint 2013

CHOSEN SIZING (CONTINUED)

Performance

• Database Server (DB)• Requirements - 8 GB RAM, 64 bit, 4 cores, 80 GB system

drive• Windows Azure VM – - Large VM (4 x 1.6GHz CPU, 7GB

RAM)• Scaling options – Scale up to Extra Large VM (8 x 1.6GHz

CPU, 14GB RAM, 2,040GB Storage)

• Test and UAT Servers (TEST and UAT)• Requirements – 8-12 GB RAM, 64 bit, 4 cores, 80 GB system

drive• Windows Azure VM - Large VM (4 x 1.6GHz CPU, 7GB RAM)• Scaling options – Scale up to Extra Large VM (8 x 1.6GHz

CPU, 14GB RAM, 2,040GB Storage) or scale out with more WFE servers

The following virtual machines provided by Windows Azure can meet the specified requirements

www.s-h.ch

Page 16: Azure based development for SharePoint 2013

KEY TAKEAWAYS

Elasticity?We have been gladly surprised by how quickly Windows Azure allowed us to expand our SharePoint 2013 development infrastructure in order to meet urgent needs

Extensibility?Again, we have been able to easily choose from a large pool of different services and virtual machines, depending on current usage and demand

Security & Network integration?From developers standpoint, Windows Azure infrastructure had become indistinguishable from your local SharePoint 2013 development setup… we have good admins though

www.s-h.ch

Page 17: Azure based development for SharePoint 2013

SOFTWARE & LICENCINGACTIVATING AND CONFIGURATING IN THE AZURE CONTROLED ENVIRONMENT

www.s-h.ch

Page 18: Azure based development for SharePoint 2013

SOFTWARE AND LICENSING REQUIREMENTS

Required software

The 64-bit edition of Windows Server• 2012 Standard or Datacenter• 2008 R2 Service Pack 1 (SP1) Standard, Enterprise, or Datacenter

SharePoint Server 2013 Standard Edition

The 64-bit edition of Microsoft SQL Server • 2012• 2008 R2 Service Pack 1

Visual Studio 2012 (Update 4)

All Microsoft software that is installed in the Windows Azure Virtual Machine environment must be properly licensed. By default, Windows Azure Virtual Machines include a Windows Server for use of in the Windows Azure environment. Certain Windows Azure Virtual Machine offerings may also include additional Microsoft software on a per-hour or evaluation basis.

www.s-h.ch

Page 19: Azure based development for SharePoint 2013

SOFTWARE AND LICENSING REQUIREMENTS (CONTINUED)

Trial version vs. Development license

For companies with MSDN (or similar) subscription – most of the software licensed under MSDN on Windows Azure Virtual Machines• The licensing option for client OS such as Windows 7 do not allow cloud usage

For companies without MSDN (or similar) subscription – use the free trial versions or buy new licenses• Use the evaluation VM images from the gallery (valid for around 6 months)• Use owned or buy new licenses for software other than Windows Server

www.s-h.ch

Page 20: Azure based development for SharePoint 2013

SETUP PROCESS

Create new VM from image library – the image library in Windows Azure provides the list of available preconfigured VMs

Create new VM from custom image - before the image can be uploaded to Windows Azure, it must be generalized by using the Sysprep command

Windows Azure stores a virtual machine's operating system in a virtual hard disk in VHD format. A VHD of an operating system that has been prepared for duplication is called an image.

Access Windows Azure Management

Portal

Create new VM from image

library

Image is copied to blob storage

account

VM is booted, changes are

copied to blob storage

Create a new VHD Upload image for blob storage

Create a disk using the uploaded image in Windows Azure

Management Portal

VM is booted, changes are copied

to blob storage

www.s-h.ch

Page 21: Azure based development for SharePoint 2013

SETUP PROCESS (CONTINUED)

1) Provision• Create and deploy the domain controller on a new VM on Windows Azure• VPN connection between on-premises and Windows Azure Virtual network• Provision a new VM using a stock image from the image library (standard or custom image)

2) Install• Install SQL Server• Install SharePoint Server• Install Visual Studio

3) Develop deployment packages and scripts for applications and databases• Create deployment packages for the existing on-premises applications and databases

4) Deploy SharePoint applications and databases• Configure security and connectivity• Deploy the applications and databases on Windows Azure Virtual Machines• Test deployed applications and databases

5) Manage and monitor the VMs

To implement a SharePoint development and testing environment on Windows Azure

www.s-h.ch

Page 22: Azure based development for SharePoint 2013

IMPORTANT POINTS REGARDING LICENCING

You can create new SharePoint 2013 development environments quicker by using preconfigured images – either created by you, or available through the image library

You do not need new skills or expertise in order to completely or partially move your SharePoint 2013 development setup to Windows Azure

You do not need new licenses in order to install software you already own, on Windows Azure

You can significantly speed up software and product evaluation by taking advantage of preconfigured evaluation images

www.s-h.ch

Page 23: Azure based development for SharePoint 2013

www.s-h.ch

PRICING AND COST OPTIMIZATION

Page 24: Azure based development for SharePoint 2013

PRICING• Cost shift from capital expenditures to operational expenditures

• Pay-as-you-go, 6 and 12 months subscription plans are available

• No upfront physical server purchase is required• Run the same on-premises applications and infrastructure in the cloud

• Showcase scenario For SharePoint Development (previous slides)

• Initially, we have taken a Pay-as-you-go Plan. Switching to 12 Months Plan permitted to save up to 75%.

Virtual Machines are charged by the minute. Prices are listed as hourly rates. Windows prices include Windows Server licensing cost.

Resources Pay-as-you-go Plans ($) 6 Months Plan ($) 12 Months Plan ($)

3 Large VM 3 x 0.36$/hour(3 x ~$268/month)

Save 20-22% Save 22-25%

1 Small VM 0.09$/hour(~$67/month)

Save 20-22% Save 22-25%

Networking, Storage, .. ~100$/month Same Same

Min. commitment/month None 500$ 500$

www.s-h.ch

Page 25: Azure based development for SharePoint 2013

COST OPTIMIZATION

• Ensure Correct sizing• Reduce the overall costs by preventing oversized instances• Choosing the instance with the necessary performance (even through usually pricier) cuts down development times

• Ensure timely provisioning and decommissioning of environments• Provision new instance or scale up only when needed• Make sure that instances are decommissioned or scaled down when the team size changes or the load on the instances is reduces

• Evaluate long term plans vs. pay as you go• Long term subscription plans can save up to 30% of the overall costs• Stopping instances over non working periods (out of office hours and weekends) can further reduce your development environment costs

with 50%• This allows you to bring down the price for a Large VM from 260$/month to only 70$/month

• Perform regular monitoring• Review the Windows Azure Management Portal for orphaned instances, especially close to project closures• Implement usage quotas to ensure predetermined budgets are not exceeded

If not carefully planned, the costs associated with Windows Azure may easily exceed your initial budget.

www.s-h.ch

Page 26: Azure based development for SharePoint 2013

www.s-h.ch

WRAP UP

Page 27: Azure based development for SharePoint 2013

IS IT WORTH IT?S&H has also been using the Amazon EC2 plateform in different context

This additional real-life experience with Windows Azure confirms that the Cloud provides performance and maintenance benefits that are hard to match with on-premise installations for development environments

Using Windows Azure as a SharePoint 2013 development environment may become costly if not carefuly planned

Once the model understood, Having the right cost optimization strategy and planning allows to reduce the overall cost by up to 75%

Once that achieved, we have been able to run SharePoint development environments for as cheap as 60$ / developer / month with fully license software scalability and proper code source security

Real-life experience has told us that using the Cloud for development environments is an option to be strongly considered www.s-h.ch

Page 28: Azure based development for SharePoint 2013

PROS AND CONS

www.s-h.ch

Cost = Medium to high

Performance = High

Maintenance Time = Low

Disaster recovery = Fast

Security = High

We have learned about this real-life experience that it is key to consider the following factors when evaluating the benefits of a cloud development infrastructure.