Download - AWS User Group Sydney - Atlassian 5-10-16
![Page 1: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/1.jpg)
Micros Atlassian’s Internal PaaS on AWS
JASON UMIKER • @JASONUMIKER
![Page 2: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/2.jpg)
PaaS Overview
•‿• > <
![Page 3: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/3.jpg)
PaaS Overview
CloudFormation RDS S3 DynamoDB
EC2
![Page 4: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/4.jpg)
Over
services running right now
500
![Page 5: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/5.jpg)
• Big cool statistic
• 2,569 • Add-Ons in Marketplace
Todo: better image
Why do we need a Platform?
![Page 6: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/6.jpg)
Data Centre
JIRA & Confluence Cloud Architecture
R a c k
Cloud instance in OpenVZ container
(approx. 1500 per rack)
![Page 7: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/7.jpg)
Breaking up the Monoliths
* *
Data Centre
R a c k
BlobStore service
PaaS
![Page 8: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/8.jpg)
Breaking up the Monoliths
> <
Data Centre
R a c k
PaaS
_ _ - - /oo\
o o
. .
![Page 9: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/9.jpg)
Todo: better image
What does the platform do?
![Page 10: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/10.jpg)
+ SD { }Artifact Descriptor
Deploying a Service
![Page 11: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/11.jpg)
Deploying a Service name: Micros Workshop
description: A sample app
links:
binary:
type: npm
artifactId: '@atlassian/micros-workshop'
version: 0.0.1
healthcheck:
uri: /healthcheck
source:
url: 'ssh://[email protected]/x.git'
owners:
organization: Cloud Platform Engineering
![Page 12: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/12.jpg)
+ SD { }Artifact Descriptor
https://<service>.atlassian.io
Deploying a Service
Compute: CloudFormation stack with: • Route 53 DNS record • Elastic Load Balancer • EC2 instances in Autoscaling group
Resources: • S3, RDS, DynamoDB • Redis, Memcached, SQS…
![Page 13: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/13.jpg)
Logging & Monitoring
AWS CloudWatch
https://<service>.atlassian.io
![Page 14: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/14.jpg)
. .
cloudymccloudface.atlassian.io
> micros service:deploy
my-service
-f service-descriptor.yml
Deploying a Service
![Page 15: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/15.jpg)
• Big cool statistic
• 2,569 • Add-Ons in Marketplace
Lessons learned: Balancing consistency & flexibility
![Page 16: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/16.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
![Page 17: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/17.jpg)
Structured Log Data
![Page 18: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/18.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
![Page 19: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/19.jpg)
https://<service>.atlassian.io
Common Upgrade flow
v1 v2
![Page 20: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/20.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
Enforce: Limited set of persistent data stores
![Page 21: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/21.jpg)
![Page 22: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/22.jpg)
![Page 23: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/23.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
Enforce: Limited set of persistent data stores
Encourage: Resource isolation
![Page 24: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/24.jpg)
Resource Isolation ServiceB.atlassian.io
Datastores
ServiceA.atlassian.io
Datastores
![Page 25: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/25.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
Enforce: Limited set of persistent data stores
Enforce: Common service metadata & cost allocation
Encourage: Resource isolation
![Page 26: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/26.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
Enforce: Limited set of persistent data stores
Enforce: Restricted ssh access
Enforce: Common service metadata & cost allocation
Encourage: Resource isolation
![Page 27: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/27.jpg)
Where to favor rules & consistency?
Enforce: Common logging & monitoring infra
Encourage: Structured log data
Enforce: Standard upgrade flow
Enforce: Limited set of persistent data stores
Enforce: Statelessness & disposable compute nodes
Enforce: Restricted ssh access
Encourage: Resource isolation
Enforce: Common service metadata & cost allocation
![Page 28: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/28.jpg)
12 Factor (not pets)
Nodes as cattle (not pets)
![Page 29: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/29.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
![Page 30: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/30.jpg)
Services by
Runtime
Docker
55% JVM 25%
Node.js 15%
Python 5%
![Page 31: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/31.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
Enable: Integration with 3rd party services
![Page 32: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/32.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
Adapt to underlying platform limitations
Enable: Integration with 3rd party services
![Page 33: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/33.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
Adapt: Education & on-boarding
Adapt to underlying platform limitations
Enable: Integration with 3rd party services
![Page 34: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/34.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
Adapt: Education & on-boarding
Adapt to underlying platform limitations
Enable: Integration with 3rd party services
Open the platform for contributions
![Page 35: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/35.jpg)
Contributions &
Self-hosted PaaS
components
Bootstrapping Service
Deployment orchestration
service
Chaos Monkey
Log Analysis Service
PaaS
PaaS
PaaS
PaaS
PaaS
Simple Workflow integration
Service cost estimation
Data Pipelines Integration
Service-to-service auth
…
![Page 36: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/36.jpg)
Where to bend the rules / favor flexibility?
Enable: Service-level technology stack flexibility
Adapt to underlying platform limitations
Enable: Integration with 3rd party services
Adapt: roadmap to inbound requests & technology trends
Open the platform for contributions
Adapt: Education & on-boarding
![Page 37: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/37.jpg)
Organisation wide: Disaster Recovery
Compliance
Infra improvements: Container Clusters
Serverless
![Page 38: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/38.jpg)
Promises of Service Decomposition
Choice of tech stacks
Scalability Independent deployments
Resilience End-to-end ownership
Your platform should enable them – with heart and balance.
PaaS
![Page 39: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/39.jpg)
Healthy PaaS —> Happy Microservices!
Balance consistency with flexibility
Encourage / enforce “12 factor” & “nodes as
cattle”
Keep the barrier to entry low
Tips for a healthy, balanced PaaS & a happy microservice ecosystem.
![Page 40: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/40.jpg)
Questions?
![Page 41: AWS User Group Sydney - Atlassian 5-10-16](https://reader034.vdocuments.us/reader034/viewer/2022042906/58a27c211a28ab891a8b48c1/html5/thumbnails/41.jpg)
Reuters. Chickens perch on the roof of a hennery to escape rising floodwaters after Typhoon Utor hit Maoming, Guangzhou province August 15, 2013. Typhoon Utor hit China's southern Guangdong and Guangxi provinces before easing to a tropical storm.
Image Credits
https://design.atlassian.com/
Courtesy of Scott Monday: - https://au.pinterest.com/pin/146085581635905884/ - http://scottmonday.com/
Copyright: velvetocean / 123RF Stock Photo – http://www.123rf.com/profile_velvetocean
Copyright: feedough / 123RF Stock Photo – http://www.123rf.com/profile_feedough'
Copyright: iimages / 123RF Stock Photo – http://www.123rf.com/iimages_feedough