NEXTGEN CLOUD COMPUTING

AGENDA

  • Introduction of Speaker
  • Introduction and History of Cloud Computing
  • Virtual Machines 
  • Containers and Docker
  • Dockerized Node.js App
  • VM vs Container
  • Container Orchestration
  • Unikernels
  • Try runtime.js
  • VM v/s Containers v/s Unikernels

PREREQUISITE

INTRODUCTION

OF SPEAKER

I'm Vivek

  • Software Engineer at Bykea
  • Part-Time Open Sourcerer
  • Contributor of Fedora Projects
  • Contributing Writer at Be Yourself
  • Volunteer Member of Devncode
  • Communiy Manager of MWB
  • Contributor of FreeCodeCamp
  • Contributor of  Node.js Foundation

I'M ON THESE PLACES

 I'M A.K.A SLIM CODER 

IT'S ALL START WITH

IT'S ALL START WITH EM

LOSE YOURSELF

EMINEM

WHEN I'M GONE

MARSHAL

MY NAME IS

SLIM SHADY

SLIM IS ON THESE PLACES

IT'S ALL START WITH

WANT TO LEARN MORE

 

INTRODUCTION AND HISTORY

CLOUD COMPUTING

  • Cloud computing is the delivery of on-demand computing services.

WHAT IS CLOUD COMPUTING

  • Rather than owning their own computing infrastructure or data centers, companies can rent access to anything.
  • One benefit of using cloud computing services is that firms can avoid the upfront cost and complexity of owning and maintaining their own IT infrastructure, and instead simply pay for what they use, when they use it.
  • From applications to storage and processing power typically over the internet and on a pay-as-you-go basis.

CLOUD COMPUTING MODELS

CLOUD COMPUTING PLATEFORMS

CLOUD COMPUTING EVOLUTION

CLOUD COMPUTING EVOLUTION

WANT TO LEARN MORE

VIRTUAL MACHINES

WHAT IS VIRTUAL MACHINES

  • A virtual machine, known as a guest, is created within a computing environment, called a host.
  • In other words, virtual machines behave as separate computer systems.
  • Virtual machines are software computers that provide the same functionality as physical computers.

WHY VIRTUAL MACHINES

  • Virtual machines are created to perform specific tasks that are risky to perform in a host environment.
  • The software inside the virtual machine cannot tamper with the host computer.

BENEFITS OF VIRTUAL MACHINE

LET'S SEE AN VIRTUAL MACHINE

VIRTUAL MACHINE ARCHITECTURE

WHAT IS HYPERVISOR

VIRTUAL MACHINE SOFTWARES

CONTAINERS

WHAT IS CONTAINER

  • A Container in cloud computing is an approach to operating system virtualization.
  • By this, the user can work with a program and its dependencies using resource procedures that are isolated.
  • The code of the application can be bundled with configurations and dependencies in a systematic manner.
  • Container in cloud computing is used to build blocks, which help in producing operational efficiency, version control, developer productivity and environmental consistency.

WHAT IS CONTAINERIZATION

  • The use of containers to deploy applications is called as containerization.

ADVANTAGES OF CONTAINER

Containerization is increasingly popular because containers are :

1. Flexible ,

2. Light Weight ,

3. Portable ,

4. Loosely Coupled ,

5. Scable and

6. Secure

CONTAINER FOR ENVIRONMENT CONSISTENCY

DOCKER CONTAINERS

WHAT IS DOCKER

  • Docker is a platform for developers to build, run, and share applications with containers.
  • Fundamentally, a container is nothing but a running process, with some added encapsulation features applied to it in order to keep it isolated from the host and from other containers.

IMAGE & CONTAINER

 
  • An image includes everything needed to run an application - the code or binary, runtimes, dependencies.
  • Above is the image of cat (docker image) what if cat get out of this image and say Hi (docker container)

DOCKER HUB

 
  • You can find images from DockerHub.
  • Then you run container from that image.

  LETS START DIGGING 

  • I hope you guy's have already installed Docker on your system.
docker --version 
docker run hello-world
docker images ls
docker container ls
  • Let's run our first container.

 LETS SEE AN EXAMPLE CODEBASE

WANT TO LEARN MORE

  LETS DOCKERIZED NODE.JS

DEPLOY IT TO DOCKERHUB 

TASK

VM V/S CONTAINERS

VM V/S CONTAINERS

CONTAINER ORCHESTRATION

1

CONTAINER ORCHESTRATION

1
  • Container orchestration is the automatic process of managing or scheduling the work of individual containers for applications based on microservices within multiple clusters.
  • The widely deployed container orchestration platforms are based on open-source versions like Docker Swarm.
  • The word orchestration is dervied from orchestra.
  • Container orchestration has helped to achieve microservices and microfrontend architecture.

WANT TO LEARN MORE

 
 

UNIKERNELS

UNIKERNELS

  • Unikernels are specialized, single-address-space machine images constructed by using library operating systems.
  • Unikernels are library operating systems this means that they are very lightweight operating systems and secure they are not like containers (especially docker) they are the very lightweight sizes of few MB's.

ADVANTAGES OF UNIKERNEL

  • Unikernels are great and lightweight here is a few advantages which given below:
Improved security, Small footprints, Highly optimized, Fast Boot

PROJECTS OF UNIKERNEL

  • Runtime.js: An open-source library operating system for the cloud that runs JavaScript
  • Unik: UniK (pronounced you-neek) is a tool for simplifying compilation and orchestration of Unikernels.
  • IncludeOS: A minimal, service-oriented, include able library operating system for cloud services. Currently a research project for running C++ code on virtual hardware.

If you want to dig into other projects for your use case then go through this link: http://unikernel.org/projects/

WANT TO LEARN MORE

LET'S TRY RUNTIME.JS

UNIKERNELS ARE NOT PRODUCTION READY

VM V/S CONTAINER V/S UNIKERNELS

VM V/S CONTAINER V/S UNIKERNELS

WANTS TO JOIN MENTORS WITHOUT BORDERS?

If yes! then don't forget to send me an email: vivek@mentorswithoutborders.net

NextGen Cloud Computing - Software Engineering Society MUET JAMSHORO

By Vivek Anand Sharma

NextGen Cloud Computing - Software Engineering Society MUET JAMSHORO

  • 235