Post on 14-Apr-2017
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
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
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
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
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
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
THEN…
Windows Azure
Business needs
Technical requirement
s
Team & organization
All Microsoft based
environment
www.s-h.ch
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
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
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
LET US GET A LITTLE BIT TECHY NOW…INFRASTRUCTURE & ARCHITECTURAL CHOICES
www.s-h.ch
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
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
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
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
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
SOFTWARE & LICENCINGACTIVATING AND CONFIGURATING IN THE AZURE CONTROLED ENVIRONMENT
www.s-h.ch
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
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
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
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
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
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
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
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
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.
Adel Saadoune Business Development Manager
Web and Mobile Divisionadel.saadoune@s-h.ch
www.s-h.ch
Stanimir Bakshev Technical Lead
Web and Mobile SolutionsStanimir.bakshev@s-h.ch