SlideShare a Scribd company logo
1 of 32
RPaaS DevOps:
Lessons from using
Cloudfoundry in Production
Oct/26/2013
Waldemar Quevedo
PaaS DevOps team. Rakuten, Inc.
About me
• Waldemar Quevedo
• From Mexico

• Joined Rakuten in 2010 as an App developer
• Joined the RPaaS team in 2012 in its earlier stages
• Github: https://github.com/wallyqs

2
WARNING

• No funny pictures in these slides! Sorry!

3
What is RPaaS?

• Internal PaaS at use in Rakuten
• Built on Cloudfoundry
• Started to service production applications since
mid 2012
• Derek Collison, its creator is a technical fellow of
our team

4
Example site: tech.rakuten.co.jp

5
6
Why have an application Platform as a Service?

• Natural evolution of how to develop, release and
maintain applications.
• Improve productivity by automating the
provisioning of resources on demand.
• Scale horizontally (more instances)
• Scale vertically (more cpus, memory, etc..)
• Guarantees high availability

7
Example use case: Scaling

How to go from this,
aaa.bbb.ccc.ddd:80

tech.rakuten.co.jp

to this,

aaa.bbb.ccc.ddd:9393
aaa.bbb.ccc.ddd:9395
aaa.bbb.ccc.ddd:9291
aaa.bbb.ccc.ddd:8888

tech.rakuten.co.jp
tech.rakuten.co.jp
tech.rakuten.co.jp
tech.rakuten.co.jp

• …in a matter of seconds?
8
Increasing instances

9
Increasing instances

10
Benefits from an application PaaS

• Improves agility of the application team

• Application team can focus on the application
not maintaining servers.
• Simplified operations

11
Simplified operations

12
Benefits from an application PaaS

• Enforces automation and better practices for
developers.
• Reduces the amount of workflows required to get
things done.
• Integration with internal environment.
• And many more…

13
Topic of the day: How to adopt an application PaaS

• An application PaaS is all goodness for
developers, since they can stop caring about
servers.
• Instead, they can rely on the RPaaS team!

14
Usual DevOps metaphor: Vampires vs. Werewolves

• Vampires (吸血鬼)
app developers
provide value

• Werewolves (オオカミ人間)
sys admins
protect value

15
Vampires vs. Werewolves

• A PaaS admin is somewhere in the middle.
• We take care of the servers on behalf of users but
in the end we also care about:
• How the user is actually using the runtimes.
• Demand from application runtimes available.
• Support the users when they run into problems
with one of the runtimes.

16
Different metaphor with PaaS:
Villagers and Samurai

• Villagers (村人)
Application team can survive without PaaS but
has lots of issues (-agility, -flexibility, -availability)

• Samurai (侍)
Solves the issues of the application team by
providing a better environment.

17
In order to deliver to users…

• RPaaS team approach:
• “you should know everything”
1. Know your stack

(Cloudfoundry, Nginx, Services)

2. Know your environment (infrastructure, the network…)

3. Know your users

(runtimes: Ruby, Java, support)

4. Know your capacity

(metrics & trends)

18
Know your stack

• We needed to learn the internals of Cloudfoundry
(OpenSource software FTW)

•
•
•
•
•

CloudController
DEA
HealthManager
Router
NATS

19
Cloudfoundry

20
Know your stack

• Specially need to be prepared for failure scenarios:
• How long does it take for the HM to execute the
application failover when a DEA goes down?
• What happens when there is a NATS failure?
• How long does it take for the Router to stop
balancing an application when the app goes
down?

21
Know your environment

• Remember the „Fallacies of distributed
computing‟
http://en.wikipedia.org/wiki/Fallacies_of_Distribut
ed_Computing
• Need to be familiar with your infrastructure, the
network etc…
• Don‟t be afraid of tcpdump
• Share your findings about the environment with
the users
• Each datacenter is a different beast
22
Know your environment

• Again, need to be prepared for trouble scenarios:
• Storage will fail
• Physical hosts will fail
• That VM that you expected to never to restart,
will restart (hint: NATS)

23
Know your users

