SlideShare a Scribd company logo
Webinar
March 6 2014 11.00 AM EST

You are at the right
place, it’s almost
time….10 minute
countdown
www.xbosoft.com
WELCOME

XBOSOFT Software Quality
Knowledge Center is proud to
partner with and introduce
Bill Wilder

Principal Consultant
Development Partners Software
7 Things
Software Testing Professionals
Should Know About
the Public Cloud

Bill Wilder
http://blog.codingoutloud.com
@codingoutloud
billw@devpartners.com
• Except where noted, slide deck is © 2014 Development Partners Software Corporation • http://www.devpartners.com •
www.cloudarchitecturepatterns.com

www.bostonazure.org

www.devpartners.com
And You?
• Software Testing Professional
–
–
–
–

QE, QA, Manager
In charge of Environments or Tools or Builds
DevOps role or interest
SDET (Software Development Engineer in Test)
• http://blog.codingoutloud.com/2014/01/31/stupid-azure-trick-3-create-a-devvirtual-machine-in-windows-azure-2/

• At least a basic notion of cloud
– “The cloud” is not “gmail”
– Software resources supported by someone else,
running in one or more data centers “in the cloud”
– Replaces or augments resources we’d otherwise own
The 7 Things
1.
2.
3.
4.
5.
6.
7.

Key cloud terminology & concepts
SaaS tools are plentiful
PaaS for environments
IaaS for environments
Understanding costs
Public cloud platforms are global
Considerations for cloud-native applications
The term “cloud” is nebulous…

Key Cloud Terminology & Concepts
the term “cloud” is nebulous…
“The Cloud” – vendor viewpoint

Copyright © 2013 Elizabeth B. O’Connor • used with permission •
“The Cloud” – practitioner viewpoint
Using the public cloud (for anything) means:
• Taking a dependency on the public Internet
• Taking a dependency on a Cloud Vendor
• Some loss of control
But many practical uses that work (stay tuned )

As professionals:
• New concepts & skills to be learned & applied
NIST – Cloud Platform Taxonomy
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

Private Cloud

Deployment Models
Community Cloud
Public Cloud
Hybrid Cloud
Infrastructure as a Service
IaaS
Platform as a Service
PaaS
Software as a Service
SaaS

Essential Characteristics

Rapid Elasticity
Broad network
access
Resource Pooling
On-demand self-service

Measured service
“Bring Your Own” ____ as a Service

NIST: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Software as a Service (“SaaS”)
BYO Users (or Test/Dev Team)

And so many others…
Platform as a Service (“PaaS”)
BYO Apps

And others…
Infrastructure as a Service (“IaaS”)
BYO VMs (and Admins & DBAs)

And others…
The term “cloud” is nebulous…

