Emad Benjamin

Chief Technologist, Application Platforms, VMware

Emad Benjamin

Emad has spent the past 25 years in various software engineering positions involving software development of application platforms and distributed systems for various industries such as finance, health, IT, and heavy industry – in various international locations. Emad is currently the Sr. Director and Chief Technologist of Application Platforms with Office of the CTO at VMware, focusing on building hybrid cloud distributed runtimes that are application aware.

Presentations

Microservices what a ServiceMesh

Thursday, 10:45 AM EST

Come to this session to learn about building application platforms that are capable of handling new deployment paradigms such as microservices, fast data, big data, and functions. While these paradigms have offered immense developer velocity and productivity; they often lead to many challenges at runtime from performance and scalability perspectives.

I will demonstrate how complexity of the old monolith has been shifted to a new complexity of a distributed nature. If what use to be an in memory call now is a network hop away to another service, this comes at a cost, but then can the platform be made smarter to handle this? It turns out the answer to this is absolutely yes! The rise of the application platform has given way for other runtime specialized layers to be encoded into the platform to handle network distribution complexities that you don’t have to worry about. For example, if two microservices happen to call each other 99% of the time across the network within one application domain (or multiple domains for that matter), then why do they need to be distributed so far from each other? Why suffer such a latency burden? What if a specialized network layer could detect this and bring the two services really close to each other so that the latency between them is minimal. There are many other patterns I will discuss here, but this essentially gives rise to a specialized layer the industry is calling service mesh. What if I could specify a latency-tolerates limit across a sequence of calls between microservices, and indicate that regardless of what happens I want this layer to guarantee it doesn’t exceed this limit, that would be super cool!

Tuning In-memory Databases

Thursday, 3:15 PM EST

In-memory databases have now become permanent components of the enterprise application stack, and knowing how to size, scale, and tune them in VMware vSphere or bare metal environments is a paramount skillset. In recent years, we have seen in-memory cluster sizes from 1 to 5 TB of memory within a single cluster driving millions of transactions per day. Not only do these systems have zero tolerance to failure, most expect a predictable throughput and response time. In this session, we visit the most common deployment patterns and what choices you have to make in placing the server components vs. the consumption/ingestion clients. We will also inspect various transaction volumes and discuss common administration tasks.

This session will do a sizing deep dive, in terms of how to best size the cache nodes, how to size the virtual environment, and other considerations to make these systems highly available, scalable and with predictable performance. In the case of Java based in memory DBs we will do a deep dive into various GC algorithms and how to best configure JVMs.

Books

Virtualizing and Tuning Large Scale Java Platforms (VMware Press Technology)

by Emad Benjamin

  • Virtualizing and Tuning Large-Scale Java Platforms

     

    Technical best practices and real-world tips for optimizing enterprise Java applications on VMware vSphere®

     

    Enterprises no longer ask, “Can Java be virtualized”? Today, they ask, “Just how large can we scale virtualized Java application platforms, and just how efficiently can we tune them?” Now, the leading expert on Java virtualization answers these questions, offering detailed technical information you can apply in any production or QA/test environment.

     

    Emad Benjamin has spent nine years virtualizing VMware’s own enterprise Java applications and working with nearly 300 leading VMware customers on projects of all types and sizes—from 100 JVMs to 10,000+, with heaps from 1GB to 360GB, and including massive big-data applications built on clustered JVMs. Reflecting all this experience, he shows you how to successfully size and tune any Java workload.

     

    This reference and performance “cookbook” identifies high-value optimization opportunities that apply to physical environments, virtual environments, or both. You learn how to rationalize and scale existing Java infrastructure, modernize architecture for new applications, and systematically benchmark and improve every aspect of virtualized Java performance. Throughout, Benjamin offers real performance studies, specific advice, and “from-the-trenches” insights into monitoring and troubleshooting.

     

    Coverage includes

    --Performance issues associated with large-scale Java platforms, including consolidation, elasticity, and flexibility

    --Technical considerations arising from theoretical and practical limits of Java platforms

    --Building horizontal in-memory databases with VMware vFabric SQLFire to improve scalability and response times

    --Tuning large-scale Java using throughput/parallel GC and Concurrent Mark and Sweep (CMS) techniques

    --Designing and sizing a new virtualized Java environment

    --Designing and sizing new large-scale Java platforms when migrating from physical to virtualized deployments

    --Designing and sizing large-scale Java platforms for latency-sensitive in-memory databases

    --Real-world performance studies: SQLFire vs. RDBMS, Spring-based Java web apps, vFabric SpringTrader, application tiers, data tiers, and more

    --Performance differences between ESXi3, 4.1, and 5

    --Best-practice considerations for each type of workload: architecture, performance, design, sizing, and high availability

    --Identifying bottlenecks in the load balancer, web server, Java application server, or DB Server tiers

    --Advanced vSphere Java performance troubleshooting with esxtop

    --Performance FAQs: answers to specific questions enterprise customers have asked

     

     


Enterprise Java Applications Architecture on VMware

by Emad Benjamin

  • This book is the culmination of 7 years of experience in running Java on VMware vSphere both internally at VMware and at VMware customer sites. In fact many of VMware’s customers run critical enterprise Java applications on VMware vSphere where they have achieved better TCO, and SLAs. This book covers high level architecture and implementation details, such as design and sizing, high availability designs, automation of deployments, best practices, tuning, and troubleshooting techniques.