SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
From Atlassian cloud to Tempo cloud… and migrate 9,000 customers
BJÖRN GUÐMUNDSSON | TEAM LEAD | TEMPO | @TEMPOHQ
Tempo’s Journey to the Cloud
A little over a year ago, we began
our biggest project yet - to create
a new version of Tempo cloud for
JIRA specifically
To unbundle the
Tempo suite from
existing codebase
and rewrite the UI
Agenda
About Tempo
The Project
A Shift in Culture
Lessons Learned
Tempo facts
Partners
Over 120 Atlassian expert partners
worldwide
Tempo team
Over 90 employees from 10
nationalities
Global company
With offices in Reykjavík, IS,
Montréal, CA, and San Fransisco, US
Customers
Over 10,000 customers in over 115
countries
TEMPO’S TIMELINE
Tempo 1.0
released internally
Tempo is launched on the
international marketplace
Tempo is one of the first
vendors available on the
Atlassian Marketplace
Tempo Planner 1.0 is
released
2007 2009 2012 2014 2015
Tempo and Folio join forces
(rebranded Tempo Budgets)
Tempo cloud
Present
In fact, this project started 3
years ago when we formed
“The Infrastructure Team”
HUMBLE BEGINNINGS
FIRST TASK
Find ways to
move our onsite
server products
to “The cloud”
Atlassian Connect
Atlassian introduced a new cloud
technology, which allows for more
customization and full control over
production and deployment.
SECOND TASK
Between old and
new framework,
Tempo Planner
was next
A trip to Gdansk
The Project
Migrate out of Atlassian’s JIRA cloud into our own cloud
Migration
Migrate customers over to the new Tempo
cloud
What
needed to
be done?
Infrastructure and Tooling
Design an infrastructure capable of hosting the
Tempo product suite and the necessary tools to
manage it.
Unbundling
Move our technology out of a tightly coupled
design into a more portable and scalable
architecture.
Keep calm and carry on
Migration
Migrate customers over to the new Tempo
cloud
What
needed to
be done?
Infrastructure and Tooling
Design an infrastructure capable of hosting the
Tempo product suite and the necessary tools to
manage it.
Unbundling
Move our technology out of a tightly coupled
design into a more portable and scalable
architecture.
INFRASTRUCTURE
Decide a home
for Tempo in the
cloud
Buzzword Bingo
AWS
All the cool kids were on
AWS
Docker
Building block abstraction
Microservices
Scalability, flexibility and low
impact on other services
PRODUCTION ENVIRONMENT
PRODUCTION ENVIRONMENT
Tools
Monitoring
ELK, DataDog, PagerDuty and dare I
say it… Slack
Tools as API
All tools are written as APIs until we
can automate “all the things”
tempoc
Allowed for running a simulated
cloud environment on a developer’s
local computer.
K8s + RealEase
Allowed creating new releases,
visualising for change management,
running tests and deploying to
clusters
What
needed to
be done?
Infrastructure and Tooling
Design an infrastructure capable of hosting the
Tempo product suite and the necessary tools to
manage it.
Unbundling
Move our technology out of a tightly coupled
design into a more portable and scalable
architecture.
Migration
Migrate customers over to the new Tempo
cloud
What is Unbundling?
Data should be accessible
in the cloud
We stored a lot of data in JIRA
property table and had to move a lot
of it to other more accessible
locations
REST API
Due to heavy use of WebWorks views
a lot of information wasn’t accessible
via APIs
Pick a feature
Based on usage statistics and other
metrics
Build and introduce
abstractions
Abstract all and any contact points
with JIRA APIs or JIRA provided
information
Technologies of interest
ActiveObjects
We were able to reuse the entire DAL
with minor tweaks, but with some
technical debt
ReactJS
More modern approaches to building
a UI
WebWorks & velocity
templates
Quickly thrown out and replaced by a
Django based microservice
Jersey & Spring
Were facilitators in reuse strategy
TEMPO P2 ARCHITECTURE
CLOUD ARCHITECTURE (SIMPLIFIED)
What
needed to
be done?
Infrastructure and Tooling
Design an infrastructure capable of hosting the
Tempo product suite and the necessary tools to
manage it.
Unbundling
Move our technology out of a tightly coupled
design into a more portable and scalable
architecture.
Migration
Migrate customers over to the new Tempo
cloud
UX
Feature parity where
possible, equivalent and
intuitive UX where not
Performance
Sharding, DB performance
tuning and tenant
management
Migration highlights
Collaboration
with Atlassian
Infrastructure developed
just to facilitate migration of
customers
Custom fields
CustomField to JIRA
IssueFields
JQL
JQL functions and
filters
Gadgets
Gadgets to
Dashboard Items
Permissions
Simplify and
delegate
responsibility to JIRA
JIRA modules
TEMPO REST API
Support third
party vendors in
the cloud
A shift in culture
Changing how we do things
Getting people
to work together
Things moved fast in the
cloud world, it’s hard to
appease everyone
Becoming a SaaS provider
DevOps &
production
teams
Going from delivering
artifacts to running our
own platform with 24/7
realtime monitoring
Redefining all of
our software
processes
QA, branching strategies and
continuous deployments
QA
Short feedback cycles vs
moving targets
Automation
Stable master, branching,
releasing, promotion
Testing
Unit, system, integration, UI
Continuous deployment preconditions
GIT FLOW WITH A TWIST?
Lessons learned
Lessons learned
Goal setting
Long term goal setting, short term
planning
Sleep is overrated?
Expectation management and
resource management are a tricky
thing
Upfront Design
Research brought us to an
architectural design that was a few
steps beyond our initial needs.
Culture shifts
While technical difficulties are hard,
getting large groups of people to
work together will always be the
most difficult part of software
development.
More lessons learned
Teams
Get a team that works well together.
Don't sacrifice team spirit for more
hands on deck. More people doesn't
mean more progress
Outsider perspective
Perspective from people that are
dealing with similar challenges were
invaluable
Visibility
If you don’t know what’s happening
you don’t know what’s wrong
Scaling is hard
Our choice of Docker containers in
conjunction with Kubernetes and a
lot of tooling gave us scaling and zero
downtime deployments
BJÖRN GUÐMUNDSSON | TEAM LEAD | TEMPO | @TEMPOHQ
Thank you!