SaaS tools are plentiful
Available SaaS Tools
• Bug Tracking, and such
– JIRA (atlassian.com)
– Visual Studio Online
(http://www.visualstudio.com/products/visual-studioonline-overview-vs)

• Load Testing
– Load Storm (loadstorm.com)
– CloudTest (soasta.com)
– Application Insights
(http://msdn.microsoft.com/en-us/library/dn481095.aspx)
Available SaaS Tools (cont)
• Browser and Device Testing
– crossbrowsertesting.com, mogotest.com
– browserling.com, saucelabs.com, browsera.com

• Usage Analytics
– Google Analytics (google.com/analytics)
– Clicky (clicky.com)
– Application Insights (http://msdn.microsoft.com/enus/library/dn481095.aspx)

• And more…
The term “cloud” is nebulous…

PaaS for environments
PaaS Tools
• Simple scenario: You need an isolated
environment for testing a web site
– Could have a database
– Could be internal or public

• Perhaps the company’s public web site
• How can PaaS help us?
PaaS demo
• Windows Azure Portal – (Gallery & Cont Deploy):
https://manage.windowsazure.com
• Simple flasky web site:
http://flasky.azurewebsites.net
• Simple flasky source code:
https://github.com/codingoutloud/flasky
[Windows Azure] Cloud Platform
made it fast & easy to…
• Create a new environment for a website
•
•

Web tech: PHP, Python, ASP.NET, Node.js
Database tech: MySQL, SQL Server, others

• Delete environment (when we are done)
• Automated Delivery
•

Speed up, simplify certain handoffs from dev  test

• Caveat: website URL is on public internet
•

Public URL can be obscured, but not isolated
any questions?
The term “cloud” is nebulous…

IaaS for environments
IaaS Tools
• Handles complex scenarios
• You need an isolated environment for testing
an application that:
– Has a Java on Windows Server web tier
– Has an Oracle database on Linux
– Needs network isolation from public Internet
– Logins with Corporate Credentials

• How can IaaS help us?
Windows Azure Services
• Virtual Machines running Windows and Linux
• Virtual Networking
• Identity management using on-premises
Active Directory projected into the cloud
IaaS demo
• Windows Azure Portal (show Gallery):
https://manage.windowsazure.com
• Simple XPLAT CLI to create Ubuntu VM:
https://gist.github.com/codingoutloud/27fba9ffc35678774c9a

• More complex PowerShell script example (CS
VMs and DB):
https://gist.github.com/codingoutloud/e1a904253b94404430a6
If you can easily create one
environment with a script…
• You can create two… or twenty…
• Or whenever you see the need for another
•

On demand, quickly, scripted (automated)

• Create as many environments as you want
• Cloud Resources are unlimited
• But your budget isn’t!
• Next Topic: Thing 5: Understanding Costs
The term “cloud” is nebulous…

Understanding costs
NIST – Cloud Platform Taxonomy
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Private Cloud

Deployment Models
Community Cloud
Public Cloud
Hybrid Cloud
Infrastructure as a Service
IaaS
Platform as a Service
PaaS
Software as a Service
SaaS

Essential Characteristics

Rapid Elasticity
Broad network
access
Resource Pooling

On-demand self-service

Measured service
How do I control costs?
• Deallocate resources when you don’t need them
• Delete test VMs at night, rehydrate in morning
– VM $ >> Storage Cost $
– Even on IaaS VM running a database

That. Is. The. Easiest. Way. To. Save. Money.
There are also cost monitoring tools.
What are the costs?
•

All platforms have pricing calculators (e.g., http://www.windowsazure.com/en-us/pricing/calculator/)

A FEW EXAMPLE PRICES from Windows Azure
• Storage (at rest):
– $0.07 per GB per month  $0.12 per GB per month

• XS (shared core, 768 MB) Windows Server or Linux
– $0.02 per hour ($15 per month IYLIOAM)

• Small (1 core, 1.75 GB) Windows Server VM:
– $0.09 per hour ($67 per month IYLIOAM)

• Large (4 cores, 7 GB) Windows Server VM with SQL Server:
– $0.405 per hour ($301 per month IYLIOAM)
– Licensing is baked into the rental charge

• A7 (8 cores, 56 GB) running Oracle Database EE on Linux
– $13.92 per hour (~$10,300 per month IYLIOAM)

 This is non-discounted pricing for “regular” accounts (max price)
Costs are not fixed

• Free Trials are available

– Azure Free Trial: http://aka.ms/IaaS

• Some services have a free tier
– e.g., Web Sites

• Discounts available:
– Long-term Pricing (Azure)
– Spot Pricing (Amazon Web Services)

• Enterprise Agreement discounts for Azure
• MSDN has 25-40% discounts for Test-Dev for Azure
– http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefitsdetails/
– http://www.windowsazure.com/en-us/offers/ms-azr-0060p
Maximizing value from public
cloud platforms
• Turn off or delete unused resources
• Leverage very aggressive pricing for nonproduction workloads
• Enhance Test Team agility & productivity
through services and environments running
in the public cloud
The term “cloud” is nebulous…

Public cloud platforms are global
(and getting “globalier”)
Windows Azure
Data Center Regions
http://azuremap.blob.core.windows.net/apps/bingmap-geojson-display.html
http://blog.codingoutloud.com/2014/02/01/mapping-windows-azure-4-years-after-full-general-availability/
Up to this point, tips can apply
equally to testing cloud and noncloud applications
The term “cloud” is nebulous…

Considerations for cloud-native
applications
Thing 7 – a Cloud-Native App is
different There are new challenges!
• Leaning on someone else’s services ecosystem
• Failure is more likely
– Multitenancy and Commodity Hardware Primer
– Node Failure Pattern, Busy Signal Pattern

• Geography Considerations
– Network Latency Primer
– Where are mobile users? Where is data?

• Scaling Models & Challenges
–
–
–
–
–

Horizontal Scaling Pattern
Database Sharding Pattern
Queue-Centric Workflow Pattern
How to find & test THE broken one
Logfile gathering & analysis
The term “cloud” is nebulous…

ADVANCED TOPICS
(will not be covered)
•
•
•
•
•
•

Creating custom VM templates
Managing VM templates as a team (across accounts)
Advanced Automation Scripting
Continuous Deployment
Cross-region Considerations
… and many many more …
any final questions?
How to Contact Bill
Looking for …
• Expert consulting help with Windows Azure Platform?
• Someone to bounce Azure or cloud questions off?
• A trainer or speaker for your user group or
company technology event?

Find slide deck here
Bill Wilder
@codingoutloud
http://blog.codingoutloud.com
community inquiries: codingoutloud@gmail.com
business inquiries: billw@devpartners.com
user group: www.bostonazure.org
Questions:
services@xbosoft.com
408-350-0508
Thank You!

Bill Wilder
Principal Consultant
Development Partners Software

Jan Princen
Managing Director
XBOSoft
Jan.princen@xbosoft.com

More Related Content

7 Things Testers Should Know About The Cloud with Bill Wilder & XBOSoft March 5 2014

  • 1. Webinar March 6 2014 11.00 AM EST You are at the right place, it’s almost time….10 minute countdown www.xbosoft.com
  • 2. WELCOME XBOSOFT Software Quality Knowledge Center is proud to partner with and introduce Bill Wilder Principal Consultant Development Partners Software
  • 3. 7 Things Software Testing Professionals Should Know About the Public Cloud Bill Wilder http://blog.codingoutloud.com @codingoutloud billw@devpartners.com • Except where noted, slide deck is © 2014 Development Partners Software Corporation • http://www.devpartners.com •
  • 5. And You? • Software Testing Professional – – – – QE, QA, Manager In charge of Environments or Tools or Builds DevOps role or interest SDET (Software Development Engineer in Test) • http://blog.codingoutloud.com/2014/01/31/stupid-azure-trick-3-create-a-devvirtual-machine-in-windows-azure-2/ • At least a basic notion of cloud – “The cloud” is not “gmail” – Software resources supported by someone else, running in one or more data centers “in the cloud” – Replaces or augments resources we’d otherwise own
  • 6. The 7 Things 1. 2. 3. 4. 5. 6. 7. Key cloud terminology & concepts SaaS tools are plentiful PaaS for environments IaaS for environments Understanding costs Public cloud platforms are global Considerations for cloud-native applications
  • 7. The term “cloud” is nebulous… Key Cloud Terminology & Concepts
  • 8. the term “cloud” is nebulous…
  • 9. “The Cloud” – vendor viewpoint Copyright © 2013 Elizabeth B. O’Connor • used with permission •
  • 10. “The Cloud” – practitioner viewpoint Using the public cloud (for anything) means: • Taking a dependency on the public Internet • Taking a dependency on a Cloud Vendor • Some loss of control But many practical uses that work (stay tuned ) As professionals: • New concepts & skills to be learned & applied
  • 11. NIST – Cloud Platform Taxonomy http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf Private Cloud Deployment Models Community Cloud Public Cloud Hybrid Cloud Infrastructure as a Service IaaS Platform as a Service PaaS Software as a Service SaaS Essential Characteristics Rapid Elasticity Broad network access Resource Pooling On-demand self-service Measured service
  • 12. “Bring Your Own” ____ as a Service NIST: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
  • 13. Software as a Service (“SaaS”) BYO Users (or Test/Dev Team) And so many others…
  • 14. Platform as a Service (“PaaS”) BYO Apps And others…
  • 15. Infrastructure as a Service (“IaaS”) BYO VMs (and Admins & DBAs) And others…
  • 16. The term “cloud” is nebulous… SaaS tools are plentiful
  • 17. Available SaaS Tools • Bug Tracking, and such – JIRA (atlassian.com) – Visual Studio Online (http://www.visualstudio.com/products/visual-studioonline-overview-vs) • Load Testing – Load Storm (loadstorm.com) – CloudTest (soasta.com) – Application Insights (http://msdn.microsoft.com/en-us/library/dn481095.aspx)
  • 18. Available SaaS Tools (cont) • Browser and Device Testing – crossbrowsertesting.com, mogotest.com – browserling.com, saucelabs.com, browsera.com • Usage Analytics – Google Analytics (google.com/analytics) – Clicky (clicky.com) – Application Insights (http://msdn.microsoft.com/enus/library/dn481095.aspx) • And more…
  • 19. The term “cloud” is nebulous… PaaS for environments
  • 20. PaaS Tools • Simple scenario: You need an isolated environment for testing a web site – Could have a database – Could be internal or public • Perhaps the company’s public web site • How can PaaS help us?
  • 21. PaaS demo • Windows Azure Portal – (Gallery & Cont Deploy): https://manage.windowsazure.com • Simple flasky web site: http://flasky.azurewebsites.net • Simple flasky source code: https://github.com/codingoutloud/flasky
  • 22. [Windows Azure] Cloud Platform made it fast & easy to… • Create a new environment for a website • • Web tech: PHP, Python, ASP.NET, Node.js Database tech: MySQL, SQL Server, others • Delete environment (when we are done) • Automated Delivery • Speed up, simplify certain handoffs from dev  test • Caveat: website URL is on public internet • Public URL can be obscured, but not isolated
  • 24. The term “cloud” is nebulous… IaaS for environments
  • 25. IaaS Tools • Handles complex scenarios • You need an isolated environment for testing an application that: – Has a Java on Windows Server web tier – Has an Oracle database on Linux – Needs network isolation from public Internet – Logins with Corporate Credentials • How can IaaS help us?
  • 26. Windows Azure Services • Virtual Machines running Windows and Linux • Virtual Networking • Identity management using on-premises Active Directory projected into the cloud
  • 27. IaaS demo • Windows Azure Portal (show Gallery): https://manage.windowsazure.com • Simple XPLAT CLI to create Ubuntu VM: https://gist.github.com/codingoutloud/27fba9ffc35678774c9a • More complex PowerShell script example (CS VMs and DB): https://gist.github.com/codingoutloud/e1a904253b94404430a6
  • 28. If you can easily create one environment with a script… • You can create two… or twenty… • Or whenever you see the need for another • On demand, quickly, scripted (automated) • Create as many environments as you want • Cloud Resources are unlimited • But your budget isn’t! • Next Topic: Thing 5: Understanding Costs
  • 29. The term “cloud” is nebulous… Understanding costs
  • 30. NIST – Cloud Platform Taxonomy http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf Private Cloud Deployment Models Community Cloud Public Cloud Hybrid Cloud Infrastructure as a Service IaaS Platform as a Service PaaS Software as a Service SaaS Essential Characteristics Rapid Elasticity Broad network access Resource Pooling On-demand self-service Measured service
  • 31. How do I control costs? • Deallocate resources when you don’t need them • Delete test VMs at night, rehydrate in morning – VM $ >> Storage Cost $ – Even on IaaS VM running a database That. Is. The. Easiest. Way. To. Save. Money. There are also cost monitoring tools.
  • 32. What are the costs? • All platforms have pricing calculators (e.g., http://www.windowsazure.com/en-us/pricing/calculator/) A FEW EXAMPLE PRICES from Windows Azure • Storage (at rest): – $0.07 per GB per month  $0.12 per GB per month • XS (shared core, 768 MB) Windows Server or Linux – $0.02 per hour ($15 per month IYLIOAM) • Small (1 core, 1.75 GB) Windows Server VM: – $0.09 per hour ($67 per month IYLIOAM) • Large (4 cores, 7 GB) Windows Server VM with SQL Server: – $0.405 per hour ($301 per month IYLIOAM) – Licensing is baked into the rental charge • A7 (8 cores, 56 GB) running Oracle Database EE on Linux – $13.92 per hour (~$10,300 per month IYLIOAM)  This is non-discounted pricing for “regular” accounts (max price)
  • 33. Costs are not fixed ��� Free Trials are available – Azure Free Trial: http://aka.ms/IaaS • Some services have a free tier – e.g., Web Sites • Discounts available: – Long-term Pricing (Azure) – Spot Pricing (Amazon Web Services) • Enterprise Agreement discounts for Azure • MSDN has 25-40% discounts for Test-Dev for Azure – http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefitsdetails/ – http://www.windowsazure.com/en-us/offers/ms-azr-0060p
  • 34. Maximizing value from public cloud platforms • Turn off or delete unused resources • Leverage very aggressive pricing for nonproduction workloads • Enhance Test Team agility & productivity through services and environments running in the public cloud
  • 35. The term “cloud” is nebulous… Public cloud platforms are global (and getting “globalier”)
  • 36. Windows Azure Data Center Regions http://azuremap.blob.core.windows.net/apps/bingmap-geojson-display.html http://blog.codingoutloud.com/2014/02/01/mapping-windows-azure-4-years-after-full-general-availability/
  • 37. Up to this point, tips can apply equally to testing cloud and noncloud applications
  • 38. The term “cloud” is nebulous… Considerations for cloud-native applications
  • 39. Thing 7 – a Cloud-Native App is different There are new challenges! • Leaning on someone else’s services ecosystem • Failure is more likely – Multitenancy and Commodity Hardware Primer – Node Failure Pattern, Busy Signal Pattern • Geography Considerations – Network Latency Primer – Where are mobile users? Where is data? • Scaling Models & Challenges – – – – – Horizontal Scaling Pattern Database Sharding Pattern Queue-Centric Workflow Pattern How to find & test THE broken one Logfile gathering & analysis
  • 40. The term “cloud” is nebulous… ADVANCED TOPICS (will not be covered) • • • • • • Creating custom VM templates Managing VM templates as a team (across accounts) Advanced Automation Scripting Continuous Deployment Cross-region Considerations … and many many more …
  • 42. How to Contact Bill Looking for … • Expert consulting help with Windows Azure Platform? • Someone to bounce Azure or cloud questions off? • A trainer or speaker for your user group or company technology event? Find slide deck here Bill Wilder @codingoutloud http://blog.codingoutloud.com community inquiries: codingoutloud@gmail.com business inquiries: billw@devpartners.com user group: www.bostonazure.org
  • 44. Thank You! Bill Wilder Principal Consultant Development Partners Software Jan Princen Managing Director XBOSoft Jan.princen@xbosoft.com