Stacks, VMs, and Microservices Flashcards
What is virtulisation?
Virtualisation is a very old computing technology, first used on mainframes in the 1960s. It allowed many users to each have what seemed like their own dedicated computer connected to a terminal.
When are VMs used?
VMs are used in: - development and production environments - Emulation of alternate hardware, e.g. mobile phones - Experimental and test environments - Deployment on “cloud computing”
What are containers?
Containers are packaged software applications that run on a host system. Containers, like virtual machines, isolate applications from each other. Unlike VMs containers do not require a complete operating system. Applications developed in containers do not need to be ported to different host environments. Typically each container provides a single application written in one programming language, e.g. Python or Java. Once the application has been written and tested on a development system, or development hosting, it can be deployed by uploading to the hosting service. There is usually very little extra configuration required and no changes to the application.
What are serverless applications?
Serverless shares characteristics of Software-as-a-Service (SaaS), and is sometimes called Function-as-a-service. Where Software-as-as-Service provides complete packages, for example web based email, Serverless applications are built from web based components. SaaS typically employs the MVC architecture. Serverless applications are typically pipelines.
Serverless applications are event-driven cloud-based systems where application development rely solely on a combination of third-party services, client-side logic and cloud-hosted remote procedure calls (Functions as a Service).
What are some characterics of serverless applications?
Serverless applications tend to have the following characteristics: - scale automatically - respond to triggers - are stateless - use multiple languages e.g. provide short bursts of intense computation.
What are some use cases for serverless applications?
Serverless application use cases: - Automation of business processes - Back-end for mobile and IoT applications - Analysis of images and video
What is “backend as a service?”
Backend-as-a-Service (BaaS) is a cloud service model in which developers outsource all the behind-the-scenes aspects of a web or mobile application so that they only have to write and maintain the frontend. BaaS vendors provide pre-written software for activities that take place on servers, such as user authentication, database management, remote updating, and push notifications (for mobile apps), as well as cloud storage and hosting.