SlideShare a Scribd company logo
1 of 90
Download to read offline
Cloud Platforms and Frameworks
by
Dr.Animesh Chaturvedi
Assistant Professor: LNMIIT Jaipur
Post Doctorate: King’s College London &TheAlanTuring Institute
PhD: IIT Indore
REST API
1. Representational StateTransfer (REST)
2. IaaS and Hybrid Cloud
• Orchestration &Virtualization: Eucalyptus &Amazon
• Content Delivery Network (CDN): Facebook andAkamai
3. PaaS and Container as a Service (CaaS)
• PaaS: GoogleApp Engine (GAE) and Ruby on Rails
• CaaS: DockerHub
4. SaaS and DistributedVersion Control (DVC)
• SaaS: FacebookTesting (Infer and Sapienz)
• DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
• NIST Guidelines, GDPR, CDN Security
Representational State Transfer (REST)
 Representational StateTransfer (REST) was introduced and defined
in 2000 by Roy Fielding in his doctoral dissertation.
 The REST principles: "HTTP Object Model" begin and design
Uniform Resource Identifiers (URI) standards in 1994.
 Intended to invoke an image: it is a network ofWeb resources (a
Virtual State Machine) where the user progresses through the
application by selecting resource identifiers and resource
operations such as GET or POST (application state transitions),
 Resulting in the next resource's representation (the next
application state) being transferred to the end user for their use.
https://en.wikipedia.org/wiki/Representational_state_transfer
Representational State Transfer (REST)
 WWW: "Web resources" are documents or files at URLs.
 Web 2.0:“Web Resources” are generic and abstract entities,
or actions that can be identified, named, addressed, handled,
or performed in many way on the internet as URI or URL.
 requests to a resource's URI:
 a response with a payload formatted in many ways
 e.g., HTML, XML, JSON, or some other format.
 The response given alternate resource state,
 provide hypertext links to alternate related resources.
https://en.wikipedia.org/wiki/Representational_state_transfer
Representational State Transfer (REST)
 REST is a software architectural style that defines a set of
constraints to be used for creatingWeb services.
 Web services that conform to the REST architectural style,
called RESTfulWeb services, provide interoperability
between computer systems on the internet.
 RESTfulWeb services allow the requesting systems to access
and manipulate textual representations ofWeb resources by
using a uniform and predefined set of stateless operations.
https://en.wikipedia.org/wiki/Representational_state_transfer
Representational State Transfer (REST)
 Stateless protocol and standard operations,
 Rest API:The operations HTTP methods available are GET,
HEAD, POST, PUT, PATCH, DELETE, CONNECT,
OPTIONS andTRACE.
 Ability to grow by reusing components that can be managed
and updated without affecting the system.
 Other kinds: SOAPWeb services, expose their own arbitrary
sets of operations.
https://en.wikipedia.org/wiki/Representational_state_transfer
Representational State Transfer (REST)
HTTP
Method
Operations for resource management
GET Retrieve the URIs and representation of resource in the response body.
POST Create a resource using the instructions in the request body.The URI of
the created resource is automatically assigned and returned in the
response Location header field.
PUT Replace all the representations of the resources with the representation
in the request body, or create the resource if it does not exist.
PATCH Update all the representations of the resources of the resource using the
instructions in the request body, or may create the resource if it does not
exist.
DELETE Delete the representations of the resources.
https://en.wikipedia.org/wiki/Representational_state_transfer
Web Oriented Architecture (WOA)
 Software architecture: extends SOA to web-based
applications and sites, such as social websites and personal
websites.
WOA = SOA +WWW + REST
 A core set ofWeb protocols like HTTP, HTTPS and plain
XML, the only real difference between traditional SOA and
the concept ofWOA
 WOA advocates REST a method for HTTP as aWeb service
 EnterpriseWOA is a sub-style of Enterprise SOA
https://en.wikipedia.org/wiki/Web-oriented_architecture
Web Oriented Architecture (WOA)
 WOA is substyle of SOA that integrates systems and users via
a web of globally linked hypermedia based onWeb
architecture.
 Emphasize generality of User interfaces andAPIs for global
network effects through five fundamental:
 Identification of resources
 Manipulation of resources through representations (Web
resource)
 Self-descriptive messages
 Hypermedia as the engine of application state
 Application neutrality
https://en.wikipedia.org/wiki/Web-oriented_architecture
IaaS and Hybrid Cloud
1. Representational StateTransfer (REST)
2. IaaS and Hybrid Cloud
• Orchestration &Virtualization: Eucalyptus & Amazon
• Content Delivery Network (CDN): Facebook and Akamai
3. PaaS and Container as a Service (CaaS)
• PaaS: GoogleApp Engine (GAE) and Ruby on Rails
• CaaS: DockerHub
4. SaaS and DistributedVersion Control (DVC)
• SaaS: FacebookTesting (Infer and Sapienz)
• DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
• NIST Guidelines, GDPR, CDN Security
IaaS and Hybrid Cloud
A. Orchestration andVirtualization
• Orchestration
• Virtual machines
• Type-1, native or bare-metal hypervisors
• Type-2 or hosted hypervisors
• BothType 1 andType 2
B. Hybrid Eucalyptus andAmazon-EC2
A. Content Delivery Network, or
Content Distribution Network (CDN)
B. HybridAkamai and Facebook
Infrastructure as a Service (IaaS)
 IaaS are online services
 provide high-levelAPIs used to dereference (or abstract) various
low-level details of infrastructure like
 physical computing resources,
 location,
 data partitioning,
 scaling,
 security,
 backup
 IaaS deals with Cloud Orchestration andVirtualization
https://en.wikipedia.org/wiki/Infrastructure_as_a_service
Examples of IaaS Clouds
IaaS involves the use of a Cloud Orchestration andVirtualization
Technologies like
 Eucalyptus
 Hypervisors (KVM, Xen,VMware)
 Private and
 Hybrid cloud computing with Amazon Elastic Compute Cloud (EC2)
 Open Stack,
 OpenStack-native RESTAPI and
 Hybrid cloud computing with CloudFormation-compatible Query API
 Apache Cloudstack
 virtualization, such as KVM,VMware vSphere, including ESXi and vCenter,
