You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: collections/_posts/2024-12-22-gsoc24-going-feral-on-the-cloud.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,11 +16,12 @@ The vision for Feral is to enable Scala developers to easily switch between one
16
16
With these goals in mind, it is imperative to provide robust support for the common serverless providers, which is what the project aimed to work towards.
17
17
18
18
## What I Did
19
-
| Pull Request (PR) | Status | Comments |
20
-
| --- | --- | --- |
21
-
|[Add `ApiGatewayV2WebSocketEvent`](https://github.com/typelevel/feral/pull/476)| Merged | The addition of this AWS Lambda event provided an introduction to serverless functions for me, while enhancing the support that Feral has for AWS Lambda. |
22
-
|[Created support for Vercel using Node.js runtime](https://github.com/typelevel/feral/pull/492)| Not Merged | Vercel's implementation of routes conflicts with the way Http4s handles routes. Due to this incompatibility between Feral and Vercel, this PR was not merged. Through working on this, there is a better understanding of how Vercel and Http4s work, which could pave the way for future work. |
23
-
|[Created support for Google Cloud HTTP functions](https://github.com/typelevel/feral/pull/498)| Merged | This PR enabled support for both JVM and Node.js runtimes. There is a minor error logged in the JVM runtime implementation that we minimized to a bug unrelated to Feral or any of the Typelevel libraries. The error does not seem to impact the functionality of the resulting web application, but it would be good to further investigate the cause of it. |
The addition of this AWS Lambda event provided an introduction to serverless functions for me, while enhancing the support that Feral has for AWS Lambda.
21
+
2.[Created support for Vercel using Node.js runtime](https://github.com/typelevel/feral/pull/492) (Not Merged)
22
+
Vercel's implementation of routes conflicts with the way Http4s handles routes. Due to this incompatibility between Feral and Vercel, this PR was not merged. Through working on this, there is a better understanding of how Vercel and Http4s work, which could pave the way for future work.
23
+
3.[Created support for Google Cloud HTTP functions](https://github.com/typelevel/feral/pull/498) (Merged)
24
+
This PR enabled support for both JVM and Node.js runtimes. There is a minor error logged in the JVM runtime implementation that we minimized to a bug unrelated to Feral or any of the Typelevel libraries. The error does not seem to impact the functionality of the resulting web application, but it would be good to further investigate the cause of it.
24
25
25
26
## Challenges and Lessons Learnt
26
27
It was challenging to support various serverless platforms, particularly Vercel and Google Cloud, which I created the initial implementation for. While I learnt along the way that the general procedure for supporting each platform was generally the same, where one would have to do things such as converting between types and using a dispatcher, there were still differences in certain details. For example, while referencing the pre-existing Feral implementation to support AWS Lambda event functions in order to support Google Cloud HTTP functions for the JVM runtime, I learnt that HTTP functions are a subset of AWS Lambda event functions, while they were separate in Google Cloud.
@@ -33,4 +34,4 @@ Through GSoC, I have learnt many new things while reinforcing what I already kno
33
34
I plan to continue contributing to enhancing Feral after GSoC 2024 ends. Some ways I could do this is to create support for Google Cloud Event functions and create SBT plug-ins to test Google Cloud functions locally as well as deploy the functions. If possible, investigation could also be done on how, if possible, Vercel can be integrated into Feral without impeding developers from using Http4s with it.
34
35
35
36
## Acknowledgements
36
-
I would first like to thank my mentors, [Arman](https://github.com/armanbilge) and [Antonio](https://github.com/toniogela) for their constant guidance during GSoC. In particular, I would like to thank Arman for taking the time to set up weekly pair programming sessions, which has enhanced my learning experience greatly. I would also like to thank the Scala Center and the Typelevel community for proposing and supporting this project. Lastly, I would like to thank Google for hosting GSoC 2024 and providing me with the opportunity to learn about open source projects.
37
+
I would first like to thank my mentors, [Arman](https://github.com/armanbilge) and [Antonio](https://github.com/toniogela) for their constant guidance during GSoC. In particular, I would like to thank Arman for taking the time to set up weekly pair programming sessions, which has enhanced my learning experience greatly. I would also like to thank the Scala Center and the Typelevel community for proposing and supporting this project. Lastly, I would like to thank Google for hosting GSoC 2024 and providing me with the opportunity to learn about open source projects.
0 commit comments