Más contenido relacionado

La actualidad más candente

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
 

La actualidad más candente (20)

Building Search for Bitbucket Cloud
Building Search for Bitbucket CloudBuilding Search for Bitbucket Cloud
Building Search for Bitbucket Cloud
 
Creating Your Own Server Add-on that Customizes Confluence or JIRA
Creating Your Own Server Add-on that Customizes Confluence or JIRACreating Your Own Server Add-on that Customizes Confluence or JIRA
Creating Your Own Server Add-on that Customizes Confluence or JIRA
 
4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud
 
An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App Experiences
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real Things
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
What's New in AUI 8 and Why you Should Care!
What's New in AUI 8 and Why you Should Care!What's New in AUI 8 and Why you Should Care!
What's New in AUI 8 and Why you Should Care!
 
Integrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudIntegrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software Cloud
 
What Does Jira Next-Gen Mean for Cloud Apps?
What Does Jira Next-Gen Mean for Cloud Apps?What Does Jira Next-Gen Mean for Cloud Apps?
What Does Jira Next-Gen Mean for Cloud Apps?
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
 
Updates on the Data Center Apps Program
Updates on the Data Center Apps ProgramUpdates on the Data Center Apps Program
Updates on the Data Center Apps Program
 
Connect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions LaterConnect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions Later
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
 
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing FrameworkTechnical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
 
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
From AUI to Atlaskit - Streamlining Development for Server & Cloud AppsFrom AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
 
The User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira AppThe User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira App
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Serverless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppServerless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud App
 

Destacado

Destacado (16)

