Upload
colleenfry
View
271
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
INSIDE THE DEVELOPMENT TEAM
DELIVERING NEW FEATURES TO OVER 30,000 CUSTOMERS DAILY
RYAN THOMASDEVELOPMENT TEAM LEAD
DEVELOPER ACCELERATION GROUP, [email protected]
AGENDA
Atlassian OnDemand
Mechanics of Deploying
Releasing with Confidence
The Feedback Loop
Atlassian OnDemand takes our award-winning software for development &
collaboration into the cloud, and makes getting started easier than ever.“ “
35,535
UNICORN
INFRASTRUCTURE
OPERATIONS
SOFTWARE
• Atlassian owned hardware• Purpose built for OnDemand• 3 Datacenters across US & Australia
• Ashburn• Santa Clara• Sydney
• ~57Tb of RAM in our Ashburn DC
INFRASTRUCTURE
• Dedicated Operations team around the globe• Australia• US• Europe
• 24x7 Monitoring and support of the platform and applications
• 99.972% availability over the last 31 days
OPERATIONS
• Traditionally self-hosted applications• We are SaaS’ing them into a true SaaS
solution• Shared services• Multi-tenanted applications
• The same JIRA, Confluence & Bamboo that you have already used• But with more frequent features delivered!
SOFTWARE
RELEASING WITH CONFIDENCE
What is a release process?????
??
?
UNIT
INTEGRATION
ACCEPTANCERELEASE
350COMMITS A WEEK
TO MASTER
TESTING
REVIEW
AUTOMATION
• Keep master releasable• Automatically build on feature branches• We do acceptance testing of:
• The change against current Production versions
• The change against current Development versions
TESTING
• Every. Single. Change. Is reviewed• Code review is part of our definition of done• Peer review by team / relevant people• QA comes in once we have reviewed our
own changes• All stories have QA demos• All stories have QA testing notes
REVIEW
• We are in the process of automating our
release process end-to-end• This removes the risk of human error• Allows us to move quicker, with a higher
confidence
AUTOMATION
#summit13
Release early. Release often. And listen to your customers.“
“- Eric Raymond
MECHANICS OF DEPLOYING
Development
Dogfooding
Production
Smoke Tests
Smoke Tests
Development
Dogfooding
Production
• Contains all of the releases that go to OnDemand
• Developers instances can opt-in to receiving updates of new plugins & products
• Most likely to encounter bugs here
Dogfooding
Development
Production
• We “Eat our own dogfood”• Contains business-critical systems we
use every day• All instances updated
• New plugins when available• Products updates every night
• A sub-set of releases in the DEV environment
• Bugs should be found before here :)
Dogfooding
Development
Production
• What our customers use every day• A sub-set of releases in the DOG
environment• Less likely to encounter bugs here
Production
Dogfooding
Development
#summit13
The environments you deliver to should continually be refining their output. The aim is to deliver high quality software.“
“
POWER
POWER
• Large increase is ~ 600W of power usage - per rack
• We have 37 racks in our Ashburn DC
• This is ~ 22.2kW of power for a standard US & EMEA upgrade
POWER
Enough to power my MacBook Air for 29.3 weeks straight
More than 6 months!
THE FEEDBACK LOOP
POST DEPLOYMENT VERIFICATION
• Ensuring what we’ve deployed is actually working
• Allows quick pickup of defects in production
• We use the atlassian-healthcheck plugin for this
INFRASTRUCTURE ANALYTICS
• A deeper level of feedback for our operations and infrastructure teams
• Check CPU time, IO, JVM statistics, power usage
• Helps us diagnose platform related usage and problems
PRODUCT ANALYTICS
• Statistics of new feature discovery and usage
• Consumed by product and plugin teams, and their product managers
• Helps us experiment and A/B test new features in production
BUG REPORTS & SUPPORT CASES
• The last resort - we want to minimize this kind of feedback
• If an issue slips through to production, and is not picked up by our automated checking it will generally result in a support case
• These four types of feedback are all critical in pushing information back to the developers and PMs
• Closes the delivery loop• An awesome delivery pipeline
is next to useless if you can’t see what’s going on
#summit13
There are many types of feedback, these four work for Atlassian. You’ll need to find out what works for your team and processes - remember: having feedback is crucial to continual improvement.“
“
#summit13
There are many types of feedback, these four work for Atlassian. You’ll need to find out what works for your team and processes - remember: having feedback is crucial to continual improvement.
“ “The environments you deliver to should continually be refining their output. The aim is to deliver high quality software.
Release early. Release often. And listen to your customers.
TYING IT ALL TOGETHER
35,535Enables us to deliver new features to
customers every day, with confidence
Thank you!
RY A N TH O M A S • DE V E L O P M E N T TE A M LE A D • AT L A S S I A N
@R Y A N_A T L A S S I A N • R T H O M A S@A T L A S S I A N .C O M
Text code below to 22333or visit http://bit.ly/19dYF9v
Delivering New Features to Over 30,000 Customers - Daily
To join this session, send text 136888 to
AWESOME = 28
PRETTY GOOD = 27
NOT BAD = 26
MEH = 25
Rate this Talk