Layer5 participates in manyopen source internship programs. We seek out existing contributors who actively reflect the culture and principles of Layer5 to participate in these programs. Here are the Summer of 2021's open source interns.
Hear about their journeys and follow along this summer as they make waves in the Layer5 community.
Open source has been intriguing to me ever since I had joined my college's open-source community (DevlupLabs). It was in the middle of the pandemic, though, with my mind trying to find an escape, that I stumbled upon Layer5. Within the first week of joining the Layer5 community, I had a pull request posted, and much to my surprise, found myself demo'ing it in the very next community meeting. In retrospect, it was a minor pull request, making some UI changes for Meshery. The encouragement I received was so welcoming and supportive. After that first week's experience, and so much technology and projects to explore, I was hooked - there was no turning back for me from that point.
I started learning more about the projects in Layer5 and its tech stack. From how Meshery Server was using gRPC and protobufs to communicate with each of its service mesh adaptors to defining how SMI Conformance works and the Service Mesh Performance specification to how Meshery UI leverages some awesome libraries like NextJS, BillboardJS, and Redux. It has been through contributing to each of these areas, that I have learned each of these technologies more deeply and it was all possible because of the continuous influx of awesome support from the community, especially Abishek Kumar and I probably won't stop poking him for support anytime soon.
As I look forward to a structured internship with Layer5 through Google Summer of Code this summer, I do so knowing I will be collaborating with the large Layer5 community, engineers from other technology companies and spending a lot of time with Soham and Piyush. For my part, I'll be working on a visual topology to help service mesh operators map their deployments, model their application performance, and parse their service proxy logs. I am ready to make an impact, learn more, and help other community members ( and watch as they, too, are initiated into the Layer5 community through ritual of giving an awkward first-timer introduction in our Community Meeting 😛).
It all started with an idea, the idea of doing open source contributions. And with that after scrolling through many open source communities, I found Layer5, jumped up into our Slack workspace, started learning about Meshery. I raised a PR and was immediately made to feel like a rockstar. I began meeting more of the community members, learning more about Meshery and its command line client, `mesheryctl` with each contribution. And you know, its extrenely gratifying to have your pull request merged, and that feeling is amplified by the feedback and attention you receive as a contributor at Layer5.
I knew that I wanted to engage even more deeply and learn all that I can from the seasoned engineers at Layer5. And so, I applied for internship. Layer5 takes internships seriously and doesn't accept anyone into internship until you have proven your commitment to their awesome projects. And at the time of writing this, it’s been almost three months of contributing bfore being accepted as GSoC student. I have spent most of my time focusing on Layer5’s Meshery project and it’s command line client, `mesheryctl`.
And so, we reach the beginning of my GSoC 2021 program, which began on the night of May 17th, 2021 when I learned that I had been selected as a GSoC Participant with the Cloud Native Computing Foundation (CNCF). I am hyped up and excited to go ahead with Layer5 for the upcoming months.
My GSoC project is about introducing interesting and important features to Meshery Server and `mesheryctl`. Such as automating Documentation and Interactive playground for Meshery Server’s REST API endpoints, adding commands related to performance testing and enhancing Meshery’s environment health checking, introducing unit testing for `mesheryctl`, and CI/CD and documentation for all the new features.
It has been 2 weeks since I have started my GSoC’21 tenure with the Layer5 community, and from the very beginning (I mean before GSoC), I have learned a lot with my code contributions and the Community here. I began with setting up the performance command under mesheryctl and Open API Specification 2.0 for REST API documentation to the project. I am learning a lot of new things, like Unit Testing, Open API Specification, and much more to include.
I got to know about Layer5 last year in December when one of my batchmates told me that he was contributing to the community. He asked me if I wanted to join Slack and wanted to contribute to a project. So I looked at the projects on Github and some open issues that I could contribute to. Me being a frontend developer I saw an issue related to removing whitespaces and minor frontend changes. I just made a PR and it was merged then I joined the Slack workspace and attended the Newcomers meeting. I was introduced to a lot of things that I could work on. All of them felt amazing and interesting, all I had to do was “signal” and I could work on any one of them.At first I thought that I should just work on layer5.io or maybe NightHawk, but then I was given an opportunity to work on something that I had never done before. It has been around 4 months that I have been a part of the community and I am actively trying to add to the project attending weekly meetings where everyone shares amazing stuff about what they did.
As I said earlier my project is something that I had never worked on before, very interesting to work on, it adds one of the most important and unique features to Meshery. Meshery's MeshMap enables users to visualize their service meshes, look at important statistics. It also enables users to design their own service meshes by either importing their designs from a yaml file or by dragging and dropping service mesh components into a canvas, creating edges, grouping components, persisting these designs to see or edit later, realizing these designs by actually deploying them as service meshes and a lot more.My job is to be the God of CytoscapeJS, who knows every nook and cranny of the library that enables us to create the visual topology. It's been a week since I have started my LFX internship and I have been working on visual topology even before that. These months of contributing code have taught me a lot. The first task that was given to me was to explore the CytoscapeJS library and demonstrate a proof of concept of animated edges between 2 components. I sat for 3 hours straight right after the community meeting creating the demo and posted a video on our slack. I was never appreciated better than on that day. I have never looked back since, each time I am given a feature or issue or any request I try my hardest to realize it in the earliest. I am constantly trying to improve myself and add to the project.
- Dhruv, Piyush, and Soham
Interns of Summer 2021
Meshery Docker Extension
Develop service mesh-ready apps using Docker Desktop and Meshery. The Docker Extension for Meshery extends Docker Desktop’s position as the cloud native developer’s go-to Kubernetes environment with easy access to the next layer of cloud native infrastructure: service meshes.