Spelling suggestions: "subject:"AWS lambda"" "subject:"AWS iambda""
1 |
Evaluation of “Serverless” Application Programming Model : How and when to start ServerlesGrumuldis, Algirdas January 2019 (has links)
Serverless is a fascinating trend in modern software development which consists of pay-as-you-go, autoscaling services. Promised reduction in operational and development costs attracts not only startups but also enterprise clients despite that serverless is a relatively fresh field where new patterns and services continue to emerge. Serverless started as independent services which solve specific problems (highly scalable storage and computing), and now it's become a paradigm shift how systems are built. This thesis addressed questions when and how to start with serverless by reviewing available literature, conducting interviews with IT professionals, analyzing available tools, identifying limitations of serverless architecture and providing checklist when serverless is applicable. The focus was on AWS serverless stack, but main findings are generic and hold for all serverless providers serverless delivers what it promises, however, the devil is in the detail. Providers are continuously working to resolve limitations or building new services as solutions in order to make serverless the next phase of cloud evolution. / Serverless är en fascinerande trend inom nutida mjukvaruutveckling som består av pay-as-you-go, autoscaling-tjänster. Löftet om reducerade kostnader för drift och utveckling attraherar såväl startupföretag som storföretag, trots att serverless är ett relativt nytt område där nya inriktningar och tjänster fortsätter att uppkomma. Serverless började som en oberoende tjänst som löste specifika problem (högt skalbar lagring och databehandling), och har nu blivit ett paradigmskifte för hur system byggs. Denna uppsats sökte svar på frågor om när och hur man ska börja med serverless genom att granska tillgängliga publikationer, genomföra intervjuer med IT-experter, analysera tillgängliga verktyg och identifiera begränsningarna i serverless-arkitekturen. Fokus ligger på AWS serverless stack, men de huvudsakliga slutsatserna är generiska och gäller för alla serverless-leverantörer – serverless håller vad den lovar, men djävulen bor i detaljerna. Tjänsteleverantörerna jobbar oavbrutet med att lösa begränsningarna eller skapa nya tjänster och lösningar som ska göra serverless till nästa fas i molnevolutionen.
|
2 |
Using React Native and AWS Lambda for cross-platform development in a startupAndersson, Jonas January 2017 (has links)
When developing mobile applications, the tradition has been to write code specific (native) for each platform they are running on. Usually it’s about writing two separate applications for the biggest platforms, Android and iOS. There exist alternatives to this approach that uses the same code for different platforms. React Native is a relatively new cross-platform development framework that makes it possible to use the same code for application to Android and iOS. It also uses native UI-elements as a possible solution for performance issues that is often associated with cross-plattform development. This thesis evaluates React Native and compares it against native Android. The implementation is done by replicating the main functionality from a social media application written as a native Android application. However, the application is not made as an exact replica since that could limit the solutions in React Native. The evaluation is done in a Startup company and therefore focuses on aspects important in a Startup. Another issue when developing a mobile application is what type of backend that shall be used. Performance, scalability and complexity are all important aspects when choosing a framework or language as a base for the backend architecture.There do exist theoretical frameworks that could be used when building the backend. However, these frameworks require resources that are often missing in a Startup. AWS Lambda is a platform that claims to be a cost-effective way of building a scalable application. In this thesis AWS Lambda is evaluated to see if it can be used to create an automatically scaled backend for this type of social media application. The conclusion of the React Native evaluation is that it can be a suitable alternative to native Android development. If the team has previous experience in web development but lack experience in mobile application development it can be a wise choice since it removes the need to learn two frameworks in native Android and native iOS development. React Native is also good to fast create functional prototypes which can be shown to potential investors. The biggest drawback is performance in animations. However, there are often ways to work around that. In our case this drawback did not affect the user experience of the end application. The evaluation of AWS Lambda concludes that it is not for every project. In this thesis, the application was a bit too database heavy and therefore the autoscaling ability did not work properly. However, for a service that needs a lot of computing power, AWS Lambda could be a good fit. It could also be a suitable alternative if someone in the team has previous experience in the AWS environment.
|
3 |
Punching Holes in the Cloud: Direct Communication between Serverless Functions Using NAT TraversalMoyer, Daniel William 04 June 2021 (has links)
A growing use for serverless computing is large parallel data processing applications that take advantage of its on-demand scalability. Because individual serverless compute nodes, which are called functions, run in isolated containers, a major challenge with this paradigm is transferring temporary computation data between functions. Previous works have performed inter-function communication using object storage, which is slow, or in-memory databases, which are expensive. We evaluate the use of direct network connections between functions to overcome these limitations. Although function containers block incoming connections, we are able to bypass this restriction using standard NAT traversal techniques. By using an external server, we implement TCP hole punching to establish direct TCP connections between functions. In addition, we develop a communications framework to manage NAT traversal and data flow for applications using direct network connections. We evaluate this framework with a reduce-by-key application compared to an equivalent version that uses object storage for communication. For a job with 100+ functions, our TCP implementation runs 4.7 times faster at almost half the cost. / Master of Science / Serverless computing is a branch of cloud computing where users can remotely run small programs, called "functions," and pay only based on how long they run. A growing use for serverless computing is running large data processing applications that use many of these serverless functions at once, taking advantage of the fact that serverless programs can be started quickly and on-demand. Because serverless functions run on isolated networks from each other and can only make outbound connections to the public internet, a major challenge with this paradigm is transferring temporary computation data between functions. Previous works have used separate types of cloud storage services in combination with serverless computing to allow functions to exchange data. However, hard-drive--based storage is slow and memory-based storage is expensive. We evaluate the use of direct network connections between functions to overcome these limitations. Although functions cannot receive incoming network connections, we are able to bypass this restriction by using a standard networking technique called Network Address Translation (NAT) traversal. We use an external server as an initial relay to setup a network connection between two functions such that once the connection is established, the functions can communicate directly with each other without using the server anymore. In addition, we develop a communications framework to manage NAT traversal and data flow for applications using direct network connections. We evaluate this framework with an application for combining matching data entries and compare it to an equivalent version that uses storage based on hard drives for communication. For a job with over 100 functions, our implementation using direct network connections runs 4.7 times faster at almost half the cost.
|
Page generated in 0.0443 seconds