The Paved PaaS to Microservices – live blogging at qcon

The Paved PaaS to Microservices
Speaker: Yunong Xiao @yunongx
See the list of all blog posts from the conference

Yunong is from Netflix. Talked about how serving multiple types of devices. Can innovate faster if not worrying about infrastructure

Scale. 1K+ microservices. JavaScriptfront end; Java back end.

Client teams own microservices for front end/client devices. Edge API is server based/back end API

Standardized Components

  • Common set of components – ex: metrics, logging, alerts, dashboard, configuration
  • Don’t want everyone picking RPC mechanism. Invest in one set of tooling
  • Benefits of standardizing: consistency (ease of troubleshooting/support), leverage (more time for business problems with platform team focused on components), interoperability (easier integration so faster velocity and less cognitive overload), quality (more investment so higher chance of quality), support (greater knowledge base)
  • “But I’m a Snowflake” – Netflix has culture of freedcom and responsibility. Helps with innovation. If works, re-integrate into ecosystem. Be concious of talking to the others and the cost to other teams of your choice.

Pre-assembled platform

  • Starting a new project, there isn’t velocity yet nor stats on reliability.
  • Putting components into a pre-assembled platform so can just add business logic. Less likely to be missing things like metrics because in pre-assembled platform.
  • Guarantees standard and consistent metrics. Reducs MTTD (mean time to detect) and MTTR (mean time to recover)
  • Maintenance vs convenience – easier for platform team to include just basics. Easier for app team to have more included. The solution is layers and favors. Having a base platform and add ons.
  • Testing – running other team’s microservices tests when upgrading a platform tests the platform upgrade
  • Design for configuration and hooks
  • API Semantic versioning (like what Maven versions do)
  • Use conventional changelog to automatically creat changelog

Automation and Tooling

  • Provide CLI for common dev experience – allows scripting and consistent environment each time. Ensures can run locally and in the cloud
  • Local development fast – use local debugger and curl. Can still test with container so mirrors prod config
  • Provide first class mocks for components in pre-assembled platform. Facilitate determining where the problem lives. Easier to write reliable automated tests.
  • Provide facilitate to generate mock data
  • Need a testing API so different groups can work on mocks. Component teams create mocks against standard APIs
  • “Production is war” – different levels of experience in ops. Use tools to avoid shooting off own foot. Ex: pipelines for deployment/rollback, automated canary analysis
  • Dashboards provide a consolidated view for ops. Having platform generate dashboard and alerts standardizes them. Also allows for automate analytics and tooling.

Provided warning about not just copying Netflix. PaaS is for certain use cases. Components help regardless.

What makes standards stick – the server side java symposium

EnterpriseDB is talking about standards in the contest of PAAS (platform as a service). Looking at the forefront of a paradigm shift with cloud.

Java has been number one on the tiobe index for five years. Objective C is currently at number eight. It is an interesting measure because it uses number of jobs, books, etc to calculate rankings.  Java was an evolution of C++ and solved a problem.

Evolution needs to happen or there is that opportunity for something else to replace it.

J2EE was successful because the major companies backed it on day one. Part succeeded (servlets) while art failed (ejb) [jdbc listed as success, but that isn’t jee]. EJB was too complex and alternatives came up like Hibernate and Spring.   The speaker did credit the mess up of EJB with people adopting Spring.

“open source became an alternative to a deficient standard”

Success criteria: solve a problem, developers love, standardize, be open source, be first. Do not need all of these, but more help.  Also listed Microsoft support as a benefit

There were a few typos in the presentation which i found distracting.  Basically the session was a history lesson with some interesting points. I was relieved was not a sales pitch.

Once people move on, they don’t come back. Even though EJB 3.1 is “as good as” Spring, people have already switched.
Who will own the cloud? Who knows? Time will tell.