• Insight: When introducing a PaaS into your
company, you need an extra effort during the
adoption phase.
• „Do things that Don‟t Scale‟:
http://paulgraham.com/ds.html

24
Know your users

• At the time we started Cloudfoundry was
relatively new technology
• Roadmap mismatch: Private PaaS vs Public
PaaS
• Must features for our users were different:
• Logging, monitoring, billing, team based
deployment
• Need highly available services
• These were blockers we need to comply with
so that teams would start adoption of the PaaS

25
Know your capacity

• re: „Auto-scale‟:
• You usually don‟t want to do it
• You do need to automate provisioning of
resources though
• Monitor the trends and provision according to
them:
• DEAs (app resources)
• Disks
• Services (cache, dbs)
• Traffic (increase max qps limit)
26
Managing user expectations

• “Under promise and over deliver”
• Need to make it very clear for users what is
possible and what is just not feasible according
to the current limitations of the system.
• The concept of the cloud is cause of confusion
sometimes
• “it should be elastic”
• “it should auto scale”
• “it should self heal”

27
Managing user expectations

• “The RPaaS team will fix it for us”
• It helps becoming familiar with popular libraries
for different runtimes to give good advice to the
users on how to solve their issues in the
environment you provide.
• Learn to say no sometimes
• Ideally: Make PaaS users collaborators
• Provide a straightforward way for users to
have a single node setup of the PaaS.

28
Wrapping up

• The PaaS field continues to evolve
• The application PaaS we run is still
first,second generation technology
• We already sort of see traces of the next
evolution

29
Wrapping up

• Keep up with the trend
• When we started it seemed Ruby was the
language from the cloud
https://twitter.com/mart_brooks/status/27311502
8008341506

30
Wrapping up

• Nowadays, it seems that Go is looking out to
displace it little by little.
• Biggest gains seem to be performance, and it
being so practical to deploy.
• Also, docker.
https://twitter.com/derekcollison/status/245522124666716160
http://www.slideshare.net/derekcollison/go-conference-japan

31
Thanks!

• Questions? Comments?

32

More Related Content

What's hot

Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software Foundation
Brett Porter
 
Cloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a ServiceCloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a Service
Acquia
 

What's hot (20)

Xebia Masterclass Better-Faster-Smarter-with-DevOps
Xebia Masterclass Better-Faster-Smarter-with-DevOpsXebia Masterclass Better-Faster-Smarter-with-DevOps
Xebia Masterclass Better-Faster-Smarter-with-DevOps
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
 
Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software Foundation
 
Dev Tools State of the Union (Part I) - Atlassian Summit 2010
Dev Tools State of the Union (Part I) - Atlassian Summit 2010Dev Tools State of the Union (Part I) - Atlassian Summit 2010
Dev Tools State of the Union (Part I) - Atlassian Summit 2010
 
Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)
 
How and why you need to build a big data lab
How and why you need to build a big data labHow and why you need to build a big data lab
How and why you need to build a big data lab
 
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash WorkshopArchitecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash Workshop
 
Bringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overviewBringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overview
 
Beginners HANA
Beginners HANABeginners HANA
Beginners HANA
 
Streamlining Deployments in a Large Websphere Environment
Streamlining Deployments in a Large Websphere Environment Streamlining Deployments in a Large Websphere Environment
Streamlining Deployments in a Large Websphere Environment
 
SQL Azure Data Warehouse - Silviu Niculita
SQL Azure Data Warehouse - Silviu NiculitaSQL Azure Data Warehouse - Silviu Niculita
SQL Azure Data Warehouse - Silviu Niculita
 
2016 Mastering SAP Tech - 2 Speed IT and lessons from an Agile Waterfall eCom...
2016 Mastering SAP Tech - 2 Speed IT and lessons from an Agile Waterfall eCom...2016 Mastering SAP Tech - 2 Speed IT and lessons from an Agile Waterfall eCom...
2016 Mastering SAP Tech - 2 Speed IT and lessons from an Agile Waterfall eCom...
 
Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray
 
Cloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a ServiceCloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a Service
 
Continuous Delivery with Spinnaker.io
Continuous Delivery with Spinnaker.ioContinuous Delivery with Spinnaker.io
Continuous Delivery with Spinnaker.io
 
