+ All Categories
Home > Software > Taking the Application Server to Web Scale with Netflix Open Source Software

Taking the Application Server to Web Scale with Netflix Open Source Software

Date post: 27-Nov-2014
Category:
Upload: david-currie
View: 519 times
Download: 0 times
Share this document with a friend
Description:
Presentation from JavaOne providing an introduction to microservices, the Netflix OSS projects Eureka, Ribbon, Hystrix and Archaius, and the open source work that has been done to make them more consumable in WebSphere Application Server Liberty Profile
Popular Tags:
38
© 2014 IBM Corporation David Currie – Senior Software Engineer 30 th September 2014 Taking the Application Server to Web Scale with Netflix Open Source Software
Transcript
  • 1. David Currie Senior Software Engineer30th September 2014Taking the Application Serverto Web Scale withNetflix Open Source Software 2014 IBM Corporation

2. 2014 IBM CorporationImportant DisclaimersTHE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATIONCONTAINED IN THIS PRESENTATION, IT IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED.ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLEDENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTUREDIFFERENCES.ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBMS CURRENT PRODUCTPLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE.IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USEOF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIRSUPPLIERS AND/OR LICENSORS 3. 2014 IBM [email protected] @dcurrie http://uk.linkedin.com/in/davidcurrie/ 4. 2014 IBM Corporation 5. 2014 IBM Corporation 6. 2014 IBM CorporationWebSphereLiberty ProfileWebSphereeXtremeScale(WXS)JAX-RSServlet FilterData ServiceFacadeService FacadeData TierAppSpecificCachingWXSClientnginxBrowserAppjQuery/DOJOHybridWorklightAppjQuery/DOJOnginxIBMWorklighthttp://bit.ly/acmeairblog 7. 2014 IBM Corporationprogrammableweb.com 2012Peak Performanceand Scale4.3 billion API calls/day 8. 2014 IBM CorporationOperationalVisibility 9. DevOps HA & DRElastic scaling 2014 IBM Corporation 10. 2014 IBM Corporationhttp://techblog.netflix.comhttp://netflix.github.io 11. 2014 IBM Corporation2012Acme Air runon IBM Cloud atWeb Scale20132014SPECjEnterprisePortability cloudSample applicationcloud prize workprize workAcme Air Cloud/MobileSample/Benchmark bornhttps://github.com/EmergingTechnologyInstitute 12. 2014 IBM CorporationMonolithicApplication 13. 2014 IBM CorporationMonolithicApplicationScaled 14. 2014 IBM CorporationMircoservicesApplication 15. 2014 IBM CorporationMicroservicesApplicationScaled 16. 2014 IBM CorporationServiceDiscoveryEureka 17. ServiceInvocationRibbon 2014 IBM Corporation 18. 2014 IBM CorporationHope is not adesign methodMichael Nygard, Release It! 19. 2014 IBM CorporationApp ContainerUser RequestDependency A Dependency B Dependency CDependency D Dependency EDependency FDependency G Dependency HDependency IDependency J Dependency KDependency LDependency M Dependency N Dependency O 20. 2014 IBM CorporationUser RequestApp ContainerDependency A Dependency B Dependency CDependency D Dependency EDependency FDependency G Dependency HDependency IDependency J Dependency KDependency LDependency M Dependency N Dependency OFAILURE! 21. 2014 IBM CorporationUser RequestDependency A Dependency B Dependency CDependency D Dependency EDependency FDependency G Dependency HDependency IDependency J Dependency KDependency LDependency M Dependency N Dependency OUser RequestUser RequestUser RequestUser RequestApp ContainerTHREADSTARVATION! 22. 2014 IBM CorporationUser RequestDependency A Dependency B Dependency CDependency D Dependency EDependency FDependency G Dependency HDependency IDependency A(5 Threads)Dependency B(5 Threads)Dependency C(10 Threads)Dependency D(5 Threads)Dependency E(10 Threads)Dependency F(5 Threads)Dependency G(10 Threads)Dependency H(5 Threads)App ContainerFAIL FAST 23. CircuitBreakerHystrix 2014 IBM Corporationhttps://www.flickr.com/photos/leafbug/409950515 CC-BY-ND 2.0 24. 2014 IBM Corporation 25. getLongProperty(mywebapp.lock.waitTime", 1000); 2014 IBM CorporationDynamicLongProperty timeToWait =DynamicPropertyFactory.getInstance().timeToWait.get();ApplicationRuntimeURLDBApp Property FileLibrariesContainerDynamicConfigurationArchaius 26. Small downloadLow memory usageSimple configurationFast start upEasy accessFree tooling 2014 IBM Corporation 27. zosSecurity zosTransaction collectiveControllerjaxwsjmsMdb wasJmsSecuritymongodb jaxbwsSecurity wmqJmsClientwasJmsClient wasJmsServeroauth collectiveMember ldapRegistry webCacheejbLite cdi managedBeanslocalConnector beanValidationmonitor sessionDatabase 2014 IBM Corporationz/OSNDBase, ExpressLiberty CoreApplicationManagerjspservlet jpaFeature Manager HTTP Transportjsfjndi jdbcwabblueprintjaxrsjsonrestConnectorosgi.jpaappSecuritysslclusterMemberconcurrentzosWlmLibertyFeatures 28. 2014 IBM CorporationGitHubNetflixOSSCloud FoundryZero TurnaroundJenkinsOpscodeChefApache MavenIBM UrbanCode DeployIntelliJ IDEAApache AntGradleWebSphereDeveloper ToolsLibertyhttp://wasdev.nethttp://wasdev.github.io 29. 2014 IBM Corporation 30. 2014 IBM Corporation 31. DynamicLongProperty timeToWait =DynamicPropertyFactory.getInstance().getLongProperty(mywebapp.lock.waitTime", 1000);timeToWait.get();server.xml50033 2014 IBM Corporation 32. public class MyCommand extends HystrixCommand {protected String run() { // remote call }protected String getFallback() { // local fallback }}String result = new MyCommand().execute();server.xml1000034 2014 IBM Corporation 33. 35 2014 IBM Corporation 34. 36 2014 IBM Corporation 35. 2014 IBM Corporation 36. www.ibm.com/developerDiscovernew technical resources.Developyour coding skills.Connectwith developers.ibm.biz/javaone2014 2014 IBM CorporationVisit Booth 5511 to learn about Cloud, DevOps and Mobile solutions 37. IBM Developer Kits for Javaibm.com/java/jdkWebShere Liberty Profilewasdev.netIBM Bluemixibm.com/bluemixIBM Developer Kits for Node.jsibm.com/developerworks/web/nodesdk/39 2014 IBM Corporation 38. 2014 IBM CorporationCopyright and Trademarks IBM Corporation 2014. All Rights Reserved.IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of InternationalBusiness Machines Corp., and registered in many jurisdictions worldwide.Other product and service names might be trademarks of IBM or other companies.A current list of IBM trademarks is available on the Web see the IBM Copyright andtrademark information page at URL: www.ibm.com/legal/copytrade.shtml40


Recommended