SlideShare a Scribd company logo
Mesos @ Atlassian 
MesosCon14 
Ryan Thomas 
Development Team Lead
Overview 
• Why? 
• Design Considerations 
• Service Design 
• Platform Design 
• Current Status / Challenges
Why? 
• Atlassian applications are traditionally single-tenanted 
monolithic Java applications 
• Decompose shared services out of the applications 
• Facilitate quick service development cycles 
• Utilise current delivery pipeline
Design Considerations 
• This must run in AWS 
• Inside of a VPC (with no public routes) 
• Single logical point of external ingress through Riverbed 
Stingrays 
• Single logical point of external egress through squid 
proxies 
• Accessible from our data centres over ADCs 
• Service SOE must be decoupled from service itself
Service Design 
• Container based service SOE 
• Services are packaged as “slugs” 
• Services must be stateless 
• No guarantee consecutive requests go to the same 
service node 
• Services declaratively described in a Service 
Descriptor
Platform Design
Platform Design
Platform Design
Platform Design
Mesos @ Atlassian - MesosCon14
Platform Iteration 1 
• Container Manager: Mesos + Marathon + mesos-docker- 
executor 
• Service Locator: Netflix Eureka! 
• Service Manager, Slug Builder, Load Balancer 
Manager: All In House
Platform Iteration 1 
• All platform services in Docker containers 
• Worked fine in development on a single machine 
• Doesn’t work in reality due to MESOS-809 
• Services require Eureka-client for registration / 
heartbeat
Platform Iteration 2 
• Platform services provisioned on “bare metal” 
• Service Locator: Marathon 
• Generally worked well 
• Edge would health check its pool members and 
keep ones starting from serving traffic 
• Service upgrades required a service interruption
Platform Iteration 3 
• Container Manager: Mesos + Aurora 
• Service Locator: Aurora 
• Aurora provides a lot of the functionality we were planning on building into 
our Service Manager 
• Seamless, rolling upgrades 
• Service health checks 
• Notifications / service ownership / quotas 
• Aurora setup & deployment was a little more involved than Marathon 
• Load Balancer Manager & Service Manager need to talk Thrift to Aurora
Current Status / Challenges 
• Not serving production traffic yet 
• How do we handle multiple regions with region-agnostic 
services & clients? 
• Our applications are not historically stateless, how 
can we run them on Mesos? 
• Service testing - spin up the world vs. testing 
against APIs vs. just do it live
Mesos Hackathon! 
Team forming / announcements ! 
@ 5:40pm (here)! 
! 
Starts 9am in the Ontario Room tomorrow 
HipChat Room 
bit.ly/1q36ScB

More Related Content

PPT
Rails engines
PPTX
ESB Online Training Part 2
PPTX
Mean machine
PDF
Esb buyers guide_final
PDF
Top 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
PPTX
Practical Application of API-First in microservices development
PPTX
Microservices: next-steps
Rails engines
ESB Online Training Part 2
Mean machine
Esb buyers guide_final
Top 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
Practical Application of API-First in microservices development
Microservices: next-steps

What's hot (19)

PDF
Dell and KEMP - Partnering for scale
PDF
WSO2 Application Server
PPTX
Mule CMIS connector
PDF
How to deliver secure,highly available Microsoft applications
PPTX
Scaling micro-services Architecture on AWS
PPT
WSO2-ESB - The backbone of Enterprise Integration
PPTX
Mulesoft meetup 29.06
PDF
Scaling SharePoint 2016 Farms with MinRole & Other Tools
PPT
Oracle SOA Suite for High availability Enterprises
PPTX
Api gateway : To be or not to be
PPTX
Architecture Sustaining LINE Sticker services
PPTX
Hyderbad meetup 19th jan
PPTX
How to Structure Your Xamarin Solution by Adhering to Common .NET Practices -...
PDF
Introduction To Spring Enterprise Integration - SpringPeople
PDF
Introduction to WSO2 ESB
PPTX
Scaling from 1 to 10 million users - Hailo
PPTX
Mule components
PDF
Managing Kubernetes cluster using BOSH - Devops Days India 2017
PPTX
Magento Developer Talk. Microservice Architecture and Actor Model
Dell and KEMP - Partnering for scale
WSO2 Application Server
Mule CMIS connector
How to deliver secure,highly available Microsoft applications
Scaling micro-services Architecture on AWS
WSO2-ESB - The backbone of Enterprise Integration
Mulesoft meetup 29.06
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Oracle SOA Suite for High availability Enterprises
Api gateway : To be or not to be
Architecture Sustaining LINE Sticker services
Hyderbad meetup 19th jan
How to Structure Your Xamarin Solution by Adhering to Common .NET Practices -...
Introduction To Spring Enterprise Integration - SpringPeople
Introduction to WSO2 ESB
Scaling from 1 to 10 million users - Hailo
Mule components
Managing Kubernetes cluster using BOSH - Devops Days India 2017
Magento Developer Talk. Microservice Architecture and Actor Model
Ad