ExpertsLive Session Deck
ExpertsLive Session DeckExpertsLive Session Deck
ExpertsLive Session Deck
 
1 7 dev ops - ci+cd pipeline
1 7 dev ops - ci+cd pipeline1 7 dev ops - ci+cd pipeline
1 7 dev ops - ci+cd pipeline
 
Microservice Orchestration at any Scale - Zalando Tech Meetup 09/2017
Microservice Orchestration at any Scale - Zalando Tech Meetup 09/2017 Microservice Orchestration at any Scale - Zalando Tech Meetup 09/2017
Microservice Orchestration at any Scale - Zalando Tech Meetup 09/2017
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Transform your DevOps practices with Security
Transform your DevOps practices with SecurityTransform your DevOps practices with Security
Transform your DevOps practices with Security
 

Viewers also liked

Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
Animesh Singh
 

Viewers also liked (9)

Ускорение разработки с использованием облачной платформы Cloud Foundry
Ускорение разработки с использованием облачной платформы Cloud FoundryУскорение разработки с использованием облачной платформы Cloud Foundry
Ускорение разработки с использованием облачной платформы Cloud Foundry
 
OpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-out
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A Service
 
20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 

Similar to [RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in Production

Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
WSO2
 
Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring
WSO2
 

Similar to [RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in Production (20)

Deploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleDeploying Containers in Production and at Scale
Deploying Containers in Production and at Scale
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Managing Performance in the Cloud
Managing Performance in the CloudManaging Performance in the Cloud
Managing Performance in the Cloud
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
Big Data Hadoop Training Course
Big Data Hadoop Training CourseBig Data Hadoop Training Course
Big Data Hadoop Training Course
 
Final+Version+Of+Today+Presentation.ppt
Final+Version+Of+Today+Presentation.pptFinal+Version+Of+Today+Presentation.ppt
Final+Version+Of+Today+Presentation.ppt
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and Benefits
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
 
Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring
 
SCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deploymentSCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deployment
 
Soa 22 software as a service and soa
Soa 22 software as a service and soaSoa 22 software as a service and soa
Soa 22 software as a service and soa
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the Enterprise
 
Build highly scalable_low_latency_applications
Build highly scalable_low_latency_applicationsBuild highly scalable_low_latency_applications
Build highly scalable_low_latency_applications
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
The Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your BusinessThe Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your Business
 

More from Rakuten Group, Inc.

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in Production

  • 1. RPaaS DevOps: Lessons from using Cloudfoundry in Production Oct/26/2013 Waldemar Quevedo PaaS DevOps team. Rakuten, Inc.
  • 2. About me • Waldemar Quevedo • From Mexico • Joined Rakuten in 2010 as an App developer • Joined the RPaaS team in 2012 in its earlier stages • Github: https://github.com/wallyqs 2
  • 3. WARNING • No funny pictures in these slides! Sorry! 3
  • 4. What is RPaaS? • Internal PaaS at use in Rakuten • Built on Cloudfoundry • Started to service production applications since mid 2012 • Derek Collison, its creator is a technical fellow of our team 4
  • 6. 6
  • 7. Why have an application Platform as a Service? • Natural evolution of how to develop, release and maintain applications. • Improve productivity by automating the provisioning of resources on demand. • Scale horizontally (more instances) • Scale vertically (more cpus, memory, etc..) • Guarantees high availability 7
  • 8. Example use case: Scaling How to go from this, aaa.bbb.ccc.ddd:80 tech.rakuten.co.jp to this, aaa.bbb.ccc.ddd:9393 aaa.bbb.ccc.ddd:9395 aaa.bbb.ccc.ddd:9291 aaa.bbb.ccc.ddd:8888 tech.rakuten.co.jp tech.rakuten.co.jp tech.rakuten.co.jp tech.rakuten.co.jp • …in a matter of seconds? 8
  • 11. Benefits from an application PaaS • Improves agility of the application team • Application team can focus on the application not maintaining servers. • Simplified operations 11
  • 13. Benefits from an application PaaS • Enforces automation and better practices for developers. • Reduces the amount of workflows required to get things done. • Integration with internal environment. • And many more… 13
  • 14. Topic of the day: How to adopt an application PaaS • An application PaaS is all goodness for developers, since they can stop caring about servers. • Instead, they can rely on the RPaaS team! 14
  • 15. Usual DevOps metaphor: Vampires vs. Werewolves • Vampires (吸血鬼) app developers provide value • Werewolves (オオカミ人間) sys admins protect value 15
  • 16. Vampires vs. Werewolves • A PaaS admin is somewhere in the middle. • We take care of the servers on behalf of users but in the end we also care about: • How the user is actually using the runtimes. • Demand from application runtimes available. • Support the users when they run into problems with one of the runtimes. 16
  • 17. Different metaphor with PaaS: Villagers and Samurai • Villagers (村人) Application team can survive without PaaS but has lots of issues (-agility, -flexibility, -availability) • Samurai (侍) Solves the issues of the application team by providing a better environment. 17
  • 18. In order to deliver to users… • RPaaS team approach: • “you should know everything” 1. Know your stack (Cloudfoundry, Nginx, Services) 2. Know your environment (infrastructure, the network…) 3. Know your users (runtimes: Ruby, Java, support) 4. Know your capacity (metrics & trends) 18
  • 19. Know your stack • We needed to learn the internals of Cloudfoundry (OpenSource software FTW) • • • • • CloudController DEA HealthManager Router NATS 19
  • 21. Know your stack • Specially need to be prepared for failure scenarios: • How long does it take for the HM to execute the application failover when a DEA goes down? • What happens when there is a NATS failure? • How long does it take for the Router to stop balancing an application when the app goes down? 21
  • 22. Know your environment • Remember the „Fallacies of distributed computing‟ http://en.wikipedia.org/wiki/Fallacies_of_Distribut ed_Computing • Need to be familiar with your infrastructure, the network etc… • Don‟t be afraid of tcpdump • Share your findings about the environment with the users • Each datacenter is a different beast 22
  • 23. Know your environment • Again, need to be prepared for trouble scenarios: • Storage will fail • Physical hosts will fail • That VM that you expected to never to restart, will restart (hint: NATS) 23
  • 24. Know your users • Insight: When introducing a PaaS into your company, you need an extra effort during the adoption phase. • „Do things that Don‟t Scale‟: http://paulgraham.com/ds.html 24
  • 25. Know your users • At the time we started Cloudfoundry was relatively new technology • Roadmap mismatch: Private PaaS vs Public PaaS • Must features for our users were different: • Logging, monitoring, billing, team based deployment • Need highly available services • These were blockers we need to comply with so that teams would start adoption of the PaaS 25
  • 26. Know your capacity • re: „Auto-scale‟: • You usually don‟t want to do it • You do need to automate provisioning of resources though • Monitor the trends and provision according to them: • DEAs (app resources) • Disks • Services (cache, dbs) • Traffic (increase max qps limit) 26
  • 27. Managing user expectations • “Under promise and over deliver” • Need to make it very clear for users what is possible and what is just not feasible according to the current limitations of the system. • The concept of the cloud is cause of confusion sometimes • “it should be elastic” • “it should auto scale” • “it should self heal” 27
  • 28. Managing user expectations • “The RPaaS team will fix it for us” • It helps becoming familiar with popular libraries for different runtimes to give good advice to the users on how to solve their issues in the environment you provide. • Learn to say no sometimes • Ideally: Make PaaS users collaborators • Provide a straightforward way for users to have a single node setup of the PaaS. 28
  • 29. Wrapping up • The PaaS field continues to evolve • The application PaaS we run is still first,second generation technology • We already sort of see traces of the next evolution 29
  • 30. Wrapping up • Keep up with the trend • When we started it seemed Ruby was the language from the cloud https://twitter.com/mart_brooks/status/27311502 8008341506 30
  • 31. Wrapping up • Nowadays, it seems that Go is looking out to displace it little by little. • Biggest gains seem to be performance, and it being so practical to deploy. • Also, docker. https://twitter.com/derekcollison/status/245522124666716160 http://www.slideshare.net/derekcollison/go-conference-japan 31