Securing Your Atlassian Connect Add-on With JWT
Securing Your Atlassian Connect Add-on With JWTSecuring Your Atlassian Connect Add-on With JWT
Securing Your Atlassian Connect Add-on With JWT
 
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Build a JIRA Server Add-on as a Microservice - You Can Do It!Build a JIRA Server Add-on as a Microservice - You Can Do It!
Build a JIRA Server Add-on as a Microservice - You Can Do It!
 
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsTen Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-ons
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
 
Know Thy Product: Tips from a Tester
Know Thy Product: Tips from a TesterKnow Thy Product: Tips from a Tester
Know Thy Product: Tips from a Tester
 
Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...
Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...
Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...
 
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not MonthsBeyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
 
Launch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service DeskLaunch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service Desk
 
Building for the Future: Design Your Add-on with Tomorrow in Mind
Building for the Future: Design Your Add-on with Tomorrow in MindBuilding for the Future: Design Your Add-on with Tomorrow in Mind
Building for the Future: Design Your Add-on with Tomorrow in Mind
 
What's New with Confluence Connect
What's New with Confluence ConnectWhat's New with Confluence Connect
What's New with Confluence Connect
 
12 Ways to Supercharge Your Connect Add-on
12 Ways to Supercharge Your Connect Add-on12 Ways to Supercharge Your Connect Add-on
12 Ways to Supercharge Your Connect Add-on
 
Closing the Deal: How Atlassian Partners Help Grow Your User Base
Closing the Deal: How Atlassian Partners Help Grow Your User BaseClosing the Deal: How Atlassian Partners Help Grow Your User Base
Closing the Deal: How Atlassian Partners Help Grow Your User Base
 
Marketplace Listings: How to Make Yours a Success
Marketplace Listings: How to Make Yours a SuccessMarketplace Listings: How to Make Yours a Success
Marketplace Listings: How to Make Yours a Success
 
How to Make Customer Support Your Product's Greatest Feature
How to Make Customer Support Your Product's Greatest FeatureHow to Make Customer Support Your Product's Greatest Feature
How to Make Customer Support Your Product's Greatest Feature
 
How to Plan and Execute a Go-to-market Campaign for an Atlassian Add-on
How to Plan and Execute a Go-to-market Campaign for an Atlassian Add-onHow to Plan and Execute a Go-to-market Campaign for an Atlassian Add-on
How to Plan and Execute a Go-to-market Campaign for an Atlassian Add-on
 
5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems
 

Similar a Tempo’s Journey Into the Cloud

Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with Datapipe
Amazon Web Services
 
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
ShapeBlue
 
VaST ITES INC. Best DevOps Consulting in Canada.
 VaST ITES INC. Best DevOps Consulting in Canada. VaST ITES INC. Best DevOps Consulting in Canada.
VaST ITES INC. Best DevOps Consulting in Canada.
VaST ITES Inc
 
VaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdfVaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdf
VaST ITES Inc
 
VaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdfVaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdf
VaST ITES Inc
 

Similar a Tempo’s Journey Into the Cloud (20)

Cloud Computing Services
Cloud Computing ServicesCloud Computing Services
Cloud Computing Services
 
DevOps And Cloud Solutions
DevOps And  Cloud SolutionsDevOps And  Cloud Solutions
DevOps And Cloud Solutions
 
Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloud
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN Cloud
 
Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with Datapipe
 
AWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWSAWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWS
 
Comtechrim it infrastructure management company profile deck
Comtechrim it infrastructure management company profile deckComtechrim it infrastructure management company profile deck
Comtechrim it infrastructure management company profile deck
 