and XenServer/XCP.
 OpenNebula.
 Hypervisors (VMware vCenter, KVM, LXD and AWS Firecracker
https://en.wikipedia.org/wiki/Infrastructure_as_a_service
Examples of IaaS Clouds
 AmazonWeb Services
 AppScale
 Box
 Bluemix
 CloudBolt
 Cloud Foundry
 Cocaine (PaaS)
 Creatio
 EngineYard
 GreenQloud
 IBM Cloud
 iland
 Joyent
 Linode
 Lunacloud
 Microsoft Azure
 Mirantis
 Netlify
 Nimbula
 Nimbus
 OpenIO
 OpenNebula
 OpenStack
 Oracle Cloud
 OrionVM
 Rackspace Cloud
 Safe Swiss Cloud
 SoftLayer
 Zadara Storage
 libvirt
 libguestfs
 OVirt
 Virtual Machine
Manager
 Wakame-vdc
 Virtual Private Cloud
OnDemand
https://en.wikipedia.org/wiki/Infrastructure_as_a_service
Orchestration
 Automated configuration, coordination, and management of
 service-oriented architecture,
 virtualization,
 provisioning,
 converged infrastructure and
 dynamic datacenter.
 To meet requirements ofApplications, Data, and Infrastructure.
 Difference Between
 Workflows Automation are processed and completed as processes
within a single domain for automation purposes.
 Orchestration includes a workflow and provides a directed action
towards larger goals and objectives.
https://en.wikipedia.org/wiki/Orchestration_(computing)
Virtualization
Hypervisor: Runs one or more virtual machines is called
a host machine, and each virtual machine is called a guest
machine.
 Type-1, native or bare-metal hypervisors
 Type-2 or hosted hypervisors:
https://en.wikipedia.org/wiki/Hypervisor
Type-1, native or bare-metal
hypervisors:
run directly on the host's hardware to control the hardware
and to manage guest operating systems.
 SIMMON and IBM's CP-40 (first Hypervisors late 1960s)
 Microsoft Hyper-V and Xbox One system software
 VMware ESXi (formerly ESX),
 NutanixAHV,
 XCP-ng,
 OracleVM Server for SPARC and x86,
 POWER Hypervisor,and
 Xen.
https://en.wikipedia.org/wiki/Hypervisor
Type-2 or hosted hypervisors:
run on a conventional Operating-system of a host
machine like a process as a guest machine
 OracleVirtualBox,
 Parallels Desktop for Mac,
 QEMU,
 VirtualBox,
 VMware Player and
 VMwareWorkstation
https://en.wikipedia.org/wiki/Hypervisor
Both Type 1 and Type 2
are kernel modules
 Linux's KVM (Kernel-basedVirtual Machine)
 FreeBSD's bhyve (Berkeley Software Distribution BSD)
https://en.wikipedia.org/wiki/Hypervisor
IaaS and Hybrid Cloud
A. Orchestration andVirtualization
• Orchestration
• Virtual machines
• Type-1, native or bare-metal hypervisors
• Type-2 or hosted hypervisors
• BothType 1 andType 2
B. Hybrid Eucalyptus and Amazon-EC2
A. Content Delivery Network, or
Content Distribution Network (CDN)
B. HybridAkamai and Facebook
Amazon EC2, EBS, and S3
Amazon Elastic Compute Cloud (EC2):
 Pay per usage: rentVirtual Machines (VMs) to run applications
 Elastic: scalable deployment of applications by web services
 Amazon Machine Image (AMI) instance contains desired software
 Create, launch, and terminate instances,
 Amazon switched its own retail website platform to EC2 and AWS
Amazon Elastic Block Store (EBS) provides raw block-level
storage that can be attached to Amazon EC2 instances used by
Amazon Relational Database Service (RDS).
Amazon Simple Storage Service (S3) provides scalable storage
infrastructure through a web service interface.
https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud
https://en.wikipedia.org/wiki/Amazon_S3
https://en.wikipedia.org/wiki/Amazon_Elastic_Block_Store
Web Service Components in
Eucalyptus
Cloud Controller (CLC): For administrators, developers, project
managers, and end-users to manage virtualized resources (servers,
network, and storage), and high-level scheduling decisions.
https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html
Please refer to Unit 2
Web Service Components in
Eucalyptus
 Cluster Controller (CC) executes on a machine that has
network connectivity with machines running the Node Controller
(NC) and the CLC. It schedules and managesVM network.
 Storage Controller (SC) interface with various storage systems
(NFS, iSCSI, SAN devices, etc.).
 Walrus allows users to store persistent data, organized as buckets
and objects forVirtual Machine (VM) images and user data.
 Node Controller (NC) executes on any machine that hostsVM
instances, and controlsVM activities: execution, inspection, and
termination.
https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html
Please refer to Unit 2
AWS-Eucalyptus Compatibility
Feature: AWS  Eucalyptus
Elastic: EC2   CC
Elastic Block Store: EBS   Storage Controller
Storage: S3  Walrus
https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html
AWS-Eucalyptus Compatibility
 AWS-Compatible API is implemented on top of Eucalyptus.
 AWSTools — how to configure and use with Eucalyptus,
 https://github.com/eucalyptus/eucalyptus/wiki/AWS-Tools
 Consumer use or reuseAWS-Compatible tools, images, and
scripts.
 Tools in the eucalyptus cloud ecosystem can communicate
with AWS.
https://github.com/eucalyptus/eucalyptus/wiki
AWS-Eucalyptus Compatibility
Add instances and virtual machines as traffic demands increases
 Autoscaling – to scale Eucalyptus cloud resources up or down
 to maintain performance and meet SLAs.
 Amazon EC2-compatibleAPIs and tools.
 Elastic Load Balancing – Distributes incoming application
traffic and service calls across multiple Eucalyptus workload
instances.
 CloudWatch – Resources andApplications Monitoring tool
likeAmazon CloudWatch
 The collection of metrics, set alarms, and identify trends
 take action to ensure applications continue to run smoothly.
https://en.wikipedia.org/wiki/Eucalyptus_(software)
https://en.wikipedia.org/wiki/Eucalyptus_(software)
IaaS and Hybrid Cloud
A. Service Orchestration andVirtualization
• Abstraction layer or abstraction level
• Virtual machines
• Type-1, native or bare-metal hypervisors
• Type-2 or hosted hypervisors
• BothType 1 andType 2
B. Hybrid Eucalyptus andAmazon-EC2
A. Content Delivery Network, or
Content Distribution Network (CDN)
B. Hybrid Akamai and Facebook
Content Delivery Network, or
Content Distribution Network (CDN)
 CDN is a geographically distributed network of proxy servers and
their data centers
 to provide high availability and performance by distributing the
service spatially relative to end users.
 came in late 1990s to improve the performance bottlenecks of the
Internet
 Peer-to-peer CDNs: Consumers provide resources as well as use
them. Different from client-server
 Private CDNs: Content owners create their own CDN.
https://en.wikipedia.org/wiki/Content_delivery_network
(Left) Single server distribution
(Right) CDN scheme of distribution
Akamai CDN
 Global CDN, Cybersecurity, and Cloud service provider.
 Akamai CDN is one of the largest distributed computing
platform
 Serving between 15% and 30% of all web traffic
 Operates and rents worldwide network of servers
 Consumer websites work faster by distributing content from
locations near the end-user.
 End-user navigates to the URL of anAkamai’s consumer; their
browser is redirected to one ofAkamai's copies of the website.
 Facebook as Consumer ofAkamai CDN uses many edge
servers closer to FB consumer (i.e. FB users).
https://en.wikipedia.org/wiki/Akamai_Technologies
https://en.wikipedia.org/wiki/Akamai_Technologies
Hybrid Akamai and Facebook
 Facebook Photo Serving Stack: components are linked to
show the photo retrieval work-flow.
 Desktop and Mobile clients initiate request traffic, which
routes either directly to the Facebook Edge or via Akamai
CDN depending on the fetch path.
 The Origin Cache collects traffic from both paths, serving
images from its cache and resizing them if needed.
 The Haystack backend holds the actual image content.
Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM
Symposium on Operating Systems Principles. 2013.
Facebook’s Photo-Serving Stack
 Browser:The first cache layer is in the client’s browser
 Edge: The Facebook Edge is comprised of a set of Edge
Caches that each run inside points of presence (PoPs) close to
end users.
 Haystack: The backend layer accessed when there is a miss
in the Origin cache (co-located with storage servers), the
image can often be retrieved from a local Haystack server.
Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM
Symposium on Operating Systems Principles. 2013.
Backend
(Haystack)
Browser
Cache
Edge
Cache
Origin
Cache
PoPClient Data Center
R
Hybrid Akamai and Facebook
Architecture and full life cycle of a photo request
 PhotoTransformations: Resizers transform photos that are
requested by theAkamai CDN,
 Caching Stack
Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM
Symposium on Operating Systems Principles. 2013.
PaaS and Container as a Service (CaaS)
(Google App Engine and DockerHub)
1. Representational StateTransfer (REST)
2. IaaS and Hybrid Cloud
• Orchestration &Virtualization: Eucalyptus &Amazon
• Content Delivery Network (CDN): Facebook andAkamai
3. PaaS and Container as a Service (CaaS)
• PaaS: Google App Engine (GAE) and Ruby on Rails
• CaaS: DockerHub
4. SaaS and DistributedVersion Control (DVC)
• SaaS: FacebookTesting (Infer and Sapienz)
• DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
• NIST Guidelines, GDPR, CDN Security
Platform as a service (PaaS)
 PaaS allow customers to do application
 development,
 execution, and
 management
 PaaS removes the complexity of building and maintaining the
infrastructure for app
 development and
 deployment
https://en.m.wikipedia.org/wiki/Platform_as_a_service
Examples of PaaS Clouds
 AmazonWeb Services
 Abiquo Enterprise
Edition
 CloudStack
 Citrix Cloud
 CtrlS
 DigitalOcean
 EMCAtmos
 Eucalyptus
 Fujitsu
 GoGrid
 Google Cloud Platform
 GreenButton
 Helion
 GE Predix
 GoogleApp Engine
 GreenQloud
 Heroku
 IBM Cloud
 Inktank
 Jelastic
 Mendix
 Microsoft Azure
 MindSphere
 Netlify
 Oracle Cloud
 OutSystems
 openQRM
 OpenShift
 PythonAnywhere
 RightScale
 Scalr
 Force.com
 SAP Cloud Platform
 VMware vCloudAir
 WaveMaker
https://en.m.wikipedia.org/wiki/Platform_as_a_service
PaaS and Container as a Service
(CaaS)
A. PaaS – Google App Engine (GAE) and Ruby on
Rails (please refer to Unit 2)
B. Container as a Service (CaaS) - DockerHub
GAE: Modern Web Applications
Web app using GoogleApp Engine (GAE) and Google Cloud.
 Quickly reach customers and end users by deploying web
apps onApp Engine.
 Zero-config deployments and zero server management.
 Only writing code forApp Engine.
 App Engine automatically scales to support sudden traffic
spikes without provisioning, patching, or monitoring.
https://cloud.google.com/appengine Please refer to Unit 2
GAE: Modern Web Applications
https://cloud.google.com/appengine Please refer to Unit 2
GAE: Scalable Mobile Back-ends
Mobile app built with Firebase and Google services.
 automatically scales the hosting environment.
 an easy-to-use frontend mobile platform
 scalable and reliable back end
https://cloud.google.com/appengine Please refer to Unit 2
PaaS and Container as a Service
(CaaS)
1. PaaS – Google App Engine (GAE) and Ruby on Rails
(please refer to Unit 2)
2. Container as a Service (CaaS) – DockerHub
OS-level virtualization
OS-level virtual image looks like real computers from the point of
view of programs running on
 Containers (LXC, Solaris containers, Docker),
 Zones (Solaris containers), Partitions,
 Virtual private servers (OpenVZ), Virtual
environments (VEs), Virtual kernels (DragonFly BSD), or
 All resources (connected devices, files and folders, network
shares, CPU power, quantifiable hardware capabilities).
 Programs running inside of a container can only see the
container's contents and devices assigned to the container.
 Container refer to OS-level virtualization systems,
e.g. Microsoft's Hyper-V containers.
https://en.m.wikipedia.org/wiki/OS-level_virtualization
Container image
 Container is a running process interacting with its own
private filesystem provided by a Container image.
 Container image runs an application with
- the code or binary,
- runtime dependencies, and
- any other filesystem objects required.
 Docker is a platform for developers and sysadmins to build,
run, and share applications with containers.
https://docs.docker.com/get-started/
DockerHub is a CaaS
 Solomon Hykes and Sebastien Pahl
 OS-level virtualization to deliver software in packages called
containers.
 hosts the containers is called Docker Engine
 Docker can package an application and its dependencies in a
virtual container that can run on any Linux server.
 Containers are isolated from one another and bundle their own
software, libraries, and configuration files;
 All containers are run by a single operating system kernel and
therefore use fewer resources thanVMs.
https://en.m.wikipedia.org/wiki/Docker_(software)
Docker Computational reproducibility
Docker implement and deployment of containers, includes:
(1) cross-platform portability,
(2) modular/component re-using and sharing,
(3) Linux container (LXC) based OS level virtualization,
(4) portable across platforms, and
(5) archiving and versioning of container images.
Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS
Operating Systems Review 49.1 (2015): 71-79.
Dependency and Coupling
 Interdependence and relationships between software modules;
 Connected two or more routines or modules;
 Coupling can be "low/loose" or "high/tight"
 Low coupling provides a well-structure and good design software,
 Disadvantage of High/Tightly coupled:
 Change in one module forces changes in other dependent modules.
 Modularity require effort or time due to inter-module dependency.
 Harder to reuse and test modules due to dependent modules.
 Performance reduction by message and parameter
 request/response messages require CPU and memory in
 message creation, transmission, translation (e.g. marshaling) and
interpretation (string, array or data structure)
https://en.wikipedia.org/wiki/Coupling_(computer_programming)
Docker images: resolve Dependencies
 Docker image is based on a Linux system with Linux-compatible
software including
- R,
- Python,
- Matlab, and
- most other programming environments.
 Docker image andVirtual Machine (VM) image
 Similarity: resolves the dependency with a pre-installed and pre-
configured binary image of dependencies.
 Dissimilarities: Docker images share the Linux kernel with the host
machine.
Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS
Operating Systems Review 49.1 (2015): 71-79.
Dockerfile
 Docker can build images automatically by reading the
instructions from a Dockerfile.
 Dockerfile is a text document that contains all the commands
a user could call on the command line to assemble an image.
 Docker build create an automated build that executes several
command-line instructions.
docker build -f /path/to/a/Dockerfile
 Copy and paste to pull this image
docker pull hello-world
https://hub.docker.com/_/hello-world
Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS
Operating Systems Review 49.1 (2015): 71-79.
Docker concepts
The use of containers to deploy applications is called containerization.
 Flexible: Complex applications can be containerized.
 Lightweight: Containers leverage and share the host kernel,
making them efficient resource usage as compared toVMs.
 Portable: Build locally, deploy to the cloud, and run anywhere.
 Loosely coupled: Containers are highly self sufficient and
encapsulated allow to replace or upgrade.
 Scalable: Distribute container replicas across a datacenter.
 Secure: Constraints and isolations to processes without any
configuration required on the part of the user.
https://docs.docker.com/get-started/
Containers & Virtual machine (VM)
 Container runs natively on Linux and shares the kernel of the host
machine with other containers. It runs a discrete process, taking
memory like an executable.
 VM runs a full “guest OS” with hypervisor access to host
resources. VM uses overhead resources that are not consumed by
application logic.
https://docs.docker.com/get-started/
Build and run your Docker image
git clone https://github.com/dockersamples/node-bulletin-board
cd node-bulletin-board/bulletin-board-app
docker build --tag bulletinboard:1.0
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0
https://docs.docker.com/get-started/part2/
Why PaaS or CaaS
Programming tools, Deployment tools, andApplication hosting
 CaaS include stack of tools for deploying containers.
 CaaS do not include development tools.
 CaaS is a subset of PaaS functionality
 CaaS main use case is containerized applications
 CaaS is an incomplete form of a PaaS.
 PaaS and CaaS use-cases:
 PaaS: integrated solution for develop and deploy applications
 CaaS: easy to set-up and manage a container environment
 Benefit from a development at PaaS or not? Yes, then PaaS
 Pre-developed application for public deployment or not?Yes, then
CaaS
https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/
PaaS and CaaS Hybrid
 PaaS-CaaS hybrid provides both development environment
and deployment container
 Amazon Elastic Container Service (ECS),
 Ruby-on-Rails (EngineYard) and
 GoogleApp Engine etc.
https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/
https://aws.amazon.com/ecs/
https://www.engineyard.com/
https://cloud.google.com/appengine
SaaS and Distributed Version Control
(Facebook Testing, GitHub and Git-LFS)
1. Representational StateTransfer (REST)
2. IaaS and Hybrid Cloud
• Orchestration &Virtualization: Eucalyptus &Amazon
• Content Delivery Network (CDN): Facebook andAkamai
3. PaaS and Container as a Service (CaaS)
• PaaS: GoogleApp Engine (GAE) and Ruby on Rails
• CaaS: DockerHub
4. SaaS and DistributedVersion Control (DVC)
• SaaS: FacebookTesting (Infer and Sapienz)
• DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
• NIST Guidelines, GDPR, CDN Security
SaaS and Distributed Version
Control
A. ScalableFacebookTesting:
• Infern and
• Sapienz
• FBLearner
• Facebook’s OneWorld platform
B. DistributedVersion Control:
• Version Control System (VCS), CentralVersion Control (CVC),
DistributedVersion Control (DVC)
• CVC v/s DVC
• Git, GitHub, GitHub Desktop (RaaS Client), and
• Git-LFS
Scalable Facebook Testing
 Scale means different things to different techniques to scale
(or fail to scale) in different dimensions
 Scalability needed to assess the degree of deployability
 Challenges and Opportunities when deploying
 Static analysis and Dynamic analysis at scale
 Facebook deploy two technologies
 the Infer for static analysis and
 the Sapienz dynamic analysis
 Both are research-led start-up that was subsequently deployed
at scale, impacting billions of people worldwide.
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
Infer: Static Analysis at Scale
 At Facebook, Infer is a‘deep’ static analysis tool applied to
 Java, Objective C, and C++ code bases
 Infer at Facebook with acquisition of startup Monoidics in 2013
 Infer is open source and used at several companies
 AWS, Mozilla, JD.com and Spotify
 Based on Separation Logic to scale algorithms for reasoning "states"
 of a store and a heap about memory,
 local (or stack-allocated) variables and dynamically-allocated,
 implements a compositional program analysis: inter-procedural analysis,
 follows pointer chains, safety of programs with embedded pointers,
 scales to large code bases
 Result: 10s of 1000s bugs fix by Facebook developers before
production.
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
Infer: Static Analysis at Scale
 Facebook practices Continuous Development and Deployment i.e.
Continuous Integration (CI) of “Diffs” (a code change) for code-
review.
 Developers shares a single code base to alter and commit.Then,
prepares a diff and submits it for the code review.
 Infer runs as a bot during diff time, writing comments for the
developer and other human reviewers. Post-land incorporate the
master build of the system.
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
Sapienz: Dynamic Analysis at Scale
 Sapienz is deployed to run continuously testing the most
recent internal builds of the Facebook apps.
 Sapienz is a multi-objective automated test case design
system, that seeks to maximize fault revelation while
minimizing the debug effort to fix.
 It uses
 FBLearner (Facebook’s Machine Learning infrastructure)
 Facebook’s OneWorld platform
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
Sapienz: Dynamic Analysis at Scale
 FBLearner (Facebook’s Machine Learning infrastructure)
 Machine Learning (ML) perform at a scale, e.g., ML inference phase
executions run into the tens of trillions per day.
 FBLearner is a ML platform designed to support at a global scale
 Sapienz is 1 of 100s services deployed on FBLearner framework
 FBLearner Flow component in Sapienz
 deploys detection of crashing behaviour directly into the work flow,
 integrates with Phabricator for reporting and actioning fixes
 corrects the failures detected
 Facebook’s OneWorld platform
 support scalable deployment on many of emulators, at a time
 Sapienz deploys on 1000s of emulators to test the Android app alone
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
ML-as-a-Service Inside Facebook:FBLearner Feature Store,
FBLearner Flow, FBLearner Predictor.
FBLearner
Hazelwood, Kim, et al. "Applied machine learning at facebook:A datacenter infrastructure perspective.”
2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2018.
MACHINE LEARNING ALGORITHMS LEVERAGED BY PRODUCT/SERVICE
Support standard communication mechanisms like ADB (Android Debug
Bridge) and Provide the illusion that remote devices are connected locally
 Runtime worker service: it manages the life cycle of the resource
and responds to requests from clients to use its resources.
 OneWorld daemon: it connect to remote resources with protocol to
communicate with workers and sets up the environment.
 Scheduler: Uses Jupiter, a job-scheduling service at Facebook to match
clients with workers’ resources as per specified requirements.
 Satellite: it connect local resources to the global OneWorld
deployment.
Facebook’s OneWorld platform
https://engineering.fb.com/2016/05/09/core-data/introducing-fblearner-flow-
facebook-s-ai-backbone/
Sapienz workflow
Sapienz Automated test design workflow
Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static
and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis
and Manipulation (SCAM). IEEE, 2018.
SaaS and Distributed Version
Control
A. Scalable FacebookTesting:
• Infern and
• Sapienz
• FBLearner
• Facebook’s OneWorld platform
B. DistributedVersion Control:
• Version Control System (VCS), CentralVersion Control
(CVC), DistributedVersion Control (DVC)
• CVC v/s DVC
• Git, GitHub, GitHub Desktop (RaaS Client), and
• Git-LFS
Version Control System (VCS)
 Version control is also known as
 revision control,
 source control, or
 source code management
 It is responsible for managing changes to
 computer programs,
 documents,
 large web sites, or
 other collections of information.
 It is a component of Software Configuration Management (SCM).
 VCS are stand-alone applications.
https://en.wikipedia.org/wiki/Version_control
Centralised Version Control (CVC)
 Single server holds the code base
 Clients access the server with check-in/check-outs
 CVC available are
 CVS,
 Subversion,
 Visual Source Safe.
 Pro: Simple to manage a single server
 Con: Single point of failure.
Naisan Benatar “Version Control” G51FSE
Distributed Version Control (DVC)
 aka, Distributed Revision Control
 It is a form of version control that complete codebase, including
its full history, is mirrored on every developer's computer. Enables
 automatic management branching and merging,
 speeds up most operations (except pushing and pulling),
 improves the ability to work offline and
 does not rely on a single location for backups.
 Each client holds a copy of the code base.
 Code is shared between clients by push/pulls
 Advantages: Many operations, no single point of failure
 Disadvantages: Complex to manage
68https://en.wikipedia.org/wiki/Distributed_version_control
Naisan Benatar “Version Control” G51FSE
CVC v/s DVC
Naisan Benatar “Version Control” G51FSE
Git
 Git is a distributed version-control system.
 It track changes in source code files during software
development.
 It is designed for coordinating work among programmers,
 Its goal include speed, data integrity, and support for
distributed, non-linear workflows.
 Git was created by LinusTorvalds in 2005 for development of
the Linux kernel.
 Every Git directory on every developer's computer is a
repository, and independent of network or central server.
https://en.wikipedia.org/wiki/Git
GitHub
 GitHub provides web-hosting functionalities for
 Software development,
 DistributedVersion Control, and
 Source Code Management (SCM).
 GitHub features
 bug tracking, continuous integration, change management,
 feature requests, task management, wikis,
 Branching, Merging, Fetch, and Commit of new push files
 pull or clone of whole existing repository or its file(s)
 January 2020, GitHub reports
 over 40 million users and
 more than 190 million repositories (28 million+ public repositories),
 making it the largest host of source code in the world.
https://en.wikipedia.org/wiki/GitHub
GitHub Desktop (RaaS Client)
 It simplifies development workflow by abstracting Git.
 Attribute commits with collaborators: co-authors
 Checkout branches with pull requests and view Commit
statuses
 Syntax highlighted diffs: highlighting when viewing diffs
 Expanded image diff support: compare changed images
 Extensive editor & shell integrations: use favorite editor or shell
 Open-source Community support: contribute and collaboration
https://desktop.github.com/
GitHub Desktop (RaaS Client)
Git-LFS
 Git Large File Storage (LFS)
 audio,
 videos,
 datasets, and
 graphics,
 Git-LFS replaces large files with text pointers inside Git
 Storing the file contents on a remote server like
 GitHub.com or GitHub Enterprise
 git lfs install
 git add file.psd
 git commit -m "Add design file"
 git push origin master
Cloud Security and Privacy policies
1. Representational StateTransfer (REST)
2. IaaS and Hybrid Cloud
• Orchestration &Virtualization: Eucalyptus &Amazon
• Content Delivery Network (CDN): Facebook andAkamai
3. PaaS and Container as a Service (CaaS)
• PaaS: GoogleApp Engine (GAE) and Ruby on Rails
• CaaS: DockerHub
4. SaaS and DistributedVersion Control (DVC)
• SaaS: FacebookTesting (Infer and Sapienz)
• DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies (also refer Unit 1 Risk)
• NIST Guidelines, GDPR, CDN Security
NIST Guidelines: Security And Privacy
Carefully plan before engaging
 Organizational data, applications, and other resources should
be in accord with the organization’s security objectives.
 Consider security and privacy throughout the system life
cycle
 application development and service provisioning,
 design, implementation, testing, use,
 and monitoring of deployed or engaged services, then system
disposition.
Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing.
No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
NIST Guidelines: Security And Privacy
Public cloud computing environment
 Security and privacy issues after implementation and
deployment is more difficult, expensive, and exposes
unnecessary risk
 Assess the security and privacy risks, organizations should
examine the policies, procedures, and technical controls used
by a cloud provider,
 Continuous monitoring for risk management and helps
organizations
 to maintain security, vulnerabilities, and threats
 to support organizational risk management decisions.
Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing.
No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
NIST Guidelines: Security And Privacy
Satisfies organizational requirements
Negotiated agreements:
 vetting of employees,
 data ownership and
 exit rights,
 breach notification,
 isolation of tenant applications,
 data encryption and segregation,
 tracking and reporting service effectiveness,
 compliance with laws and regulations, and
 the use of validated products that meet federal or national standards.
Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing.
No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
NIST Guidelines: Security And Privacy
Client-side requirements
 Following runs on a client device undermines the security
and privacy of public cloud services as well as other Internet
facing public services
 A backdoorTrojan,
 keystroke logger, or
 other type of malware
 Organizations should
 review measures of cloud computing security architecture and
 employ additional measures needed to secure the client side.
Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing.
No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
NIST Guidelines: Security And Privacy
Maintain accountability in public cloud
 Organizations should
 monitor assets,
 assess implementation of policies, standards, procedures, controls,
 guidelines that establish and protect the confidentiality, integrity, and
availability of information system resources.
 Continuous monitoring of security involves maintaining
 awareness of privacy and security controls, vulnerabilities, and threats
 Monitoring of
 the security of networks, information, and
 systems can respond by accepting, avoiding, or
 mitigating risk as situations change.
Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing.
No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
General Data Protection Regulation
(GDPR)
 GDPR is a regulation in European Union (EU) law on data
protection and privacy in
 the EU and
 the European EconomicArea (EEA).
 Addresses the transfer of personal data outside
 the EU and
 EEA areas.
 The GDPR’s primary aim is to give control and individuals
over their personal data
 Made by European Parliament and
 Council of the EU
https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
https://gdpr-info.eu/
General Data Protection Regulation
(GDPR)
 Regulation applies to following based in the EU region
 the data controller (an organization that collects data from EU
residents), or
 processor (an organization that processes data on behalf of a
data controller like cloud service providers), or
 the data subject (person).
https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
https://gdpr-info.eu/
General Data Protection Regulation
(GDPR)
Unless a data subject has provided informed consent to data processing for
one or more purposes, personal data may not be processed unless there is
at least one legal basis to do so. Article 6 States the lawful purposes are:
(a) If the data subject has given consent to the processing of his or her
personal data;
(b)To fulfill contractual obligations with a data subject, or for tasks at the
request of a data subject who is in the process of entering into a contract;
(c)To comply with a data controller's legal obligations;
(d)To protect the vital interests of a data subject or another individual;
(e)To perform a task in the public interest or in official authority;
(f) For the legitimate interests of a data controller or a third party, unless
these interests are overridden by interests of the data subject or her or his
rights according to the Charter of Fundamental Rights (especially in the
case of children).
https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
https://gdpr-info.eu/
CDN Security and Privacy
 CDN provider's profit
 either by content providers using their network,
 or from the user analytics and tracking data:
 Threat 1:
 Potential privacy intrusion to do behavioral targeting.
 Same-Origin policy:“permits scripts if pages have the
same origin (combination of URI scheme, host name, and port
number).”
https://en.wikipedia.org/wiki/Content_delivery_network
CDN Security and Privacy
 CDN provider's profit
 either by content providers using their network,
 or from the user analytics and tracking data:
 Threat 2:
 CDN networks serving JavaScript can be target to inject
malicious code into content.
 Subresource Integrity: ensures the content is known and
constrained to a hash reference by the website.
https://en.wikipedia.org/wiki/Content_delivery_network
References
 Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of
theTwenty-Fourth ACM Symposium on Operating Systems Principles. 2013.
 Boettiger, Carl. "An introduction to Docker for reproducible
research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
 Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups:
Opportunities and open problems for static and dynamic program
analysis." 2018 IEEE 18th InternationalWorking Conference on Source Code
Analysis and Manipulation (SCAM). IEEE, 2018.
 Hazelwood, Kim, et al. "Applied machine learning at facebook:A
datacenter infrastructure perspective.” 2018 IEEE International Symposium
on High Performance Computer Architecture (HPCA). IEEE, 2018.
 Naisan Benatar “Version Control” G51FSE Foundations of Software Engineering
 Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud
Computing. No. ITL Bulletin March 2012. National Institute of Standards
andTechnology, 2012.
References
 https://en.wikipedia.org/wiki/Representational_state_transfer
 https://en.wikipedia.org/wiki/Web-oriented_architecture
 https://en.wikipedia.org/wiki/Infrastructure_as_a_service
 https://en.wikipedia.org/wiki/Orchestration_(computing)
 https://en.wikipedia.org/wiki/Hypervisor
 https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud
 https://en.wikipedia.org/wiki/Amazon_S3
 https://en.wikipedia.org/wiki/Amazon_Elastic_Block_Store
 https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-
guide/system_concepts.html
 https://github.com/eucalyptus/eucalyptus/wiki
 https://en.wikipedia.org/wiki/Eucalyptus_(software)
References
 https://en.wikipedia.org/wiki/Content_delivery_network
 https://en.wikipedia.org/wiki/Akamai_Technologies
 https://en.m.wikipedia.org/wiki/Platform_as_a_service
 https://cloud.google.com/appengine
 https://en.m.wikipedia.org/wiki/OS-level_virtualization
 https://en.m.wikipedia.org/wiki/Docker_(software)
 https://hub.docker.com/_/hello-world
 https://docs.docker.com/get-started/
 https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/
 https://aws.amazon.com/ecs/
 https://www.engineyard.com/
References
 https://engineering.fb.com/2016/05/09/core-data/introducing-fblearner-
flow-facebook-s-ai-backbone/
 https://en.wikipedia.org/wiki/Distributed_version_control
 https://en.wikipedia.org/wiki/Git
 https://en.wikipedia.org/wiki/GitHub
 https://desktop.github.com/
 https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
 https://gdpr-info.eu/
 https://en.wikipedia.org/wiki/Content_delivery_network
Thank You
Japanese
Hebrew
English
Merci
French
Russian
Danke
German
Grazie
Italian
Gracias
Spanish
Obrigado
Portuguese
Arabic
Simplified
Chinese
Traditional
Chinese
Tamil
Thai
Korean
https://sites.google.com/site/animeshchaturvedi07

More Related Content

What's hot

Efficient and reliable hybrid cloud architecture for big database
Efficient and reliable hybrid cloud architecture for big databaseEfficient and reliable hybrid cloud architecture for big database
Efficient and reliable hybrid cloud architecture for big databaseijccsa
 
F233842
F233842F233842
F233842irjes
 
Azure fb-google Web Services
Azure fb-google Web ServicesAzure fb-google Web Services
Azure fb-google Web ServicesShreya Srivastava
 
OpenStack or CloudStack
OpenStack or CloudStackOpenStack or CloudStack
OpenStack or CloudStackAhmed Banafa
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computingMehul Patel
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...INFOGAIN PUBLICATION
 
Combining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsCombining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsDavid Chou
 
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query EngineMeasuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engineparekhnikunj
 
Open Cloud Consortium: An Update (04-23-10, v9)
Open Cloud Consortium: An Update (04-23-10, v9)Open Cloud Consortium: An Update (04-23-10, v9)
Open Cloud Consortium: An Update (04-23-10, v9)Robert Grossman
 
Review and Classification of Cloud Computing Research
Review and Classification of Cloud Computing ResearchReview and Classification of Cloud Computing Research
Review and Classification of Cloud Computing Researchiosrjce
 
Architecting Cloudy Applications
Architecting Cloudy ApplicationsArchitecting Cloudy Applications
Architecting Cloudy ApplicationsDavid Chou
 
Architecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudArchitecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudDavid Chou
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep DiveJean-Pierre Riehl
 
Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesAmit Shaw
 
Atlanta Cloud Users Group
Atlanta Cloud Users GroupAtlanta Cloud Users Group
Atlanta Cloud Users GroupJohn Willis
 

What's hot (20)

Unit 5
Unit  5Unit  5
Unit 5
 
Efficient and reliable hybrid cloud architecture for big database
Efficient and reliable hybrid cloud architecture for big databaseEfficient and reliable hybrid cloud architecture for big database
Efficient and reliable hybrid cloud architecture for big database
 
F233842
F233842F233842
F233842
 
Azure fb-google Web Services
Azure fb-google Web ServicesAzure fb-google Web Services
Azure fb-google Web Services
 
Unit 1
Unit 1Unit 1
Unit 1
 
OpenStack or CloudStack
OpenStack or CloudStackOpenStack or CloudStack
OpenStack or CloudStack
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
 
Cs6703 grid and cloud computing unit 1
Cs6703 grid and cloud computing unit 1Cs6703 grid and cloud computing unit 1
Cs6703 grid and cloud computing unit 1
 
OpenStack Cloud Administration Through Live Demonstration
OpenStack Cloud Administration Through Live DemonstrationOpenStack Cloud Administration Through Live Demonstration
OpenStack Cloud Administration Through Live Demonstration
 
My Dissertation 2016
My Dissertation 2016My Dissertation 2016
My Dissertation 2016
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...
 
Combining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsCombining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful Hybrids
 
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query EngineMeasuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine
Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine
 
Open Cloud Consortium: An Update (04-23-10, v9)
Open Cloud Consortium: An Update (04-23-10, v9)Open Cloud Consortium: An Update (04-23-10, v9)
Open Cloud Consortium: An Update (04-23-10, v9)
 
Review and Classification of Cloud Computing Research
Review and Classification of Cloud Computing ResearchReview and Classification of Cloud Computing Research
Review and Classification of Cloud Computing Research
 
Architecting Cloudy Applications
Architecting Cloudy ApplicationsArchitecting Cloudy Applications
Architecting Cloudy Applications
 
Architecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudArchitecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The Cloud
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep Dive
 
Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for Libraries
 
Atlanta Cloud Users Group
Atlanta Cloud Users GroupAtlanta Cloud Users Group
Atlanta Cloud Users Group
 

Similar to Cloud Platforms and Frameworks

Introduction to Apache cloudstack - Linuxcon
Introduction to Apache cloudstack - LinuxconIntroduction to Apache cloudstack - Linuxcon
Introduction to Apache cloudstack - LinuxconShapeBlue
 
Crossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdfCrossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdfQAware GmbH
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructuregeorge.james
 
DRILETT_AWS_VPC_Presentation_2MB
DRILETT_AWS_VPC_Presentation_2MBDRILETT_AWS_VPC_Presentation_2MB
DRILETT_AWS_VPC_Presentation_2MBDavid Rilett
 
Enterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayEnterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayRightScale
 
The New Stack Container Summit Talk
The New Stack Container Summit TalkThe New Stack Container Summit Talk
The New Stack Container Summit TalkThe New Stack
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...Amazon Web Services
 
Accelerating Application Delivery with OpenShift
Accelerating Application Delivery with OpenShiftAccelerating Application Delivery with OpenShift
Accelerating Application Delivery with OpenShiftPOSSCON
 
An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017Haim Ateya
 
2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOA2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOABob Marcus
 
Ravi Namboori 's Open stack framework introduction
Ravi Namboori 's Open stack framework introductionRavi Namboori 's Open stack framework introduction
Ravi Namboori 's Open stack framework introductionRavi namboori
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...Amazon Web Services
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationAmazon Web Services
 
Azure Container Service
Azure Container ServiceAzure Container Service
Azure Container ServiceDataArt
 
What is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna NookellaWhat is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna Nookellamuralikrishnanookella
 

Similar to Cloud Platforms and Frameworks (20)

Cloud Platforms & Frameworks
Cloud Platforms & FrameworksCloud Platforms & Frameworks
Cloud Platforms & Frameworks
 
Introduction to Apache cloudstack - Linuxcon
Introduction to Apache cloudstack - LinuxconIntroduction to Apache cloudstack - Linuxcon
Introduction to Apache cloudstack - Linuxcon
 
Crossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdfCrossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdf
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
 
DRILETT_AWS_VPC_Presentation_2MB
DRILETT_AWS_VPC_Presentation_2MBDRILETT_AWS_VPC_Presentation_2MB
DRILETT_AWS_VPC_Presentation_2MB
 
Enterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayEnterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing Today
 
The New Stack Container Summit Talk
The New Stack Container Summit TalkThe New Stack Container Summit Talk
The New Stack Container Summit Talk
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
 
Accelerating Application Delivery with OpenShift
Accelerating Application Delivery with OpenShiftAccelerating Application Delivery with OpenShift
Accelerating Application Delivery with OpenShift
 
An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017
 
2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOA2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOA
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
PaaS Solutions Comparison
PaaS Solutions ComparisonPaaS Solutions Comparison
PaaS Solutions Comparison
 
Ravi Namboori 's Open stack framework introduction
Ravi Namboori 's Open stack framework introductionRavi Namboori 's Open stack framework introduction
Ravi Namboori 's Open stack framework introduction
 
Aws ops works
Aws ops worksAws ops works
Aws ops works
 
Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormation
 
Azure Container Service
Azure Container ServiceAzure Container Service
Azure Container Service
 
What is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna NookellaWhat is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna Nookella
 

More from Animesh Chaturvedi

Graph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answersGraph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answersAnimesh Chaturvedi
 
Advance Systems Engineering Topics
Advance Systems Engineering TopicsAdvance Systems Engineering Topics
Advance Systems Engineering TopicsAnimesh Chaturvedi
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardAnimesh Chaturvedi
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)Animesh Chaturvedi
 
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...Animesh Chaturvedi
 
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...Animesh Chaturvedi
 
C- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutionsC- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutionsAnimesh Chaturvedi
 
C- Programming Assignment 4 solution
C- Programming Assignment 4 solutionC- Programming Assignment 4 solution
C- Programming Assignment 4 solutionAnimesh Chaturvedi
 
C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2Animesh Chaturvedi
 
System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineeringAnimesh Chaturvedi
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems EngineeringAnimesh Chaturvedi
 
Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Animesh Chaturvedi
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expressionAnimesh Chaturvedi
 
Pattern detection in mealy machine
Pattern detection in mealy machinePattern detection in mealy machine
Pattern detection in mealy machineAnimesh Chaturvedi
 
Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)Animesh Chaturvedi
 

More from Animesh Chaturvedi (20)

Graph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answersGraph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answers
 
Advance Systems Engineering Topics
Advance Systems Engineering TopicsAdvance Systems Engineering Topics
Advance Systems Engineering Topics
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
 
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
 
C- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutionsC- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutions
 
C- Programming Assignment 4 solution
C- Programming Assignment 4 solutionC- Programming Assignment 4 solution
C- Programming Assignment 4 solution
 
C- Programming Assignment 3
C- Programming Assignment 3C- Programming Assignment 3
C- Programming Assignment 3
 
C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2
 
System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineering
 
Informatics systems
Informatics systemsInformatics systems
Informatics systems
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems Engineering
 
