DELIVERING NEW FEATURES TO OVER
30,000 CUSTOMERS DAILY
INSIDE THE DEVELOPMENT TEAM

RYAN THOMAS
DEVELOPMENT TEAM LEAD
DEVE...
AGENDA
!

Atlassian OnDemand

!

Releasing with Confidence

!

Mechanics of Deploying

!

The Feedback Loop
“

“

Atlassian OnDemand takes our awardwinning software for development &
collaboration into the cloud, and makes
getting...
35,535
UNICORN
OPERATIONS

INFRASTRUCTURE

SOFTWARE
INFRASTRUCTURE
•
•
•

•

Atlassian owned hardware
Purpose built for OnDemand
3 Datacenters across US & Australia
• Ashburn...
OPERATIONS
•

•
•

Dedicated Operations team around the globe
• Australia
• US
• Europe
24x7 Monitoring and support of the...
SOFTWARE
•
•

•

Traditionally self-hosted applications
We are SaaS’ing them into a true SaaS
solution
• Shared services
•...
RELEASING WITH CONFIDENCE
?

?

?
?

?

What is a release process?

?

?
UNIT
INTEGRATION
ACCEPTANCE
RELEASE
350
COMMITS A WEEK
TO MASTER
TESTING
REVIEW

! AUTOMATION
TESTING
•
•
•

Keep master releasable
Automatically build on feature branches
We do acceptance testing of:
• The change ag...
REVIEW
• Every. Single. Change. Is reviewed
• Code review is part of our definition of done
• Peer review by team / releva...
AUTOMATION

!

• We are in the process of automating our
•
•

release process end-to-end
This removes the risk of human er...
#summit13

- Eric
Raymond

“

“

Release early. Release often. And listen to
your customers.
MECHANICS OF DEPLOYING

!
Development

Smoke Tests

Dogfooding

Smoke Tests

Production
• Contains all of the releases that go to
Development

•
•

Dogfooding
Production

OnDemand
Developers instances can opt-i...
Development

• We “Eat our own dogfood”
• Contains business-critical systems we
•
Dogfooding

•
•
Production

use every da...
Development
Dogfooding

Production

• What our customers use every day
• A sub-set of releases in the DOG
•

environment
L...
Development
Dogfooding
Production
#summit13

“

“

The environments you deliver to should
continually be refining their output. The aim is
to deliver high qu...
POWER
POWER
• Large increase is ~ 600W of
•
•

power usage - per rack
We have 37 racks in our
Ashburn DC
This is ~ 22.2kW of pow...
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
pro...
INFRASTRUCTURE ANALYTICS
• A deeper level of feedback for our
•
•

operations and infrastructure teams
Check CPU time, IO,...
PRODUCT ANALYTICS
• Statistics of new feature discovery and
•
•

usage
Consumed by product and plugin teams,
and their pro...
BUG REPORTS & SUPPORT CASES
• The last resort - we want to minimize this
•

kind of feedback
If an issue slips through to ...
• These four types of feedback

•
•

are all critical in pushing
information back to the
developers and PMs
Closes the del...
#summit13

“

“

There are many types of feedback, these four
work for Atlassian. You’ll need to find out
what works for yo...
The environments you deliver to should
continually be refining their output. The aim is
to deliver high quality software.
T...
TYING IT ALL TOGETHER
Enables us to deliver new features to

35,535
customers every day, with confidence
Thank you!
RYAN THOMAS

•

DEVELOPMENT TEAM LEAD

@RYAN_ATLASSIAN •

•

ATLASSIAN

RTHOMAS@ATLASSIAN.COM
Rate this Talk
Delivering New Features to Over 30,000 Customers - Daily
Text code below to 22333
or visit http://bit.ly/19...
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Delivering New Features to Over 30,000 Customers — Daily
Upcoming SlideShare
Loading in …5
×

Delivering New Features to Over 30,000 Customers — Daily

457 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
457
On SlideShare
0
From Embeds
0
Number of Embeds
228
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Delivering New Features to Over 30,000 Customers — Daily

  1. 1. DELIVERING NEW FEATURES TO OVER 30,000 CUSTOMERS DAILY INSIDE THE DEVELOPMENT TEAM RYAN THOMAS DEVELOPMENT TEAM LEAD DEVELOPER ACCELERATION GROUP, ATLASSIAN rthomas@atlassian.com
  2. 2. AGENDA ! Atlassian OnDemand ! Releasing with Confidence ! Mechanics of Deploying ! The Feedback Loop
  3. 3. “ “ Atlassian OnDemand takes our awardwinning software for development & collaboration into the cloud, and makes getting started easier than ever.
  4. 4. 35,535
  5. 5. UNICORN
  6. 6. OPERATIONS INFRASTRUCTURE SOFTWARE
  7. 7. INFRASTRUCTURE • • • • Atlassian owned hardware Purpose built for OnDemand 3 Datacenters across US & Australia • Ashburn • Santa Clara • Sydney ~57Tb of RAM in our Ashburn DC
  8. 8. OPERATIONS • • • 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
  9. 9. SOFTWARE • • • 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!
  10. 10. RELEASING WITH CONFIDENCE
  11. 11. ? ? ? ? ? What is a release process? ? ?
  12. 12. UNIT INTEGRATION ACCEPTANCE RELEASE
  13. 13. 350 COMMITS A WEEK TO MASTER
  14. 14. TESTING REVIEW ! AUTOMATION
  15. 15. TESTING • • • 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 !
  16. 16. REVIEW • 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 !
  17. 17. AUTOMATION ! • 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
  18. 18. #summit13 - Eric Raymond “ “ Release early. Release often. And listen to your customers.
  19. 19. MECHANICS OF DEPLOYING !
  20. 20. Development Smoke Tests Dogfooding Smoke Tests Production
  21. 21. • Contains all of the releases that go to Development • • Dogfooding Production OnDemand Developers instances can opt-in to receiving updates of new plugins & products Most likely to encounter bugs here
  22. 22. Development • We “Eat our own dogfood” • Contains business-critical systems we • Dogfooding • • Production 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 :)
  23. 23. Development Dogfooding Production • What our customers use every day • A sub-set of releases in the DOG • environment Less likely to encounter bugs here
  24. 24. Development Dogfooding Production
  25. 25. #summit13 “ “ The environments you deliver to should continually be refining their output. The aim is to deliver high quality software.
  26. 26. POWER
  27. 27. 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
  28. 28. POWER Enough to power my MacBook Air for 29.3 weeks straight More than 6 months!
  29. 29. THE FEEDBACK LOOP
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. • 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
  35. 35. #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.
  36. 36. The environments you deliver to should continually be refining their output. The aim is to deliver high quality software. 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 “ “ Release early. Release often. And listen to your customers.
  37. 37. TYING IT ALL TOGETHER
  38. 38. Enables us to deliver new features to 35,535 customers every day, with confidence
  39. 39. Thank you! RYAN THOMAS • DEVELOPMENT TEAM LEAD @RYAN_ATLASSIAN • • ATLASSIAN RTHOMAS@ATLASSIAN.COM
  40. 40. Rate this Talk Delivering New Features to Over 30,000 Customers - Daily Text code below to 22333 or visit http://bit.ly/19dYF9v MEH = 25 NO T BA D = 26 P R ET T Y GO O D = 27 A WES O ME = 28 To join this session, send text 136888 to

×