AWSome Day, Milan | 5 Marzo 2015 - Opening Keynote (Nicola Previati - Italy T...
AWSome Day, Milan | 5 Marzo 2015 - Opening Keynote (Nicola Previati - Italy T...AWSome Day, Milan | 5 Marzo 2015 - Opening Keynote (Nicola Previati - Italy T...
AWSome Day, Milan | 5 Marzo 2015 - Opening Keynote (Nicola Previati - Italy T...
 
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
Providing Microsoft Azure Functions And Microsoft Dataverse Resources With Cl...
 
DevOps and Cloud Solutions
DevOps and Cloud SolutionsDevOps and Cloud Solutions
DevOps and Cloud Solutions
 
WaveMaker Case Study - Faster, Better & More Agile With Docker
WaveMaker Case Study - Faster, Better & More Agile With DockerWaveMaker Case Study - Faster, Better & More Agile With Docker
WaveMaker Case Study - Faster, Better & More Agile With Docker
 
VaST ITES INC. Best DevOps Consulting in Canada.
 VaST ITES INC. Best DevOps Consulting in Canada. VaST ITES INC. Best DevOps Consulting in Canada.
VaST ITES INC. Best DevOps Consulting in Canada.
 
VaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdfVaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdf
 
VaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdfVaST_ITES_INC_Brochure.pdf
VaST_ITES_INC_Brochure.pdf
 
SAP-Workloads-to-Cloud.pdf
SAP-Workloads-to-Cloud.pdfSAP-Workloads-to-Cloud.pdf
SAP-Workloads-to-Cloud.pdf
 
Cloud in Action
Cloud in Action Cloud in Action
Cloud in Action
 
Azure
AzureAzure
Azure
 
AWS DevOps: Introduction to DevOps on AWS
  AWS DevOps: Introduction to DevOps on AWS  AWS DevOps: Introduction to DevOps on AWS
AWS DevOps: Introduction to DevOps on AWS
 
Google Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZoneGoogle Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZone
 
Top DevOps Service Providers in India.pdf
Top DevOps Service Providers in India.pdfTop DevOps Service Providers in India.pdf
Top DevOps Service Providers in India.pdf
 

Más de Atlassian

Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 

Más de Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 
Shipping With Velocity and Confidence Using Feature Flags
Shipping With Velocity and Confidence Using Feature FlagsShipping With Velocity and Confidence Using Feature Flags
Shipping With Velocity and Confidence Using Feature Flags
 

Último

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Tempo’s Journey Into the Cloud

  • 1. From Atlassian cloud to Tempo cloud… and migrate 9,000 customers BJÖRN GUÐMUNDSSON | TEAM LEAD | TEMPO | @TEMPOHQ Tempo’s Journey to the Cloud
  • 2. A little over a year ago, we began our biggest project yet - to create a new version of Tempo cloud for JIRA specifically To unbundle the Tempo suite from existing codebase and rewrite the UI
  • 3. Agenda About Tempo The Project A Shift in Culture Lessons Learned
  • 4.
  • 5. Tempo facts Partners Over 120 Atlassian expert partners worldwide Tempo team Over 90 employees from 10 nationalities Global company With offices in Reykjavík, IS, Montréal, CA, and San Fransisco, US Customers Over 10,000 customers in over 115 countries
  • 6. TEMPO’S TIMELINE Tempo 1.0 released internally Tempo is launched on the international marketplace Tempo is one of the first vendors available on the Atlassian Marketplace Tempo Planner 1.0 is released 2007 2009 2012 2014 2015 Tempo and Folio join forces (rebranded Tempo Budgets) Tempo cloud Present
  • 7. In fact, this project started 3 years ago when we formed “The Infrastructure Team” HUMBLE BEGINNINGS
  • 8. FIRST TASK Find ways to move our onsite server products to “The cloud”
  • 9. Atlassian Connect Atlassian introduced a new cloud technology, which allows for more customization and full control over production and deployment.
  • 10. SECOND TASK Between old and new framework, Tempo Planner was next
  • 11. A trip to Gdansk
  • 12. The Project Migrate out of Atlassian’s JIRA cloud into our own cloud
  • 13. Migration Migrate customers over to the new Tempo cloud What needed to be done? Infrastructure and Tooling Design an infrastructure capable of hosting the Tempo product suite and the necessary tools to manage it. Unbundling Move our technology out of a tightly coupled design into a more portable and scalable architecture.
  • 14. Keep calm and carry on
  • 15. Migration Migrate customers over to the new Tempo cloud What needed to be done? Infrastructure and Tooling Design an infrastructure capable of hosting the Tempo product suite and the necessary tools to manage it. Unbundling Move our technology out of a tightly coupled design into a more portable and scalable architecture.
  • 16. INFRASTRUCTURE Decide a home for Tempo in the cloud
  • 17. Buzzword Bingo AWS All the cool kids were on AWS Docker Building block abstraction Microservices Scalability, flexibility and low impact on other services
  • 20. Tools Monitoring ELK, DataDog, PagerDuty and dare I say it… Slack Tools as API All tools are written as APIs until we can automate “all the things” tempoc Allowed for running a simulated cloud environment on a developer’s local computer. K8s + RealEase Allowed creating new releases, visualising for change management, running tests and deploying to clusters
  • 21. What needed to be done? Infrastructure and Tooling Design an infrastructure capable of hosting the Tempo product suite and the necessary tools to manage it. Unbundling Move our technology out of a tightly coupled design into a more portable and scalable architecture. Migration Migrate customers over to the new Tempo cloud
  • 22. What is Unbundling? Data should be accessible in the cloud We stored a lot of data in JIRA property table and had to move a lot of it to other more accessible locations REST API Due to heavy use of WebWorks views a lot of information wasn’t accessible via APIs Pick a feature Based on usage statistics and other metrics Build and introduce abstractions Abstract all and any contact points with JIRA APIs or JIRA provided information
  • 23. Technologies of interest ActiveObjects We were able to reuse the entire DAL with minor tweaks, but with some technical debt ReactJS More modern approaches to building a UI WebWorks & velocity templates Quickly thrown out and replaced by a Django based microservice Jersey & Spring Were facilitators in reuse strategy
  • 26. What needed to be done? Infrastructure and Tooling Design an infrastructure capable of hosting the Tempo product suite and the necessary tools to manage it. Unbundling Move our technology out of a tightly coupled design into a more portable and scalable architecture. Migration Migrate customers over to the new Tempo cloud
  • 27. UX Feature parity where possible, equivalent and intuitive UX where not Performance Sharding, DB performance tuning and tenant management Migration highlights Collaboration with Atlassian Infrastructure developed just to facilitate migration of customers
  • 28. Custom fields CustomField to JIRA IssueFields JQL JQL functions and filters Gadgets Gadgets to Dashboard Items Permissions Simplify and delegate responsibility to JIRA JIRA modules
  • 29. TEMPO REST API Support third party vendors in the cloud
  • 30. A shift in culture Changing how we do things
  • 31. Getting people to work together Things moved fast in the cloud world, it’s hard to appease everyone Becoming a SaaS provider DevOps & production teams Going from delivering artifacts to running our own platform with 24/7 realtime monitoring Redefining all of our software processes QA, branching strategies and continuous deployments
  • 32. QA Short feedback cycles vs moving targets Automation Stable master, branching, releasing, promotion Testing Unit, system, integration, UI Continuous deployment preconditions
  • 33. GIT FLOW WITH A TWIST?
  • 35. Lessons learned Goal setting Long term goal setting, short term planning Sleep is overrated? Expectation management and resource management are a tricky thing Upfront Design Research brought us to an architectural design that was a few steps beyond our initial needs. Culture shifts While technical difficulties are hard, getting large groups of people to work together will always be the most difficult part of software development.
  • 36. More lessons learned Teams Get a team that works well together. Don't sacrifice team spirit for more hands on deck. More people doesn't mean more progress Outsider perspective Perspective from people that are dealing with similar challenges were invaluable Visibility If you don’t know what’s happening you don’t know what’s wrong Scaling is hard Our choice of Docker containers in conjunction with Kubernetes and a lot of tooling gave us scaling and zero downtime deployments
  • 37. BJÖRN GUÐMUNDSSON | TEAM LEAD | TEMPO | @TEMPOHQ Thank you!