Skip to content

shravi24/Getting-Started-With-Enarx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 

Repository files navigation

Enarx

Getting started with Enarx

To get started in learning a new technology or a language is hard at first. I want to reduce this initial frustation and make the journey much more enjoyable. This repo contains the things that you will need in journey with Enarx.


🌈 Excited ?
Let's get started


Contents


Introduction to Enarx

Enarx is an open source project which makes it possible to deploy sensitive workloads on not fully trusted hosts in public cloud, private cloud , Edge, IoT  etc. It is a project that aims to reduce the number of trust realtionships while maintaining a high level of security.

How it Works?

When learning about working of Enarx, you will definitely come across these two keywords the most: TEE (Trusted Execution Environment) and WASM (WebAssembly). {More about this in a bit..}

Enarx uses TEE(Trusted Execution Environments) to deploy into confidentiality and integrity protected WebAssembly runtimes. In simpler words, Enarx helps to run applications in a secure environment using TEE and WebAssembly runtimes.

In a more technical sense, Enarx is a deployment framework means it helps you deploy applications easily. First, You develop an application in language of your liking and then compile it to WebAssembly. Since Enarx has no stringent prerequisites like cloud or cpu vendors, you can run it on any cloud you like. So, regardless of the setup, you're ready to deploy your application in a secure environment.

If you are already feeling curious, feel free to check out the blogs and conference videos mentioned down below. Don't fret if you can't understand some of the terms in these blogs or videos. Don't worry, you will get there ;)


Blog References


Youtube References


Let's get to the crux of matter. You might be wondering that if there are TEEs (Trusted Execution Environments) out there, so why use Enarx? In this section, we will briefly see why to use Enarx.


Why to use Enarx?

When you operate your workloads as VMs, in a serverless environment, or in the cloud, these workloads are susceptible to cloud providers, as well as anyone with access to the hypervisor, root, or kernel. So basically you are trusting a lot of people who you don't know in order to run applications on cloud. To provide a trusted environment for execution, the TEEs are built. But they have lot of inadequencies and are not easily used across platforms.

So, Enarx enables you to deploy your application in a secure environment without having to trust a large number of dependencies or rebuild your application for different platforms making it easier, faster and more secure to develop on.

If you are feeling curious about this, check the below mentioned article.

Check this out for more details : Trust No One, Run Everywhere–Introducing Enarx

Let's now understand a few key terms that you would need throughout your contribution and learning journey in Enarx.


What is WebAssembly ?

WebAssembly is a sort of binary-code that can be run in modern web browsers. It allows us to write code in different languages and run it on the web.

Here is a checklist to help you better understand WebAssembly :


What is TEE ?

A Trusted Execution Environment (TEE) is a an environment in which the code that is run and the data that is accessible are physically segregated and confidentially secured, ensuring that no one with a lack of integrity may access the data or alter the code or its behaviour.

Checkout for more : TEE


How you can contribute and collborate ?

adventure

Best way to get better at something is by doing. Get together with the community, share your ideas and implement few projects.

So how you can contribute and collborate ?

At first, you should get familiar with the community and ask questions if have any. Enarx has a great community and you will surely be at ease after the inital jitters.

For joining the Chat check out the Community chat.

If you have any questions, feel free to contact Nick Vidal and all the community members. They are some of the most amazing people I have ever met.

To get started in contribution, check out the below links.

Contribution Guide

Enarx project repository

You can start with Good first issues to get more familiar with the Enarx codebase.

For starting with the contributions, you may have to install Enarx on your local system. Instructions to install the Enarx

This may require some additional hardware supports to be enabled. If you don't have the necessary hardware support then you can also access the lab machines to work on Enarx. Getting lab access to contribute to Enarx

You can check out the links down below to check out demos we created as Outreachy Interns.


Demos :

  1. ML Diabetes

  2. TCP MIO Server

  3. Bulletproof

I have added a few things here and if you think some other things that need to be here as well feel free to create an issue and reach out.

About

Beginner's Guide To Enarx

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors