The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

Andrew Nelson: Why I Joined YugaByte as a Developer Advocate

I recently joined YugaByte as a Developer Advocate focused on Kubernetes. I will focus on the usability and extensibility of YugaByte DB as a data platform within the Kubernetes and public cloud ecosystem. However, in broader terms, I will be able to leverage YugaByte DB as a cloud-native database that can easily deployed in multi-cloud environments. There are a few things I am looking forward to in my new role:

  • Working for another fast-growing startup
  • Being able to leverage my skills in Kubernetes
  • Learning more about a next-generation database at the ground floor
  • Working for an open-source company

Early Years

When I was graduating from college with a degree in Software Engineering, I interviewed with several large companies. I had been classically trained for four years including yearly summer internships in software engineering with regards to waterfall and spiral models. I had already been sponsored for a security clearance to go for a high-security government organization in their “research” department when I was contacted by the director of IT for my college. He was going to work for a startup out of northern Virginia called Worldstor. Worldstor was a brand-new storage service provider who wanted to take on StorageNetworks as a SAN/NAS utility provider for colocation and enterprise customers. I asked him if there was a chance I could get a job and, after interviewing, was offered a position as a systems engineer. As employee #13, I had a chance to learn about fiber-attached storage, storage area networks, and network-attached storage with EMC storage and Veritas software. After a year and a half, and about $40 million in funding, Worldstor went out of business. Many of the clients were “dotcoms” who started running out of their own funding in 2001, so Worldstor did not have a sustainable business model or road to profitability. I really enjoyed learning so many new things in a short span of time and moved into a consulting role.

Return to Startup Life

I heard about my second startup while working for the Office of the CTO at VMware. I focused on edge cases of virtualization such as Big Data, HPC, and containers where virtualization was either seen as irrelevant or otherwise considered pure overhead. Nutanix was gaining momentum as a hyperconverged platform and a lot of people I respected had made the move from VMware to Nutanix. I joined Nutanix as a distributed systems specialist responsible for focusing on the same workloads that I specialized in at VMware and approaching customers who were interested in those use cases. One of the key reasons I joined Nutanix was to work for an agile startup who was developing new technology and software quickly. The primary example of this was the development and release of their own hypervisor at the time. I wanted the ability to affect its direction within a smaller, nimbler organization than VMware. Nutanix successfully IPO’ed and continues to innovate beyond its hyperconverged software today.

The Kubernetes Rocketship

When I started at Nutanix, there were many independent frameworks for running containers and cloud-native applications. Kubernetes was in its 1.0 infancy. Kelsey Hightower still worked for CoreOS. I had personally worked with and presented on Apache Mesos to host containers as well as Big Data frameworks with a large VMware customer at the time. There was the rise of Docker pushing its Swarm technology. Pivotal was ascending in market share with its PaaS “Cloud Foundry” which had its own methodology of building and running containers. Even Nutanix had its own container scheduling framework. Helping customers with their challenges and opportunities in each of these, it is fascinating that Kubernetes has gained the momentum that it has today and that it has become so widely adopted across vendors as the standard for container management and scheduling. My last year was solely focused on Nutanix’s own upstream distro of Kubernetes, named Karbon. Their approach was to take native upstream Kubernetes and differentiate on life-cycle management and ease-of-use, instead of forking their own distro. I still think this is the best way to approach the community.

I am excited to see where Kubernetes takes container workloads in the coming years. The CNCF continues to grow with contributed projects like Istio and Helm. This mirrors what I saw happen with regards to the explosive adoption of Hadoop and the associated Big Data projects under the Apache Software Foundation. Kubernetes has come a long way towards being a cloud-agnostic abstraction layer for compute. 12 factor cloud-portable apps can be built on this platform with relatively little cloud vendor lock-in. The stateful side of those apps shows a lot of potential for development and, in my opinion, is going to be an extremely interesting source of new technology and development. Since my early days in Big Data learning while I was at VMware, it is refreshing to work again on the data layer from a brand-new perspective. Being part of the growth of a startup and focused on this space was enough to make me want to join YugaByte, but my story is not finished yet.

The Power of Open Source

I have never worked for an open-source company before. From Worldstor, to EMC, VMware and Nutanix, these companies were focused on closed source development. In each one, I wanted to be simultaneously close to the user and also close to the cutting edge of product or service development. For a closed source company, that obviously means all of their source code is behind their firewall and unknown outside of whoever is developing it. Additional critical components of the software development lifecycle are also behind a firewall. If I was to open a ticket with VMware or Nutanix, it would be inside their ticket management system. I could only ever search, read, and reflect on tickets that I was assigned. For any given issue, I was typically only aware of my small role in the overall process. I couldn’t read other users’ tickets and see if they were having the same problem. If I wanted to ask for a new feature, I could enter that in and hope that one day, someone from engineering would see it and other engineers would be able to “vote” on it or otherwise find a sponsor or stakeholder within engineering to try and make it happen.

This led to frustration with regards to communication and visibility. Was my problem ticket being looked at in a timely fashion? Was there anything else I could be doing to troubleshoot the issue? Was another user seeing a similar issue? Were other users asking for the same thing I was? Could I find new features that would help me that others had already submitted? In a “behind-the-firewall” approach, a lot of these were mysteries and not being a direct contributor or project manager, it was difficult to understand the larger scope of any given software project.

Bringing It All Together

I am delighted to see the open source, users-first culture of YugaByte. Everyone can not only see the source code from our GitHub repo, but also search on issues, pull requests, features, and releases for example. The complete development lifecycle is in the open. I strongly feel that this can drive more robust, user-driven, and feature-rich software. This open software development lifecycle (SDLC) can be data-driven, a term that I will always associate with Werner Vogels after one of the earliest AWS tech talks I remember. In it, Werner discussed how cloud infrastructure consumption should be data-driven in a feedback loop. Automation using data points should assist in determining and predicting utilization for optimal efficiency. Comparatively, the SDLC of a project like the YugaByte DB can be affected in motion by how users utilize it. The data points are available for all to see. Roadmap items and troubleshooting decisions can be made in the open and promote a better user experience while reinforcing engineering direction and focus.

This will be my first open-source company and I am very excited by the possibilities. Seeing the YugaByte DB platform grow and develop, and contributing my own influence and knowledge is a humbling and awesome experience. Thanks to Jimmy and Karthik for the opportunity to make a difference and thank you for reading!

Related Posts