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
- 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
- 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…
- 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…
- 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
- 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
- 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
- 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