[{"content":"Hey Folks! I am Hemanth Krishna 👋, a junior undergrad student pursuing Computer Science at the time of writing this article. I recently participated in Google Summer of Code 2021 where I worked on a project named LitmusChaos, which is an Open Source Chaos Engineering tool. Lots of new terms to take in 😅? Let’s break it down one by one!\nWhat is Google Summer of Code? Two words, Open-Source Software and Students. Google Summer of Code is a global programme by Google (duh) to bring these two terms together. It provides a great platform and exposure to encourage students to participate in Open Source Software development and inculcate the Open Source culture amongst young budding minds during their summer break.\n  Google Summer of Code Logo\n  To give a gist, major open source projects and organisations (such as CNCF) participate in this programme and put up project ideas. The projects and mentors are selected and put up on the GSoC (Google Summer of Code) website.\nStudents have almost a month-long time to explore these projects and submit a proposal of a project idea, it may be a completely new idea or something that the organisation has put up (you will find mine below)\nThe Mentors of the organisation then review these proposals and select a mentee to mentor them and overlook the completion of the proposed idea in a specific duration, it was 10 week for the 2021 programme. That is it! It’s a straight forward simple process. You can find more about the timeline and previous year projects over here.\nNow we know what GSoC is, I had submitted my project idea proposal to a project named LitmusChaos which is a sandbox project of CNCF. Does that sound confusing🤔? Don’t worry, let’s break it down one by one!\nWhat is Cloud Native Compute Foundation (CNCF) ? CNCF (Cloud Native Computing Foundation) is an organisation that houses the fastest-growing open-source projects that shape the future of cloud computing and the world of DevOps. Some famous projects used worldwide housed by CNCF are Kubernetes, Prometheus, Envoy, and, much more!\n  Cloud Native Computing Foundation Logo\n  You probably guessed it right! LitmusChaos is also a project (sandbox) housed by CNCF similar to Kubernetes or Prometheus. Hence, my project idea proposal was on LitmusChaos, whose parent organisation is CNCF.\n  Umbrealla Organisation\n  What is LitmusChaos?   Litmus logo\n  Litmus is a Chaos Engineering Platform, which takes a cloud-native approach to create, manage and monitor chaos. In layman terms, LitmusChaos is a tool that helps you stress-test your infrastructure and prevent potential outages. It is a tool SRE (Site Reliability Engineers) and Developer have fun with as they witness the strengths, efficiency and resiliency of their codebase and infrastructure.\nOne can run various experiments hosted on hub.litmuschaos.io (Chaos Experiments are more fun than your high school lab experiments 😛)\nYou can learn more about LitmusChaos by visiting the project on GitHub or by checking out the Litmus YouTube Channel\nIf you are interested, come to and say “Hi” by joining the slack community and attending the weekly sync up meets! 😃\nMy Acceptance into the program   Simple timeline of the program\n  As a tech enthusiast along with my interest in open-source tools, I keep exploring various frameworks and tools that enables me to develop applications that aim to solve some real-life problems. I encountered litmus, while I was exploring the concept around Chaos engineering.\nAs the first steps, I followed this page to check if any tools align with my skills and interests to apply to the Google Summer of Code programme, I started this process around 3–4 weeks before the application deadline. I saw litmus was listed with a project, reading the project description I had few ideas of my own, and started looking into the codebase of litmus.\nAs any new open-source developer to a new tool, I tested out litmus myself as a consumer of the tool, then later went through good-first-issues so that I can familiarise myself with the codebase. I eventually ended up contributing and got around 3–4 PRs merged and involved myself within the community.\nI carefully prepared my proposal covering the requirements along with my ideas that could benefit the project and had submitted it on the Google Summer of Code dashboard. You can find my submitted proposal below\nClick here to view my GSoC Proposal\nEventually, the mentors of the litmus project had contacted me for a quick call regarding my application where I expressed my interest, my experience with the required skillset and why I think I would be a good fit as a mentee to execute and implement the project.\nAfter the meet, I was given a small task to implement a basic Oauth authentication system in GoLang and was given about 24–36 hours for the same. I completed the task, hosted it on Azure and had sent the link to the mentors and had minimal hopes regarding my application.\nIt was around 11:30 PM, I was in the middle of completing my university assignment which was to be submitted by 11:59 PM (your typical engineering student 😓) and suddenly I receive this email into my inbox!\n  My acceptance email in Google Summer of Code 2021   I still remember being really happy and enthusiastic about learning something new for the summer and being mentored by some cool engineers.\nAfter few days of acceptance, my name and project were updated on the GSoC 2021 Projects page\nClick here to view my GSoC Projects Page\nWhat did I do for 10 weeks? My initial primary task was to refactor the litmus-portal authentication server and integrate an flexible and scalable OAuth2 based authentication system to the server, but my task grew into something later on different where I learnt a lot of new things.\nEventually, with further discussion with my mentors and community, I re-wrote the entire authentication server instead of refactoring for better performance, the average response time for an request was initially whooping 9 seconds! and this was bought down to sub-second response times. You can find more details about this on the GitHub PR\nMy Pull Request for Phase 1\n  My PR for first phase of GSoC 2021   This task is what served as my first evaluation checkpoint, and I passed this evaluation with generous and motivating comment from my mentor!\nMy secondary task, was integrating an flexible OAuth2, initially, I followed basic OAuth2 system of GoLang and created a Proof-of-concept\nClick here to view Proof-of-concept\nThe flow architecture that I proposed is shown below\n  Proposed Approach for Auth Server\n  Later on, we came across an Cloud Native OIDC Provider named Dex. This allowed us to add various authentication features, and I also customised the server to match litmus-portal theme.\nHence, the new architecture proposed turned out to be like the following image:\n  Authentication Server with Dex Integrated\n  Eventually, I presented my integration to the litmus team over a call, and got some takeaways and green flag for the integration 😃\n  My presentation of Dex Integration with litmus team\n  I learnt a lot over the period of these 10 weeks regarding GoLang APIs, OIDC Providers, various system architecture patterns and how to write better code! The fact that the code I write is in use by various developers and companies to run and test their system amuses me 😯, You will probably find me contributing to litmus after my GSoC Period too! 😄\nShould I apply for GSoC? If yes, then how?   If you are a student who is enthusiastic about software development, technology in general, would love to explore and be part of open source. You should definitely apply for Google Summer of Code! It is really cool to get mentored by project maintainers who have a great experience in various fields.\nHere are few perks of Google Summer of Code:\n Learning: One get’s to learn a lot while contributing, with every PR of mine getting merged, I learnt a lot of new different things becoming better at what I do step-by-step. Networking: This is one of the under-rated perks of any Open Source Programmes. Networking and interacting with the community improves one’s soft skills and promotes growth when you hear different views, opinions, and approach on solving a problem. Stipend: Who does not love a stipend while learning 😉, GSoC pays a great stipend, but I would really advise participating in this programme not for the stipend but for the above points.  Now, coming to the question of “how?”, the approach differs from person to person, but some traits common amongst all is the willingness to learn, network and, giving back to the community. You ideally need to not know every nitty-gritty detail of a programming language or a framework, or the whole codebase of the project for your proposal to get accepted. Here are few pointers that might help you with getting accepted into GSoC:\n Understand your interests: Finding the right project is very important, jot down your experience in various languages, frameworks and interests and start looking into the projects that align with the same. If you think a project is perfect for you, always first try out the project as a consumer and see what the tool/software exactly does, this would give you a great boost in understanding the codebase and would help innovate in scopes of improving the project. Interact with the community: Make sure to sign yourself up onto the community slack/discord/Jitter and try to attend weekly community meetings if there are any. This would give you a great insight into what all developments are occurring and you would be able to network with people. Innovate and discuss your proposal: Make a decent proposal that also consists of a timeline, divides your implementation down to different phases that you can follow in the duration of the programme. Make the most of your time: Getting selected or not, you learn a lot of things that facilitate personal as well as professional growth when you participate in Open source development, so ensure you are enjoying what you are doing irrespective of the selection and make the most of your time!  Sayonara! 👋 Overall my journey has been a great experience and I would like to thank my mentors Raj Babu Das, Soumya Ghosh Dastidar, and, Ajesh Baby for guiding me throughout, I would like to thank the community that’s always active and helps for the betterment of such tools, and, I would like to thank you, for reading till here 😃.\nThis summarized my journey as a Google Summer of Code Mentee and I hope this blog was informative. If you have any questions regarding my project, Cloud Computing, or would like to discuss tech in general, you can find me on:\n GitHub: https://github.com/DarthBenro008 Twitter: https://twitter.com/hemanth_kri LinkedIn: https://www.linkedin.com/in/darthbenro008/  ","permalink":"https://blogs.benro.dev/posts/gsoc-experience/","summary":"Hey Folks! I am Hemanth Krishna 👋, a junior undergrad student pursuing Computer Science at the time of writing this article. I recently participated in Google Summer of Code 2021 where I worked on a project named LitmusChaos, which is an Open Source Chaos Engineering tool. Lots of new terms to take in 😅? Let’s break it down one by one!\nWhat is Google Summer of Code? Two words, Open-Source Software and Students.","title":"Google Summer of Code 2021 with Cloud Native Compute Foundation — My experience with LitmusChaos"},{"content":"Hey Folks! I am Hemanth Krishna 👋, a sophomore undergrad student pursuing Computer Science at the time of writing this article. I recently graduated from the Linux Foundation’s CNCF Mentorship Programme where I worked on a project and contributed to Keptn, an awesome Open Source tool that’s a control plane for DevOps automation of cloud-native applications. That’s a lot of information in few sentences 😅, let’s break it down one by one!\nLFX Mentorship? What’s that The LFX Mentorship Programme is an Open Source Programme that occurs every quarter of the year organised by The Linux Foundation. The whole goal of this programme is to promote the Open Source culture around the globe and show people the beauty behind the curtains of amazing tools that are powered by the Open Source Community.\n  The Linux Foundation Logo\n  In this programme, you get the opportunity to work on Open Source Tools and get personal mentorship from the project maintainers for 3 months! Organisations such as CNCF, Hyperledger, Open Mainframe, etc participate which just makes it more exciting than ever to work on tools used worldwide.\nOkay, I get the LFX part, what’s CNCF? CNCF (Cloud Native Computing Foundation) is an organisation that houses the fastest-growing open-source projects that shape the future of cloud computing and the world of DevOps. Some famous projects used worldwide housed by CNCF are Kubernetes, Prometheus, Envoy, and, much more!\n  Cloud Native Computing Foundation Logo\n  But wait, how is CNCF related to LFX? CNCF was founded by The Linux Foundation! The LFX Mentorship for CNCF projects was previously known as Community Bridge.\nMy acceptance into the programme As a tech enthusiast, I was exploring the field of Cloud Computing and DevOps and had used tools like Kubernetes, Prometheus, Keptn previously in my projects, and the idea of contributing to such tools was pretty exciting to me, but being a sophomore student and a DevOps newbie, I wasn’t having high hopes of getting selected into this programme, but I decided to give my best and try to make the most from the learning experience!\nAs the first steps, I followed this repository, where all the projects were listed. I browsed through the issues and projects, it was initially very intimidating to understand huge codebases and to familiarise myself with the project’s design and working principles. Eventually, I came across this issue. It seemed a perfect fit for me as I was developing some CLI’s in GoLang and the project description did not sound very intimidating to me.\n  Keptn Project participating in LFX Mentorship Programme Q1'21\n  I started contributing to Keptn by starting with good-first-issues in order to explore and understand the codebase and the working principles underneath the tool.\nIt felt great when my first PR was was merged! This fuelled my excitement and motivated me to work on more issues and understand the tool better, eventually, I got 5 PR’s merged into Keptn before the acceptance into the programme. Keptn had their weekly community developer meetings and I was invited to present my work in one of the features I added to the Keptn CLI. It was an exciting and fun experience to present my work live. I eventually joined Keptn’s slack workspace where I interacted with the community and the project maintainers.\n  My first Pull Request at Keptn Project\n  Once the application process began, I drafted a nice proposal and cover letter that included my motivation towards working on the project and why I think I deserve to be a Mentee. I simply submitted my application keeping my hopes minimum.\n  The email informing my acceptance into LFX Mentorship Programme\n  After a few days, I was sipping on some tea in the evening and my phone buzzed. I was immensely filled with joy as I received my acceptance email into the programme. It felt great and I was excited that I will be learning and be mentored by Project Admins and Contributors of a CNCF Project.\nWhat is Keptn? Keptn (pronounced similar to Captain, who controls your docker ships) is a CNCF Sandbox project, but what does it do? It is a control plane for DevOps automation of cloud-native applications. Sounds complex? In a nutshell, Keptn automates and provides an event-based declarative approach to automate your SLO-driven multi-stage delivery and operations, DevOps automation in its true essence! I liked the approach and problem Keptn aims to solve.\n  Keptn Logo\n  At the time of writing this article Keptn has filed a PR to become a CNCF Incubation project. You can find more about Keptn here, and check out the official GitHub repository.\nAdditionally, if interested, feel free to dip into the Weekly Community Developer and Monthly User Group meetings to gain more insights!\nWhat did I do for 3 months? My primary task was to add functionality to the Keptn CLI that allowed users to generate a keptn-service and automatically set it up for them so that they can dive right into developing the core logic of their service they wish to onboard onto Keptn, all from a single command.\n  A simple TL;DR of my project\n  I had an amazing experience working on this project and being mentored by Jürgen Etzlstorfer, Johannes Bräuer, and, Florian Bacher. We had weekly sync-up calls where we discussed our projects and resolved any road-blockers I faced during the implementation of the same. I was able to complete the first half of the task within a month, which I presented to the Keptn community in one of the community developer meetings!\nOur LFX mentorship mentee is sharing his project today in the @keptnProject community \u0026amp; developer meeting.\nGreat progress so far - keep up the good work! pic.twitter.com/h1WK393XPE\n\u0026mdash; Jürgen Etzlstorfer (@jetzlstorfer) April 1, 2021  After few weeks of work, I was able to complete my project and soon one might be able to generate a keptn-service right from their CLI and start developing the same. I thought of adding another feature where the user can locally test their service directly by talking to the keptn cluster. This involved exposing the Keptn nats-cluster via a Load Balancer. Hence I opened another PR regarding the same and the feasibility of this feature is still in discussion and also has been discussed in my final presentation of the work I have done during the past 3 months.\n  My presentation for the project at Keptn Community Meeting\nAnd after my final presentation, few days later I received my graduation email 😃\n  The email informing my successful graduation from the LFX CNCF Mentorship Programme\n  Should you apply for LFX Mentorship Programme too? Are you interested in Open Source, Cloud Computing, and, the world of DevOps? Then, a Simple answer — Yes! Definitely try applying for the programme.\n  The email informing my successful graduation from the LFX CNCF Mentorship Programme\n  I am glad that I got this opportunity and have learnt a lot during the span of 3 months. I think it’s a really cool opportunity that you personally get mentored by amazing engineers who build tools to solve problems. Some perks of participating in the LFX Mentorship Programme include:\n Learning: Being a newbie to the world of DevOps, I certainly have gained a lot of knowledge by exploring and working alongside the people Networking: This is one of the under-rated perks of any Open Source Programmes. Networking and interacting with the community improves one’s soft skills and promotes growth when you hear different views, opinions, and approach on solving a problem. Stipend: Who does not love a stipend while learning 😉, the LFX Mentorship Programme pays a great stipend, but I would really advise participating in this programme not for the stipend but for the above points.  Is it difficult to get accepted into this programme? Definitely not!\nI started checking out the participating projects just a few weeks before the applications started and I did not have any sort of professional-level experience in GoLang either, but I was able to make it through.\nPersonally, I think the only requirements for one to get accepted into the LFX CNCF Programme are Willingness to Learn, Patience, Open to network, and, willing to give back to the community. That summarises the important skills for one to contribute in Open Source.\nSayonara Overall my journey has been a great experience and I would like to thank my mentors Jürgen Etzlstorfer, Johannes Bräuer, Florian Bacher for guiding me throughout, I would like to thank the community that’s always active and helps for the betterment of such tools, and, I would like to thank you, for reading till here 😃.\nThis summarized my journey as a Linux Foundation’s CNCF Mentee and I hope this blog was informative. If you have any questions regarding my project, Cloud Computing in general, you can find me on:\n GitHub: https://github.com/DarthBenro008 Twitter: https://twitter.com/hemanth_kri LinkedIn: https://www.linkedin.com/in/darthbenro008/  May the source be with you 😄\n","permalink":"https://blogs.benro.dev/posts/lfx-experience/","summary":"Hey Folks! I am Hemanth Krishna 👋, a sophomore undergrad student pursuing Computer Science at the time of writing this article. I recently graduated from the Linux Foundation’s CNCF Mentorship Programme where I worked on a project and contributed to Keptn, an awesome Open Source tool that’s a control plane for DevOps automation of cloud-native applications. That’s a lot of information in few sentences 😅, let’s break it down one by one!","title":"Linux Foundation’s CNCF Mentee — My Experience with Keptn"},{"content":"Hemanth Krishna  I strive to solve real-life problems that impact and helps one in the real world. Coding is my choice of tool to solve these problems, currently sharpening and expanding my arsenal to achieve it with ease!\n 👋 A junior year CS Undergrad who is very passionate about technology, and loves building tools that help solve problems.\n👩‍💻 Currently enthusiastic about decentralisation technologies, system architecture, and design.\n💕 My favourite font is JetBrains Mono\n😎 NeoVim User\n 🎿 Skills  Programming Languages: Kotlin/Java, Rust, Go, JS/TS, Dart, Python, Bash, C/C++ Frontend Frameworks: React, NextJS, Gatsby, Hugo Backend Frameworks: Node.Js, Gin-Gionic, GoFiber, Actix, Rocket, Django, Flask, FastAPI Database: MongoDB, PostgreSQL, MySQL, sqlite, Realm, Redis, Elastic Mobile App Development: Native Android (androidX, Jetpack Compose), Flutter Blockchain Technologies: lnd (lightning network),Bitcoin Core, Tezos (SmartPy), Oracle (Oro), Ethereum (Solidity smart contracts) DevOps: Docker, Kubernetes, Helm Charts, Containerisation, OIDC Providers Design: Figma, UI/UX, System Architecture Applications: Postman, JetBrains IDE (IntelliJ, GoLang, Datagrip, PyCharm), NeoVim  👨‍🏫 My Projects  rChore - Rust based CLI to boost productivity dotCloud - Cloud solution to manage secret keys and environment variables greenCredUs - Blockchain-based solution to save the world from carbon pollution UniChain - Blockchain and IPFS based human identification suite appBrickie - GitHub Action that builds android and flutter app and pushes it to telegram with push of commits AirTree - AR based Android App that teaches you about your surrouding EarthEnco - Smart pollution management tool to monitor health around the globe AnonSpace - A close proximity-based app that lets you chat with people around you anonymously  🔗 Quick Links  GitHub: https://github.com/DarthBenro008 Twitter: https://twitter.com/hemanth_kri LinkedIn: https://www.linkedin.com/in/darthbenro008/ Email: hkpdev008@gmail.com   This website is powered by Hugo, and uses a modded version of PaperMod. The sourcecode can be found on GitHub.\nAll opinions that may be listed here are my own\n ","permalink":"https://blogs.benro.dev/about/","summary":"about","title":"About"}]