Push Down Automata (PDA)
Push Down Automata (PDA)Push Down Automata (PDA)
Push Down Automata (PDA)
 
Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expression
 
Pattern detection in mealy machine
Pattern detection in mealy machinePattern detection in mealy machine
Pattern detection in mealy machine
 
NFA to DFA
NFA to DFANFA to DFA
NFA to DFA
 
Minimizing DFA
Minimizing DFAMinimizing DFA
Minimizing DFA
 
Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)
 

Recently uploaded

HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...Call girls in Ahmedabad High profile
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 

Cloud Platforms and Frameworks

  • 1. Cloud Platforms and Frameworks by Dr.Animesh Chaturvedi Assistant Professor: LNMIIT Jaipur Post Doctorate: King’s College London &TheAlanTuring Institute PhD: IIT Indore
  • 2. REST API 1. Representational StateTransfer (REST) 2. IaaS and Hybrid Cloud • Orchestration &Virtualization: Eucalyptus &Amazon • Content Delivery Network (CDN): Facebook andAkamai 3. PaaS and Container as a Service (CaaS) • PaaS: GoogleApp Engine (GAE) and Ruby on Rails • CaaS: DockerHub 4. SaaS and DistributedVersion Control (DVC) • SaaS: FacebookTesting (Infer and Sapienz) • DVC: GitHub and Git-LFS 5. Cloud Security and Privacy policies • NIST Guidelines, GDPR, CDN Security
  • 3. Representational State Transfer (REST)  Representational StateTransfer (REST) was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation.  The REST principles: "HTTP Object Model" begin and design Uniform Resource Identifiers (URI) standards in 1994.  Intended to invoke an image: it is a network ofWeb resources (a Virtual State Machine) where the user progresses through the application by selecting resource identifiers and resource operations such as GET or POST (application state transitions),  Resulting in the next resource's representation (the next application state) being transferred to the end user for their use. https://en.wikipedia.org/wiki/Representational_state_transfer
  • 4. Representational State Transfer (REST)  WWW: "Web resources" are documents or files at URLs.  Web 2.0:“Web Resources” are generic and abstract entities, or actions that can be identified, named, addressed, handled, or performed in many way on the internet as URI or URL.  requests to a resource's URI:  a response with a payload formatted in many ways  e.g., HTML, XML, JSON, or some other format.  The response given alternate resource state,  provide hypertext links to alternate related resources. https://en.wikipedia.org/wiki/Representational_state_transfer
  • 5. Representational State Transfer (REST)  REST is a software architectural style that defines a set of constraints to be used for creatingWeb services.  Web services that conform to the REST architectural style, called RESTfulWeb services, provide interoperability between computer systems on the internet.  RESTfulWeb services allow the requesting systems to access and manipulate textual representations ofWeb resources by using a uniform and predefined set of stateless operations. https://en.wikipedia.org/wiki/Representational_state_transfer
  • 6. Representational State Transfer (REST)  Stateless protocol and standard operations,  Rest API:The operations HTTP methods available are GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS andTRACE.  Ability to grow by reusing components that can be managed and updated without affecting the system.  Other kinds: SOAPWeb services, expose their own arbitrary sets of operations. https://en.wikipedia.org/wiki/Representational_state_transfer
  • 7. Representational State Transfer (REST) HTTP Method Operations for resource management GET Retrieve the URIs and representation of resource in the response body. POST Create a resource using the instructions in the request body.The URI of the created resource is automatically assigned and returned in the response Location header field. PUT Replace all the representations of the resources with the representation in the request body, or create the resource if it does not exist. PATCH Update all the representations of the resources of the resource using the instructions in the request body, or may create the resource if it does not exist. DELETE Delete the representations of the resources. https://en.wikipedia.org/wiki/Representational_state_transfer
  • 8. Web Oriented Architecture (WOA)  Software architecture: extends SOA to web-based applications and sites, such as social websites and personal websites. WOA = SOA +WWW + REST  A core set ofWeb protocols like HTTP, HTTPS and plain XML, the only real difference between traditional SOA and the concept ofWOA  WOA advocates REST a method for HTTP as aWeb service  EnterpriseWOA is a sub-style of Enterprise SOA https://en.wikipedia.org/wiki/Web-oriented_architecture
  • 9. Web Oriented Architecture (WOA)  WOA is substyle of SOA that integrates systems and users via a web of globally linked hypermedia based onWeb architecture.  Emphasize generality of User interfaces andAPIs for global network effects through five fundamental:  Identification of resources  Manipulation of resources through representations (Web resource)  Self-descriptive messages  Hypermedia as the engine of application state  Application neutrality https://en.wikipedia.org/wiki/Web-oriented_architecture
  • 10. IaaS and Hybrid Cloud 1. Representational StateTransfer (REST) 2. IaaS and Hybrid Cloud • Orchestration &Virtualization: Eucalyptus & Amazon • Content Delivery Network (CDN): Facebook and Akamai 3. PaaS and Container as a Service (CaaS) • PaaS: GoogleApp Engine (GAE) and Ruby on Rails • CaaS: DockerHub 4. SaaS and DistributedVersion Control (DVC) • SaaS: FacebookTesting (Infer and Sapienz) • DVC: GitHub and Git-LFS 5. Cloud Security and Privacy policies • NIST Guidelines, GDPR, CDN Security
  • 11. IaaS and Hybrid Cloud A. Orchestration andVirtualization • Orchestration • Virtual machines • Type-1, native or bare-metal hypervisors • Type-2 or hosted hypervisors • BothType 1 andType 2 B. Hybrid Eucalyptus andAmazon-EC2 A. Content Delivery Network, or Content Distribution Network (CDN) B. HybridAkamai and Facebook
  • 12. Infrastructure as a Service (IaaS)  IaaS are online services  provide high-levelAPIs used to dereference (or abstract) various low-level details of infrastructure like  physical computing resources,  location,  data partitioning,  scaling,  security,  backup  IaaS deals with Cloud Orchestration andVirtualization https://en.wikipedia.org/wiki/Infrastructure_as_a_service
  • 13. Examples of IaaS Clouds IaaS involves the use of a Cloud Orchestration andVirtualization Technologies like  Eucalyptus  Hypervisors (KVM, Xen,VMware)  Private and  Hybrid cloud computing with Amazon Elastic Compute Cloud (EC2)  Open Stack,  OpenStack-native RESTAPI and  Hybrid cloud computing with CloudFormation-compatible Query API  Apache Cloudstack  virtualization, such as KVM,VMware vSphere, including ESXi and vCenter, and XenServer/XCP.  OpenNebula.  Hypervisors (VMware vCenter, KVM, LXD and AWS Firecracker https://en.wikipedia.org/wiki/Infrastructure_as_a_service
  • 14. Examples of IaaS Clouds  AmazonWeb Services  AppScale  Box  Bluemix  CloudBolt  Cloud Foundry  Cocaine (PaaS)  Creatio  EngineYard  GreenQloud  IBM Cloud  iland  Joyent  Linode  Lunacloud  Microsoft Azure  Mirantis  Netlify  Nimbula  Nimbus  OpenIO  OpenNebula  OpenStack  Oracle Cloud  OrionVM  Rackspace Cloud  Safe Swiss Cloud  SoftLayer  Zadara Storage  libvirt  libguestfs  OVirt  Virtual Machine Manager  Wakame-vdc  Virtual Private Cloud OnDemand https://en.wikipedia.org/wiki/Infrastructure_as_a_service
  • 15. Orchestration  Automated configuration, coordination, and management of  service-oriented architecture,  virtualization,  provisioning,  converged infrastructure and  dynamic datacenter.  To meet requirements ofApplications, Data, and Infrastructure.  Difference Between  Workflows Automation are processed and completed as processes within a single domain for automation purposes.  Orchestration includes a workflow and provides a directed action towards larger goals and objectives. https://en.wikipedia.org/wiki/Orchestration_(computing)
  • 16. Virtualization Hypervisor: Runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine.  Type-1, native or bare-metal hypervisors  Type-2 or hosted hypervisors: https://en.wikipedia.org/wiki/Hypervisor
  • 17. Type-1, native or bare-metal hypervisors: run directly on the host's hardware to control the hardware and to manage guest operating systems.  SIMMON and IBM's CP-40 (first Hypervisors late 1960s)  Microsoft Hyper-V and Xbox One system software  VMware ESXi (formerly ESX),  NutanixAHV,  XCP-ng,  OracleVM Server for SPARC and x86,  POWER Hypervisor,and  Xen. https://en.wikipedia.org/wiki/Hypervisor
  • 18. Type-2 or hosted hypervisors: run on a conventional Operating-system of a host machine like a process as a guest machine  OracleVirtualBox,  Parallels Desktop for Mac,  QEMU,  VirtualBox,  VMware Player and  VMwareWorkstation https://en.wikipedia.org/wiki/Hypervisor
  • 19. Both Type 1 and Type 2 are kernel modules  Linux's KVM (Kernel-basedVirtual Machine)  FreeBSD's bhyve (Berkeley Software Distribution BSD) https://en.wikipedia.org/wiki/Hypervisor
  • 20. IaaS and Hybrid Cloud A. Orchestration andVirtualization • Orchestration • Virtual machines • Type-1, native or bare-metal hypervisors • Type-2 or hosted hypervisors • BothType 1 andType 2 B. Hybrid Eucalyptus and Amazon-EC2 A. Content Delivery Network, or Content Distribution Network (CDN) B. HybridAkamai and Facebook
  • 21. Amazon EC2, EBS, and S3 Amazon Elastic Compute Cloud (EC2):  Pay per usage: rentVirtual Machines (VMs) to run applications  Elastic: scalable deployment of applications by web services  Amazon Machine Image (AMI) instance contains desired software  Create, launch, and terminate instances,  Amazon switched its own retail website platform to EC2 and AWS Amazon Elastic Block Store (EBS) provides raw block-level storage that can be attached to Amazon EC2 instances used by Amazon Relational Database Service (RDS). Amazon Simple Storage Service (S3) provides scalable storage infrastructure through a web service interface. https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud https://en.wikipedia.org/wiki/Amazon_S3 https://en.wikipedia.org/wiki/Amazon_Elastic_Block_Store
  • 22. Web Service Components in Eucalyptus Cloud Controller (CLC): For administrators, developers, project managers, and end-users to manage virtualized resources (servers, network, and storage), and high-level scheduling decisions. https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html Please refer to Unit 2
  • 23. Web Service Components in Eucalyptus  Cluster Controller (CC) executes on a machine that has network connectivity with machines running the Node Controller (NC) and the CLC. It schedules and managesVM network.  Storage Controller (SC) interface with various storage systems (NFS, iSCSI, SAN devices, etc.).  Walrus allows users to store persistent data, organized as buckets and objects forVirtual Machine (VM) images and user data.  Node Controller (NC) executes on any machine that hostsVM instances, and controlsVM activities: execution, inspection, and termination. https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html Please refer to Unit 2
  • 24. AWS-Eucalyptus Compatibility Feature: AWS  Eucalyptus Elastic: EC2   CC Elastic Block Store: EBS   Storage Controller Storage: S3  Walrus https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin-guide/system_concepts.html
  • 25. AWS-Eucalyptus Compatibility  AWS-Compatible API is implemented on top of Eucalyptus.  AWSTools — how to configure and use with Eucalyptus,  https://github.com/eucalyptus/eucalyptus/wiki/AWS-Tools  Consumer use or reuseAWS-Compatible tools, images, and scripts.  Tools in the eucalyptus cloud ecosystem can communicate with AWS. https://github.com/eucalyptus/eucalyptus/wiki
  • 26. AWS-Eucalyptus Compatibility Add instances and virtual machines as traffic demands increases  Autoscaling – to scale Eucalyptus cloud resources up or down  to maintain performance and meet SLAs.  Amazon EC2-compatibleAPIs and tools.  Elastic Load Balancing – Distributes incoming application traffic and service calls across multiple Eucalyptus workload instances.  CloudWatch – Resources andApplications Monitoring tool likeAmazon CloudWatch  The collection of metrics, set alarms, and identify trends  take action to ensure applications continue to run smoothly. https://en.wikipedia.org/wiki/Eucalyptus_(software)
  • 28. IaaS and Hybrid Cloud A. Service Orchestration andVirtualization • Abstraction layer or abstraction level • Virtual machines • Type-1, native or bare-metal hypervisors • Type-2 or hosted hypervisors • BothType 1 andType 2 B. Hybrid Eucalyptus andAmazon-EC2 A. Content Delivery Network, or Content Distribution Network (CDN) B. Hybrid Akamai and Facebook
  • 29. Content Delivery Network, or Content Distribution Network (CDN)  CDN is a geographically distributed network of proxy servers and their data centers  to provide high availability and performance by distributing the service spatially relative to end users.  came in late 1990s to improve the performance bottlenecks of the Internet  Peer-to-peer CDNs: Consumers provide resources as well as use them. Different from client-server  Private CDNs: Content owners create their own CDN. https://en.wikipedia.org/wiki/Content_delivery_network (Left) Single server distribution (Right) CDN scheme of distribution
  • 30. Akamai CDN  Global CDN, Cybersecurity, and Cloud service provider.  Akamai CDN is one of the largest distributed computing platform  Serving between 15% and 30% of all web traffic  Operates and rents worldwide network of servers  Consumer websites work faster by distributing content from locations near the end-user.  End-user navigates to the URL of anAkamai’s consumer; their browser is redirected to one ofAkamai's copies of the website.  Facebook as Consumer ofAkamai CDN uses many edge servers closer to FB consumer (i.e. FB users). https://en.wikipedia.org/wiki/Akamai_Technologies
  • 32. Hybrid Akamai and Facebook  Facebook Photo Serving Stack: components are linked to show the photo retrieval work-flow.  Desktop and Mobile clients initiate request traffic, which routes either directly to the Facebook Edge or via Akamai CDN depending on the fetch path.  The Origin Cache collects traffic from both paths, serving images from its cache and resizing them if needed.  The Haystack backend holds the actual image content. Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM Symposium on Operating Systems Principles. 2013.
  • 33. Facebook’s Photo-Serving Stack  Browser:The first cache layer is in the client’s browser  Edge: The Facebook Edge is comprised of a set of Edge Caches that each run inside points of presence (PoPs) close to end users.  Haystack: The backend layer accessed when there is a miss in the Origin cache (co-located with storage servers), the image can often be retrieved from a local Haystack server. Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM Symposium on Operating Systems Principles. 2013. Backend (Haystack) Browser Cache Edge Cache Origin Cache PoPClient Data Center R
  • 34. Hybrid Akamai and Facebook Architecture and full life cycle of a photo request  PhotoTransformations: Resizers transform photos that are requested by theAkamai CDN,  Caching Stack Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM Symposium on Operating Systems Principles. 2013.
  • 35. PaaS and Container as a Service (CaaS) (Google App Engine and DockerHub) 1. Representational StateTransfer (REST) 2. IaaS and Hybrid Cloud • Orchestration &Virtualization: Eucalyptus &Amazon • Content Delivery Network (CDN): Facebook andAkamai 3. PaaS and Container as a Service (CaaS) • PaaS: Google App Engine (GAE) and Ruby on Rails • CaaS: DockerHub 4. SaaS and DistributedVersion Control (DVC) • SaaS: FacebookTesting (Infer and Sapienz) • DVC: GitHub and Git-LFS 5. Cloud Security and Privacy policies • NIST Guidelines, GDPR, CDN Security
  • 36. Platform as a service (PaaS)  PaaS allow customers to do application  development,  execution, and  management  PaaS removes the complexity of building and maintaining the infrastructure for app  development and  deployment https://en.m.wikipedia.org/wiki/Platform_as_a_service
  • 37. Examples of PaaS Clouds  AmazonWeb Services  Abiquo Enterprise Edition  CloudStack  Citrix Cloud  CtrlS  DigitalOcean  EMCAtmos  Eucalyptus  Fujitsu  GoGrid  Google Cloud Platform  GreenButton  Helion  GE Predix  GoogleApp Engine  GreenQloud  Heroku  IBM Cloud  Inktank  Jelastic  Mendix  Microsoft Azure  MindSphere  Netlify  Oracle Cloud  OutSystems  openQRM  OpenShift  PythonAnywhere  RightScale  Scalr  Force.com  SAP Cloud Platform  VMware vCloudAir  WaveMaker https://en.m.wikipedia.org/wiki/Platform_as_a_service
  • 38. PaaS and Container as a Service (CaaS) A. PaaS – Google App Engine (GAE) and Ruby on Rails (please refer to Unit 2) B. Container as a Service (CaaS) - DockerHub
  • 39. GAE: Modern Web Applications Web app using GoogleApp Engine (GAE) and Google Cloud.  Quickly reach customers and end users by deploying web apps onApp Engine.  Zero-config deployments and zero server management.  Only writing code forApp Engine.  App Engine automatically scales to support sudden traffic spikes without provisioning, patching, or monitoring. https://cloud.google.com/appengine Please refer to Unit 2
  • 40. GAE: Modern Web Applications https://cloud.google.com/appengine Please refer to Unit 2
  • 41. GAE: Scalable Mobile Back-ends Mobile app built with Firebase and Google services.  automatically scales the hosting environment.  an easy-to-use frontend mobile platform  scalable and reliable back end https://cloud.google.com/appengine Please refer to Unit 2
  • 42. PaaS and Container as a Service (CaaS) 1. PaaS – Google App Engine (GAE) and Ruby on Rails (please refer to Unit 2) 2. Container as a Service (CaaS) – DockerHub
  • 43. OS-level virtualization OS-level virtual image looks like real computers from the point of view of programs running on  Containers (LXC, Solaris containers, Docker),  Zones (Solaris containers), Partitions,  Virtual private servers (OpenVZ), Virtual environments (VEs), Virtual kernels (DragonFly BSD), or  All resources (connected devices, files and folders, network shares, CPU power, quantifiable hardware capabilities).  Programs running inside of a container can only see the container's contents and devices assigned to the container.  Container refer to OS-level virtualization systems, e.g. Microsoft's Hyper-V containers. https://en.m.wikipedia.org/wiki/OS-level_virtualization
  • 44. Container image  Container is a running process interacting with its own private filesystem provided by a Container image.  Container image runs an application with - the code or binary, - runtime dependencies, and - any other filesystem objects required.  Docker is a platform for developers and sysadmins to build, run, and share applications with containers. https://docs.docker.com/get-started/
  • 45. DockerHub is a CaaS  Solomon Hykes and Sebastien Pahl  OS-level virtualization to deliver software in packages called containers.  hosts the containers is called Docker Engine  Docker can package an application and its dependencies in a virtual container that can run on any Linux server.  Containers are isolated from one another and bundle their own software, libraries, and configuration files;  All containers are run by a single operating system kernel and therefore use fewer resources thanVMs. https://en.m.wikipedia.org/wiki/Docker_(software)
  • 46. Docker Computational reproducibility Docker implement and deployment of containers, includes: (1) cross-platform portability, (2) modular/component re-using and sharing, (3) Linux container (LXC) based OS level virtualization, (4) portable across platforms, and (5) archiving and versioning of container images. Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  • 47. Dependency and Coupling  Interdependence and relationships between software modules;  Connected two or more routines or modules;  Coupling can be "low/loose" or "high/tight"  Low coupling provides a well-structure and good design software,  Disadvantage of High/Tightly coupled:  Change in one module forces changes in other dependent modules.  Modularity require effort or time due to inter-module dependency.  Harder to reuse and test modules due to dependent modules.  Performance reduction by message and parameter  request/response messages require CPU and memory in  message creation, transmission, translation (e.g. marshaling) and interpretation (string, array or data structure) https://en.wikipedia.org/wiki/Coupling_(computer_programming)
  • 48. Docker images: resolve Dependencies  Docker image is based on a Linux system with Linux-compatible software including - R, - Python, - Matlab, and - most other programming environments.  Docker image andVirtual Machine (VM) image  Similarity: resolves the dependency with a pre-installed and pre- configured binary image of dependencies.  Dissimilarities: Docker images share the Linux kernel with the host machine. Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  • 49. Dockerfile  Docker can build images automatically by reading the instructions from a Dockerfile.  Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.  Docker build create an automated build that executes several command-line instructions. docker build -f /path/to/a/Dockerfile  Copy and paste to pull this image docker pull hello-world https://hub.docker.com/_/hello-world Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  • 50. Docker concepts The use of containers to deploy applications is called containerization.  Flexible: Complex applications can be containerized.  Lightweight: Containers leverage and share the host kernel, making them efficient resource usage as compared toVMs.  Portable: Build locally, deploy to the cloud, and run anywhere.  Loosely coupled: Containers are highly self sufficient and encapsulated allow to replace or upgrade.  Scalable: Distribute container replicas across a datacenter.  Secure: Constraints and isolations to processes without any configuration required on the part of the user. https://docs.docker.com/get-started/
  • 51. Containers & Virtual machine (VM)  Container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking memory like an executable.  VM runs a full “guest OS” with hypervisor access to host resources. VM uses overhead resources that are not consumed by application logic. https://docs.docker.com/get-started/
  • 52. Build and run your Docker image git clone https://github.com/dockersamples/node-bulletin-board cd node-bulletin-board/bulletin-board-app docker build --tag bulletinboard:1.0 docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0 https://docs.docker.com/get-started/part2/
  • 53. Why PaaS or CaaS Programming tools, Deployment tools, andApplication hosting  CaaS include stack of tools for deploying containers.  CaaS do not include development tools.  CaaS is a subset of PaaS functionality  CaaS main use case is containerized applications  CaaS is an incomplete form of a PaaS.  PaaS and CaaS use-cases:  PaaS: integrated solution for develop and deploy applications  CaaS: easy to set-up and manage a container environment  Benefit from a development at PaaS or not? Yes, then PaaS  Pre-developed application for public deployment or not?Yes, then CaaS https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/
  • 54. PaaS and CaaS Hybrid  PaaS-CaaS hybrid provides both development environment and deployment container  Amazon Elastic Container Service (ECS),  Ruby-on-Rails (EngineYard) and  GoogleApp Engine etc. https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/ https://aws.amazon.com/ecs/ https://www.engineyard.com/ https://cloud.google.com/appengine
  • 55. SaaS and Distributed Version Control (Facebook Testing, GitHub and Git-LFS) 1. Representational StateTransfer (REST) 2. IaaS and Hybrid Cloud • Orchestration &Virtualization: Eucalyptus &Amazon • Content Delivery Network (CDN): Facebook andAkamai 3. PaaS and Container as a Service (CaaS) • PaaS: GoogleApp Engine (GAE) and Ruby on Rails • CaaS: DockerHub 4. SaaS and DistributedVersion Control (DVC) • SaaS: FacebookTesting (Infer and Sapienz) • DVC: GitHub and Git-LFS 5. Cloud Security and Privacy policies • NIST Guidelines, GDPR, CDN Security
  • 56. SaaS and Distributed Version Control A. ScalableFacebookTesting: • Infern and • Sapienz • FBLearner • Facebook’s OneWorld platform B. DistributedVersion Control: • Version Control System (VCS), CentralVersion Control (CVC), DistributedVersion Control (DVC) • CVC v/s DVC • Git, GitHub, GitHub Desktop (RaaS Client), and • Git-LFS
  • 57. Scalable Facebook Testing  Scale means different things to different techniques to scale (or fail to scale) in different dimensions  Scalability needed to assess the degree of deployability  Challenges and Opportunities when deploying  Static analysis and Dynamic analysis at scale  Facebook deploy two technologies  the Infer for static analysis and  the Sapienz dynamic analysis  Both are research-led start-up that was subsequently deployed at scale, impacting billions of people worldwide. Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 58. Infer: Static Analysis at Scale  At Facebook, Infer is a‘deep’ static analysis tool applied to  Java, Objective C, and C++ code bases  Infer at Facebook with acquisition of startup Monoidics in 2013  Infer is open source and used at several companies  AWS, Mozilla, JD.com and Spotify  Based on Separation Logic to scale algorithms for reasoning "states"  of a store and a heap about memory,  local (or stack-allocated) variables and dynamically-allocated,  implements a compositional program analysis: inter-procedural analysis,  follows pointer chains, safety of programs with embedded pointers,  scales to large code bases  Result: 10s of 1000s bugs fix by Facebook developers before production. Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 59. Infer: Static Analysis at Scale  Facebook practices Continuous Development and Deployment i.e. Continuous Integration (CI) of “Diffs” (a code change) for code- review.  Developers shares a single code base to alter and commit.Then, prepares a diff and submits it for the code review.  Infer runs as a bot during diff time, writing comments for the developer and other human reviewers. Post-land incorporate the master build of the system. Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 60. Sapienz: Dynamic Analysis at Scale  Sapienz is deployed to run continuously testing the most recent internal builds of the Facebook apps.  Sapienz is a multi-objective automated test case design system, that seeks to maximize fault revelation while minimizing the debug effort to fix.  It uses  FBLearner (Facebook’s Machine Learning infrastructure)  Facebook’s OneWorld platform Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 61. Sapienz: Dynamic Analysis at Scale  FBLearner (Facebook’s Machine Learning infrastructure)  Machine Learning (ML) perform at a scale, e.g., ML inference phase executions run into the tens of trillions per day.  FBLearner is a ML platform designed to support at a global scale  Sapienz is 1 of 100s services deployed on FBLearner framework  FBLearner Flow component in Sapienz  deploys detection of crashing behaviour directly into the work flow,  integrates with Phabricator for reporting and actioning fixes  corrects the failures detected  Facebook’s OneWorld platform  support scalable deployment on many of emulators, at a time  Sapienz deploys on 1000s of emulators to test the Android app alone Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 62. ML-as-a-Service Inside Facebook:FBLearner Feature Store, FBLearner Flow, FBLearner Predictor. FBLearner Hazelwood, Kim, et al. "Applied machine learning at facebook:A datacenter infrastructure perspective.” 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2018. MACHINE LEARNING ALGORITHMS LEVERAGED BY PRODUCT/SERVICE
  • 63. Support standard communication mechanisms like ADB (Android Debug Bridge) and Provide the illusion that remote devices are connected locally  Runtime worker service: it manages the life cycle of the resource and responds to requests from clients to use its resources.  OneWorld daemon: it connect to remote resources with protocol to communicate with workers and sets up the environment.  Scheduler: Uses Jupiter, a job-scheduling service at Facebook to match clients with workers’ resources as per specified requirements.  Satellite: it connect local resources to the global OneWorld deployment. Facebook’s OneWorld platform https://engineering.fb.com/2016/05/09/core-data/introducing-fblearner-flow- facebook-s-ai-backbone/
  • 64. Sapienz workflow Sapienz Automated test design workflow Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
  • 65. SaaS and Distributed Version Control A. Scalable FacebookTesting: • Infern and • Sapienz • FBLearner • Facebook’s OneWorld platform B. DistributedVersion Control: • Version Control System (VCS), CentralVersion Control (CVC), DistributedVersion Control (DVC) • CVC v/s DVC • Git, GitHub, GitHub Desktop (RaaS Client), and • Git-LFS
  • 66. Version Control System (VCS)  Version control is also known as  revision control,  source control, or  source code management  It is responsible for managing changes to  computer programs,  documents,  large web sites, or  other collections of information.  It is a component of Software Configuration Management (SCM).  VCS are stand-alone applications. https://en.wikipedia.org/wiki/Version_control
  • 67. Centralised Version Control (CVC)  Single server holds the code base  Clients access the server with check-in/check-outs  CVC available are  CVS,  Subversion,  Visual Source Safe.  Pro: Simple to manage a single server  Con: Single point of failure. Naisan Benatar “Version Control” G51FSE
  • 68. Distributed Version Control (DVC)  aka, Distributed Revision Control  It is a form of version control that complete codebase, including its full history, is mirrored on every developer's computer. Enables  automatic management branching and merging,  speeds up most operations (except pushing and pulling),  improves the ability to work offline and  does not rely on a single location for backups.  Each client holds a copy of the code base.  Code is shared between clients by push/pulls  Advantages: Many operations, no single point of failure  Disadvantages: Complex to manage 68https://en.wikipedia.org/wiki/Distributed_version_control Naisan Benatar “Version Control” G51FSE
  • 69. CVC v/s DVC Naisan Benatar “Version Control” G51FSE
  • 70. Git  Git is a distributed version-control system.  It track changes in source code files during software development.  It is designed for coordinating work among programmers,  Its goal include speed, data integrity, and support for distributed, non-linear workflows.  Git was created by LinusTorvalds in 2005 for development of the Linux kernel.  Every Git directory on every developer's computer is a repository, and independent of network or central server. https://en.wikipedia.org/wiki/Git
  • 71. GitHub  GitHub provides web-hosting functionalities for  Software development,  DistributedVersion Control, and  Source Code Management (SCM).  GitHub features  bug tracking, continuous integration, change management,  feature requests, task management, wikis,  Branching, Merging, Fetch, and Commit of new push files  pull or clone of whole existing repository or its file(s)  January 2020, GitHub reports  over 40 million users and  more than 190 million repositories (28 million+ public repositories),  making it the largest host of source code in the world. https://en.wikipedia.org/wiki/GitHub
  • 72. GitHub Desktop (RaaS Client)  It simplifies development workflow by abstracting Git.  Attribute commits with collaborators: co-authors  Checkout branches with pull requests and view Commit statuses  Syntax highlighted diffs: highlighting when viewing diffs  Expanded image diff support: compare changed images  Extensive editor & shell integrations: use favorite editor or shell  Open-source Community support: contribute and collaboration https://desktop.github.com/
  • 74. Git-LFS  Git Large File Storage (LFS)  audio,  videos,  datasets, and  graphics,  Git-LFS replaces large files with text pointers inside Git  Storing the file contents on a remote server like  GitHub.com or GitHub Enterprise  git lfs install  git add file.psd  git commit -m "Add design file"  git push origin master
  • 75. Cloud Security and Privacy policies 1. Representational StateTransfer (REST) 2. IaaS and Hybrid Cloud • Orchestration &Virtualization: Eucalyptus &Amazon • Content Delivery Network (CDN): Facebook andAkamai 3. PaaS and Container as a Service (CaaS) • PaaS: GoogleApp Engine (GAE) and Ruby on Rails • CaaS: DockerHub 4. SaaS and DistributedVersion Control (DVC) • SaaS: FacebookTesting (Infer and Sapienz) • DVC: GitHub and Git-LFS 5. Cloud Security and Privacy policies (also refer Unit 1 Risk) • NIST Guidelines, GDPR, CDN Security
  • 76. NIST Guidelines: Security And Privacy Carefully plan before engaging  Organizational data, applications, and other resources should be in accord with the organization’s security objectives.  Consider security and privacy throughout the system life cycle  application development and service provisioning,  design, implementation, testing, use,  and monitoring of deployed or engaged services, then system disposition. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
  • 77. NIST Guidelines: Security And Privacy Public cloud computing environment  Security and privacy issues after implementation and deployment is more difficult, expensive, and exposes unnecessary risk  Assess the security and privacy risks, organizations should examine the policies, procedures, and technical controls used by a cloud provider,  Continuous monitoring for risk management and helps organizations  to maintain security, vulnerabilities, and threats  to support organizational risk management decisions. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
  • 78. NIST Guidelines: Security And Privacy Satisfies organizational requirements Negotiated agreements:  vetting of employees,  data ownership and  exit rights,  breach notification,  isolation of tenant applications,  data encryption and segregation,  tracking and reporting service effectiveness,  compliance with laws and regulations, and  the use of validated products that meet federal or national standards. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
  • 79. NIST Guidelines: Security And Privacy Client-side requirements  Following runs on a client device undermines the security and privacy of public cloud services as well as other Internet facing public services  A backdoorTrojan,  keystroke logger, or  other type of malware  Organizations should  review measures of cloud computing security architecture and  employ additional measures needed to secure the client side. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
  • 80. NIST Guidelines: Security And Privacy Maintain accountability in public cloud  Organizations should  monitor assets,  assess implementation of policies, standards, procedures, controls,  guidelines that establish and protect the confidentiality, integrity, and availability of information system resources.  Continuous monitoring of security involves maintaining  awareness of privacy and security controls, vulnerabilities, and threats  Monitoring of  the security of networks, information, and  systems can respond by accepting, avoiding, or  mitigating risk as situations change. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
  • 81. General Data Protection Regulation (GDPR)  GDPR is a regulation in European Union (EU) law on data protection and privacy in  the EU and  the European EconomicArea (EEA).  Addresses the transfer of personal data outside  the EU and  EEA areas.  The GDPR’s primary aim is to give control and individuals over their personal data  Made by European Parliament and  Council of the EU https://en.wikipedia.org/wiki/General_Data_Protection_Regulation https://gdpr-info.eu/
  • 82. General Data Protection Regulation (GDPR)  Regulation applies to following based in the EU region  the data controller (an organization that collects data from EU residents), or  processor (an organization that processes data on behalf of a data controller like cloud service providers), or  the data subject (person). https://en.wikipedia.org/wiki/General_Data_Protection_Regulation https://gdpr-info.eu/
  • 83. General Data Protection Regulation (GDPR) Unless a data subject has provided informed consent to data processing for one or more purposes, personal data may not be processed unless there is at least one legal basis to do so. Article 6 States the lawful purposes are: (a) If the data subject has given consent to the processing of his or her personal data; (b)To fulfill contractual obligations with a data subject, or for tasks at the request of a data subject who is in the process of entering into a contract; (c)To comply with a data controller's legal obligations; (d)To protect the vital interests of a data subject or another individual; (e)To perform a task in the public interest or in official authority; (f) For the legitimate interests of a data controller or a third party, unless these interests are overridden by interests of the data subject or her or his rights according to the Charter of Fundamental Rights (especially in the case of children). https://en.wikipedia.org/wiki/General_Data_Protection_Regulation https://gdpr-info.eu/
  • 84. CDN Security and Privacy  CDN provider's profit  either by content providers using their network,  or from the user analytics and tracking data:  Threat 1:  Potential privacy intrusion to do behavioral targeting.  Same-Origin policy:“permits scripts if pages have the same origin (combination of URI scheme, host name, and port number).” https://en.wikipedia.org/wiki/Content_delivery_network
  • 85. CDN Security and Privacy  CDN provider's profit  either by content providers using their network,  or from the user analytics and tracking data:  Threat 2:  CDN networks serving JavaScript can be target to inject malicious code into content.  Subresource Integrity: ensures the content is known and constrained to a hash reference by the website. https://en.wikipedia.org/wiki/Content_delivery_network
  • 86. References  Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of theTwenty-Fourth ACM Symposium on Operating Systems Principles. 2013.  Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.  Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th InternationalWorking Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.  Hazelwood, Kim, et al. "Applied machine learning at facebook:A datacenter infrastructure perspective.” 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2018.  Naisan Benatar “Version Control” G51FSE Foundations of Software Engineering  Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards andTechnology, 2012.
  • 87. References  https://en.wikipedia.org/wiki/Representational_state_transfer  https://en.wikipedia.org/wiki/Web-oriented_architecture  https://en.wikipedia.org/wiki/Infrastructure_as_a_service  https://en.wikipedia.org/wiki/Orchestration_(computing)  https://en.wikipedia.org/wiki/Hypervisor  https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud  https://en.wikipedia.org/wiki/Amazon_S3  https://en.wikipedia.org/wiki/Amazon_Elastic_Block_Store  https://docs.eucalyptus.cloud/eucalyptus/4.4.5/admin- guide/system_concepts.html  https://github.com/eucalyptus/eucalyptus/wiki  https://en.wikipedia.org/wiki/Eucalyptus_(software)
  • 88. References  https://en.wikipedia.org/wiki/Content_delivery_network  https://en.wikipedia.org/wiki/Akamai_Technologies  https://en.m.wikipedia.org/wiki/Platform_as_a_service  https://cloud.google.com/appengine  https://en.m.wikipedia.org/wiki/OS-level_virtualization  https://en.m.wikipedia.org/wiki/Docker_(software)  https://hub.docker.com/_/hello-world  https://docs.docker.com/get-started/  https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/  https://aws.amazon.com/ecs/  https://www.engineyard.com/
  • 89. References  https://engineering.fb.com/2016/05/09/core-data/introducing-fblearner- flow-facebook-s-ai-backbone/  https://en.wikipedia.org/wiki/Distributed_version_control  https://en.wikipedia.org/wiki/Git  https://en.wikipedia.org/wiki/GitHub  https://desktop.github.com/  https://en.wikipedia.org/wiki/General_Data_Protection_Regulation  https://gdpr-info.eu/  https://en.wikipedia.org/wiki/Content_delivery_network