1. REAL-LIFE EXPERIENCE OF CLOUD BASED DEVELOPMENT
USING WINDOWS AZURE FOR A SHAREPOINT 2013 BASED EXTRANET
Stanimir Bakshev : Technical Lead, Web and Mobile Solutions
Adel Saadoune: Business Development Manager, Web and Mobile Division
www.s-h.ch
2. SUMMARY
The Business Case
What option did we have?
Infrastructure requirements
Team & Organization
Used toolset
Addressing specific development challenges
Finding the right cost / Performance balance
Let us get a little bit techy now…
Key Takeaways
Software & Licencing
Wrap up
Is it worst?
www.s-h.ch
3
4
5
6
8
9
10
11
16
17
26
27
3. 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
4. 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 model
The environment being all Microsoft based. Azure looked as the natural choice
www.s-h.ch
5. INFRASTRUCTURE REQUIREMENTS
used 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
6. TEAM & ORGANIZATION
ROLE
ON-SITE
REMOTE / OFF-SHORE
Project Manager
x
Business Analyst
x
Web Designer
x
SharePoint Developers
x
x
SharePoint Testers
x
x
Client’s Team
(business owner, key users)
x
x
www.s-h.ch
8. USED TOOLSET
Utilizing 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
9. ADRESSING SPECIFIC DEVELOPMENT CHALLENGES
How to deliver a functional, expandable and cost efficient development environment that meets the best practices?
Lifecycle Management
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
Must have
Requirements
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
10. FINDING THE RIGHT COST / PERFORMANCE BALANCE
Performance
Benefits
Risks
Ensure optimal Build, Deploy and Test times
Allow to easily scale up the development and testing
environments
Cost
“Sluggish” performance may reduce the project team
productivity and increase frustration
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
11. LET US GET A LITTLE BIT TECHY NOW…
INFRASTRUCTURE & ARCHITECTURAL CHOICES
www.s-h.ch
12. FARM TOPOLOGY
The following farm topology implemented on Windows Azure can meet the specified requirements
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
www.s-h.ch
13. FARM TOPOLOGY(CONTINUED)
The following farm topology implemented on Windows Azure can meet the specified requirements
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 onpremises IT infrastructure.
• VPN tunnel – maintain a permanent logical
network connection
www.s-h.ch
14. CHOSEN SIZING
The following virtual machines were setup on Windows Azure to meet our specific requirements
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)
www.s-h.ch
15. CHOSEN SIZING (CONTINUED)
The following virtual machines provided by Windows Azure can meet the specified requirements
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
www.s-h.ch
16. 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
18. SOFTWARE AND LICENSING REQUIREMENTS
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.
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)
www.s-h.ch
19. 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
20. SETUP PROCESS
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.
Create new VM from image library – the image library in Windows Azure provides the
list of available preconfigured VMs
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 new VM from custom image - before the image can be uploaded to Windows
Azure, it must be generalized by using the Sysprep command
Create a new VHD
Upload image for
blob storage
www.s-h.ch
Create a disk using
the uploaded image
in Windows Azure
Management Portal
VM is
booted, changes
are copied to blob
storage
21. SETUP PROCESS (CONTINUED)
To implement a SharePoint development and testing environment on Windows Azure
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
www.s-h.ch
22. 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
24. PRICING
Virtual Machines are charged by the minute. Prices are listed as hourly rates. Windows prices include Windows Server licensing cost.
• 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)
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
None
500$
500$
Min. commitment/month
• Initially, we have taken a Pay-as-you-go Plan. Switching to 12 Months Plan permitted to save up to 75%.
www.s-h.ch
25. COST OPTIMIZATION
If not carefully planned, the costs associated with Windows Azure may easily exceed your initial budget.
• 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
www.s-h.ch
27. 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
28. PROS AND CONS
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.
Cost = Medium to high
Performance = High
Maintenance Time = Low
Disaster recovery = Fast
Security = High
www.s-h.ch
29. Adel Saadoune
Stanimir Bakshev
Business Development Manager
Web and Mobile Division
adel.saadoune@s-h.ch
Technical Lead
Web and Mobile Solutions
Stanimir.bakshev@s-h.ch
www.s-h.ch