Similar to Mesos @ Atlassian - MesosCon14 (20)

PPTX
Introduction to Microservices
PPTX
NetflixOSS for Triangle Devops Oct 2013
PPTX
Microservices and Best Practices
PDF
Cloud-native Data: Every Microservice Needs a Cache
PDF
Deploying Kafka on DC/OS
PPTX
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
PPTX
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
PPTX
Microservices, Spring Cloud & Cloud Foundry
PPTX
Microservices on - Monolithic Application
PPTX
Tom van gaever-sp_serviceapplications_spsbe17
PPTX
Netflix0SS Services on Docker
PPTX
Ibm cloud nativenetflixossfinal
PPTX
Building a PaaS with Docker and AWS
PPTX
iMobileMagic Teck Talk Scale Up
PDF
Stay productive_while_slicing_up_the_monolith
PPTX
Service Architectures at Scale
PDF
Rami Sayar - Node microservices with Docker
PDF
Cloud-native Data
PDF
Cloud-Native-Data with Cornelia Davis
PDF
Ekon20 mORMot SOA Delphi Conference
Introduction to Microservices
NetflixOSS for Triangle Devops Oct 2013
Microservices and Best Practices
Cloud-native Data: Every Microservice Needs a Cache
Deploying Kafka on DC/OS
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Microservices, Spring Cloud & Cloud Foundry
Microservices on - Monolithic Application
Tom van gaever-sp_serviceapplications_spsbe17
Netflix0SS Services on Docker
Ibm cloud nativenetflixossfinal
Building a PaaS with Docker and AWS
iMobileMagic Teck Talk Scale Up
Stay productive_while_slicing_up_the_monolith
Service Architectures at Scale
Rami Sayar - Node microservices with Docker
Cloud-native Data
Cloud-Native-Data with Cornelia Davis
Ekon20 mORMot SOA Delphi Conference
Ad

Recently uploaded (20)

PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Sustainable Sites - Green Building Construction
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
web development for engineering and engineering
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
DOCX
573137875-Attendance-Management-System-original
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CH1 Production IntroductoryConcepts.pptx
PPT
Project quality management in manufacturing
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Sustainable Sites - Green Building Construction
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Operating System & Kernel Study Guide-1 - converted.pdf
web development for engineering and engineering
OOP with Java - Java Introduction (Basics)
Foundation to blockchain - A guide to Blockchain Tech
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
UNIT 4 Total Quality Management .pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
573137875-Attendance-Management-System-original
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CYBER-CRIMES AND SECURITY A guide to understanding
additive manufacturing of ss316l using mig welding
CH1 Production IntroductoryConcepts.pptx
Project quality management in manufacturing
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx

Mesos @ Atlassian - MesosCon14

  • 1. Mesos @ Atlassian MesosCon14 Ryan Thomas Development Team Lead
  • 2. Overview • Why? • Design Considerations • Service Design • Platform Design • Current Status / Challenges
  • 3. Why? • Atlassian applications are traditionally single-tenanted monolithic Java applications • Decompose shared services out of the applications • Facilitate quick service development cycles • Utilise current delivery pipeline
  • 4. Design Considerations • This must run in AWS • Inside of a VPC (with no public routes) • Single logical point of external ingress through Riverbed Stingrays • Single logical point of external egress through squid proxies • Accessible from our data centres over ADCs • Service SOE must be decoupled from service itself
  • 5. Service Design • Container based service SOE • Services are packaged as “slugs” • Services must be stateless • No guarantee consecutive requests go to the same service node • Services declaratively described in a Service Descriptor
  • 11. Platform Iteration 1 • Container Manager: Mesos + Marathon + mesos-docker- executor • Service Locator: Netflix Eureka! • Service Manager, Slug Builder, Load Balancer Manager: All In House
  • 12. Platform Iteration 1 • All platform services in Docker containers • Worked fine in development on a single machine • Doesn’t work in reality due to MESOS-809 • Services require Eureka-client for registration / heartbeat
  • 13. Platform Iteration 2 • Platform services provisioned on “bare metal” • Service Locator: Marathon • Generally worked well • Edge would health check its pool members and keep ones starting from serving traffic • Service upgrades required a service interruption
  • 14. Platform Iteration 3 • Container Manager: Mesos + Aurora • Service Locator: Aurora • Aurora provides a lot of the functionality we were planning on building into our Service Manager • Seamless, rolling upgrades • Service health checks • Notifications / service ownership / quotas • Aurora setup & deployment was a little more involved than Marathon • Load Balancer Manager & Service Manager need to talk Thrift to Aurora
  • 15. Current Status / Challenges • Not serving production traffic yet • How do we handle multiple regions with region-agnostic services & clients? • Our applications are not historically stateless, how can we run them on Mesos? • Service testing - spin up the world vs. testing against APIs vs. just do it live
  • 16. Mesos Hackathon! Team forming / announcements ! @ 5:40pm (here)! ! Starts 9am in the Ontario Room tomorrow HipChat Room bit.ly/1q36ScB