SlideShare a Scribd company logo
Cloud @ TLU
Van Dinh Phuc (Philip Van)
Phucvd.ce@gmail.com
https://www.meetup.com/docker-hanoi/docker-hanoi.slack.com / @Philip
Ping Me 
Van Dinh Phuc (Philip Van)
Personal email: Phucvd.ce@gmail.com
Github : @phucvdb Skype: @phucvdb
Technology Domain:
◼ Virtualization & Cloud Technologies focus on infrastructure (VDI, EUC, IaaS, PaaS)
◼ Container ecosystem (Docker, Kubernetes, …)
◼ Innovation Technologies 
◼ Programing language: Golang, Python and .Net
First Job: Internship @ Cloud Department – Bkav Corporation (2010)
My current job: Cloud Solution Architect – FSS.CLI.R&D
What are your expectations/targets
for this seminar?
Why You Should Learn Cloud Computing?
◼Salary
◼ Job opportunity
◼Explorer many technology stacks based on Cloud
Computing:
 DevOps
 Big Data, Data Ware House, Data Lake
 IoT
 Machine Learning, AI
 Mobility
 ..
Why You Should Learn Cloud Computing? (cont.)
Why You Should Learn Cloud Computing? (cont.)
Introduction to Cloud Computing
History
◼The term cloud was used to refer to platforms
for distributed computing as early as 1993 by
Apple
◼Amazon.com releases its Elastic Compute
Cloud product in 2006
Cloud Computing - What is it?
◼is an information technology (IT) paradigm that enables ubiquitous access to shared pools of
configurable system resources and higher-level services that can be rapidly provisioned with
minimal management effort, often over the Internet.
◼Cloud computing relies on sharing of resources to achieve coherence and economies of scale,
similar to a public utility.
◼Third-party clouds enable organizations to focus on their core businesses instead of expending
resources on computer infrastructure and maintenance
Source: https://en.wikipedia.org/wiki/Cloud_computing
Key Features of Cloud Computing
Cloud Computing provides key features such as:
◼ Speed and Agility
The required resources are just one click away, which saves time and provides agility. We can also easily scale up or down, depending on our
need.
◼ Cost
It reduces the up-front cost to setup the infrastructure and allows us to focus on applications and business. Cloud providers have features to
estimate the cost, which helps us plan better.
◼ Easy access to resources
As users, we can access our infrastructure from any place and device, as long as we can connect to the provider.
◼ Maintenance
All the maintenance work for the resources is done by the provider. As end-users, we do not have to worry about this aspect.
◼ Multi-tenancy
Multiple users can use the same pool of resources.
◼ Reliability
Resources can be hosted in different Datacenter locations, to provide increased reliability.
Source: eDX - Introduction to Cloud Infrastructure Technologies
Cloud Computing Service Types
Most of these services fall into one of the following categories:
◼ Infrastructure as a Service (IaaS)
sometimes abbreviated as IaaS, contains the basic building blocks for cloud IT and
typically provide access to networking features, computers (virtual or on dedicated
hardware), and data storage space.
◼ Platform as a Service (PaaS)
remove the need for organizations to manage the underlying infrastructure (usually
hardware and operating systems) and allow you to focus on the deployment and
management of your applications
◼ Software as a Service (SaaS)
provides you with a completed product that is run and managed by the service
provider. In most cases, people referring to Software as a Service are referring to end-
user applications. With a SaaS offering you do not have to think about how the
service is maintained or how the underlying infrastructure is managed; you only need
to think about how you will use that particular piece software.
Source: eDX - Introduction to Cloud Infrastructure Technologies
Cloud Computing Service Types (cont.)
Source: internet
Cloud Deployment Models
Generally, a Cloud is deployed in the following models:
◼ Private Cloud
It is designated and operated solely for one organization. It can be hosted
internally or externally and managed by internal teams or a third party. We can
build a Private Cloud using a software stack like OpenStack.
◼ Public Cloud
It is open to the public and anybody can use it after swiping the credit
card. AWS and Google Compute Engine are examples of Public Clouds.
◼ Hybrid Cloud
Public and Private Clouds are bound together to offer the Hybrid Cloud. Among
other things, a Hybrid Cloud can be used to:
- Store sensitive information on a Private Cloud, while offering public services
based on that information from a Public Cloud.
- Meet the temporary resources needed from the Public Cloud. These temporary
resources cannot be met from a Private Cloud.
Source: eDX - Introduction to Cloud Infrastructure Technologies
How many time to understand both of them?
I need about 1 month to
understand and remember
the above concepts
and you?
It’s all about Cloud Computing ?
What is next?
What is the next?
You also need to know about:
◼Virtualization
◼Software define Network/ Storage
◼Containers
◼Container as a Service & Container Orchestration
◼DevOps and CI/CD
◼Micro service / Server less
◼Cloud Computing Vendors
Virtualization
Virtualization
“In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including
virtual computer hardware platforms, operating systems, storage devices, and computer resources.” from Wikipedia
Virtualization can be offered on different hardware and software layers, like CPU (Central Processing Unit), Disk,
Memory, File systems, Software, Memory, Storage, Data, Network
Virtualization (cont.)
Virtual Machines are created on top of a Hypervisor, which runs on top
of the Host Machine's Operating System.
With Hypervisors, we emulate hardware like CPU, Disk, Network,
Memory and install Guest Machines on it.
Some examples of hypervisors are:
◼KVM
◼Xen
◼VMWare
◼VirtualBox
◼Hyper-V.
Nested Virtualization, which enables us to have a VM inside a VM.
Software-defined Everything (SDx)
Software-defined Everything (SDx)
Software-defined Everything (SDx) (cont.)
◼Software-defined infrastructure (SDI)
is the definition of technical computing infrastructure entirely under the control of software with no operator or
human intervention. It operates independent of any hardware-specific dependencies and is programmatically
extensible.
◼Software Defined Networking (SDN)
decouples the network control layer from the layer which forwards the traffic. This allows SDN to program the
control layer to create custom rules in order to meet the networking requirements
◼Software Defined Storage (SDS)
is a form of storage virtualization in which storage hardware is separated from the software, which manages it.
By doing this, we can bring hardware from different sources and we can manage them with software. Software
can provide different features, like replication, erasure coding, snapshot, etc. on top of the pooled resources.
Once the pooled storage is configured in the form of a cluster, SDS allows multiple access methods like File,
Block, and Object.
Software-defined infrastructure (SDI)
Software Defined Networking (SDN)
In Networking we have three planes defined:
◼ Data Plane
The Data Plane, also called the Forwarding Plane, is responsible for
handling data packets and apply actions to them based on rules which we
program into lookup-tables.
◼ Control Plane
The Control Plane is tasked with calculating and programming the actions
for the Data Plane. This is where the forwarding decisions are made and
where services (e.g. Quality of Service and VLANs) are implemented.
◼ Management Plane
The Management Plane is the place where we can configure, monitor, and
manage the network devices.
Software Defined Storage (SDS)
Some examples of Software Defined Storage are:
◼Ceph
◼Gluster
◼FreeNAS
◼Nexenta
◼VMware Virtual SAN.
Container
Container
What is a container?
In 4 bullet points:
◼Containers share the host kernel
◼Containers use the kernel ability to group processes for resource control
◼Containers ensure isolation through namespaces
◼Containers feel like lightweight VMs (lower footprint, faster), but are not Virtual Machines!
Source: http://docker-saigon.github.io/post/Docker-Internals/
Containers vs. VMs
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Docker
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
VM
Container
Containers are isolated,
but share OS and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster deployment,
much less overhead, easier migration,
faster restart
Container benefits
Some of the benefits of using containers are:
◼They have very little footprint.
◼They can be deployed very fast (within milliseconds).
◼They are a flexible solution, as they can run on any computer, infrastructure, or cloud environment.
◼They can be scaled up or down with ease.
◼There is a very rich ecosystem built around them.
◼Problem containers can be easily and quickly isolated when troubleshooting and solving problems.
◼Containers use less memory and CPU than VMs running similar workloads.
◼Increased productivity with reduced overhead.
WHAT IS DOCKER ?
Docker containers wrap up a piece of software in a
complete filesystem that contains everything it
needs to run: code, runtime, system tools, system
libraries – anything you can install on a server
Docker Images & Container
◼An image is a filesystem and parameters to
use at runtime. It doesn’t have state and
never changes
◼A container is a running instance of an image
Docker – Ecosystem support
https://www.mindmeister.com/656846411#slideshow
DevOps and CI/CD
What is the DevOps?
ProductionDevelopment
Operate + learnPlan
Develop + test Release
Requirements
Collaboration
CI/CD Tools
Some of the software used in the CI/CD
domain are:
◼Jenkins
◼AWS Code Star, Code Pipeline,…
◼Microsoft VSTS/Team Foundation Server
◼Atlassian Bamboo
◼Gitlab
◼Drone
◼Travis
◼Shippable
Microsoft ALM framework
Tlu introduction-to-cloud
Continuous delivery pipeline - A sample from Microsoft
CI /CD in my project with Docker on Azure
Dev
VSAgent-sn
Azure Container Registry
VSagentX
ACS
ContainerX
Access to application
EndUsers
Azure Load Balancer
Visual Studio Team Service
Push code
Microservices / Serverless
Microservices
Serverless
A serverless architecture is a way to build and run
applications and services without having to manage
infrastructure. Your application still runs on servers, but all
the server management is done by AWS. You no longer
have to provision, scale, and maintain servers to run your
applications, databases, and storage systems
Cloud Computing Vendors
Market share 2017
Other Vendor/Products
Infrastructure as a Service (IaaS) Platform as a Service (PaaS)
Digital Ocean
Google Cloud Engine
OpenStack
Cloud Foundry
Red Hat Openshift
Heroku
Deis
Kubernetes
How to Be Successful in the Cloud
Think Like a Startup, Act Like an Enterprise
How to Be Successful in the Cloud (cont.)
Though not everyone has to master all the topics we have discussed in this course, you should at least have a
basic understanding of the following:
◼Different cloud offerings (IaaS, PaaS, SaaS), and cloud models (Public, Private, and Hybrid)
◼Container technologies like Docker, rkt, and their ecosystem
◼DevOps
◼Continuous Integration and Continuous Deployment
◼Software Defined Networking and Storage
◼Debugging, Logging, and Monitoring cloud applications
Experience sharing
The most interesting project
Targets:
◼Building up a private cloud based on OpenStack (2011)
◼Publish the private cloud to public for end-user and become a
Cloud Service Provider (2011)
Main responsibilities:
◼Research technologies related to network security, cloud
computing (focus on IAAS) and virtualization technologies.
◼Administrating and operating Private Cloud
◼Migrating the internal services to Private Cloud
◼Leading Public Cloud Project
Thanks you !

More Related Content

Tlu introduction-to-cloud

  • 1. Cloud @ TLU Van Dinh Phuc (Philip Van) Phucvd.ce@gmail.com https://www.meetup.com/docker-hanoi/docker-hanoi.slack.com / @Philip
  • 2. Ping Me  Van Dinh Phuc (Philip Van) Personal email: Phucvd.ce@gmail.com Github : @phucvdb Skype: @phucvdb Technology Domain: ◼ Virtualization & Cloud Technologies focus on infrastructure (VDI, EUC, IaaS, PaaS) ◼ Container ecosystem (Docker, Kubernetes, …) ◼ Innovation Technologies  ◼ Programing language: Golang, Python and .Net First Job: Internship @ Cloud Department – Bkav Corporation (2010) My current job: Cloud Solution Architect – FSS.CLI.R&D
  • 3. What are your expectations/targets for this seminar?
  • 4. Why You Should Learn Cloud Computing? ◼Salary ◼ Job opportunity ◼Explorer many technology stacks based on Cloud Computing:  DevOps  Big Data, Data Ware House, Data Lake  IoT  Machine Learning, AI  Mobility  ..
  • 5. Why You Should Learn Cloud Computing? (cont.)
  • 6. Why You Should Learn Cloud Computing? (cont.)
  • 8. History ◼The term cloud was used to refer to platforms for distributed computing as early as 1993 by Apple ◼Amazon.com releases its Elastic Compute Cloud product in 2006
  • 9. Cloud Computing - What is it? ◼is an information technology (IT) paradigm that enables ubiquitous access to shared pools of configurable system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. ◼Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility. ◼Third-party clouds enable organizations to focus on their core businesses instead of expending resources on computer infrastructure and maintenance Source: https://en.wikipedia.org/wiki/Cloud_computing
  • 10. Key Features of Cloud Computing Cloud Computing provides key features such as: ◼ Speed and Agility The required resources are just one click away, which saves time and provides agility. We can also easily scale up or down, depending on our need. ◼ Cost It reduces the up-front cost to setup the infrastructure and allows us to focus on applications and business. Cloud providers have features to estimate the cost, which helps us plan better. ◼ Easy access to resources As users, we can access our infrastructure from any place and device, as long as we can connect to the provider. ◼ Maintenance All the maintenance work for the resources is done by the provider. As end-users, we do not have to worry about this aspect. ◼ Multi-tenancy Multiple users can use the same pool of resources. ◼ Reliability Resources can be hosted in different Datacenter locations, to provide increased reliability. Source: eDX - Introduction to Cloud Infrastructure Technologies
  • 11. Cloud Computing Service Types Most of these services fall into one of the following categories: ◼ Infrastructure as a Service (IaaS) sometimes abbreviated as IaaS, contains the basic building blocks for cloud IT and typically provide access to networking features, computers (virtual or on dedicated hardware), and data storage space. ◼ Platform as a Service (PaaS) remove the need for organizations to manage the underlying infrastructure (usually hardware and operating systems) and allow you to focus on the deployment and management of your applications ◼ Software as a Service (SaaS) provides you with a completed product that is run and managed by the service provider. In most cases, people referring to Software as a Service are referring to end- user applications. With a SaaS offering you do not have to think about how the service is maintained or how the underlying infrastructure is managed; you only need to think about how you will use that particular piece software. Source: eDX - Introduction to Cloud Infrastructure Technologies
  • 12. Cloud Computing Service Types (cont.) Source: internet
  • 13. Cloud Deployment Models Generally, a Cloud is deployed in the following models: ◼ Private Cloud It is designated and operated solely for one organization. It can be hosted internally or externally and managed by internal teams or a third party. We can build a Private Cloud using a software stack like OpenStack. ◼ Public Cloud It is open to the public and anybody can use it after swiping the credit card. AWS and Google Compute Engine are examples of Public Clouds. ◼ Hybrid Cloud Public and Private Clouds are bound together to offer the Hybrid Cloud. Among other things, a Hybrid Cloud can be used to: - Store sensitive information on a Private Cloud, while offering public services based on that information from a Public Cloud. - Meet the temporary resources needed from the Public Cloud. These temporary resources cannot be met from a Private Cloud. Source: eDX - Introduction to Cloud Infrastructure Technologies
  • 14. How many time to understand both of them? I need about 1 month to understand and remember the above concepts and you?
  • 15. It’s all about Cloud Computing ? What is next?
  • 16. What is the next? You also need to know about: ◼Virtualization ◼Software define Network/ Storage ◼Containers ◼Container as a Service & Container Orchestration ◼DevOps and CI/CD ◼Micro service / Server less ◼Cloud Computing Vendors
  • 18. Virtualization “In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer resources.” from Wikipedia Virtualization can be offered on different hardware and software layers, like CPU (Central Processing Unit), Disk, Memory, File systems, Software, Memory, Storage, Data, Network
  • 19. Virtualization (cont.) Virtual Machines are created on top of a Hypervisor, which runs on top of the Host Machine's Operating System. With Hypervisors, we emulate hardware like CPU, Disk, Network, Memory and install Guest Machines on it. Some examples of hypervisors are: ◼KVM ◼Xen ◼VMWare ◼VirtualBox ◼Hyper-V. Nested Virtualization, which enables us to have a VM inside a VM.
  • 22. Software-defined Everything (SDx) (cont.) ◼Software-defined infrastructure (SDI) is the definition of technical computing infrastructure entirely under the control of software with no operator or human intervention. It operates independent of any hardware-specific dependencies and is programmatically extensible. ◼Software Defined Networking (SDN) decouples the network control layer from the layer which forwards the traffic. This allows SDN to program the control layer to create custom rules in order to meet the networking requirements ◼Software Defined Storage (SDS) is a form of storage virtualization in which storage hardware is separated from the software, which manages it. By doing this, we can bring hardware from different sources and we can manage them with software. Software can provide different features, like replication, erasure coding, snapshot, etc. on top of the pooled resources. Once the pooled storage is configured in the form of a cluster, SDS allows multiple access methods like File, Block, and Object.
  • 24. Software Defined Networking (SDN) In Networking we have three planes defined: ◼ Data Plane The Data Plane, also called the Forwarding Plane, is responsible for handling data packets and apply actions to them based on rules which we program into lookup-tables. ◼ Control Plane The Control Plane is tasked with calculating and programming the actions for the Data Plane. This is where the forwarding decisions are made and where services (e.g. Quality of Service and VLANs) are implemented. ◼ Management Plane The Management Plane is the place where we can configure, monitor, and manage the network devices.
  • 25. Software Defined Storage (SDS) Some examples of Software Defined Storage are: ◼Ceph ◼Gluster ◼FreeNAS ◼Nexenta ◼VMware Virtual SAN.
  • 28. What is a container? In 4 bullet points: ◼Containers share the host kernel ◼Containers use the kernel ability to group processes for resource control ◼Containers ensure isolation through namespaces ◼Containers feel like lightweight VMs (lower footprint, faster), but are not Virtual Machines! Source: http://docker-saigon.github.io/post/Docker-Internals/
  • 29. Containers vs. VMs App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Docker Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  • 30. Container benefits Some of the benefits of using containers are: ◼They have very little footprint. ◼They can be deployed very fast (within milliseconds). ◼They are a flexible solution, as they can run on any computer, infrastructure, or cloud environment. ◼They can be scaled up or down with ease. ◼There is a very rich ecosystem built around them. ◼Problem containers can be easily and quickly isolated when troubleshooting and solving problems. ◼Containers use less memory and CPU than VMs running similar workloads. ◼Increased productivity with reduced overhead.
  • 31. WHAT IS DOCKER ? Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server
  • 32. Docker Images & Container ◼An image is a filesystem and parameters to use at runtime. It doesn’t have state and never changes ◼A container is a running instance of an image
  • 33. Docker – Ecosystem support https://www.mindmeister.com/656846411#slideshow
  • 35. What is the DevOps? ProductionDevelopment Operate + learnPlan Develop + test Release Requirements Collaboration
  • 36. CI/CD Tools Some of the software used in the CI/CD domain are: ◼Jenkins ◼AWS Code Star, Code Pipeline,… ◼Microsoft VSTS/Team Foundation Server ◼Atlassian Bamboo ◼Gitlab ◼Drone ◼Travis ◼Shippable
  • 39. Continuous delivery pipeline - A sample from Microsoft
  • 40. CI /CD in my project with Docker on Azure Dev VSAgent-sn Azure Container Registry VSagentX ACS ContainerX Access to application EndUsers Azure Load Balancer Visual Studio Team Service Push code
  • 43. Serverless A serverless architecture is a way to build and run applications and services without having to manage infrastructure. Your application still runs on servers, but all the server management is done by AWS. You no longer have to provision, scale, and maintain servers to run your applications, databases, and storage systems
  • 46. Other Vendor/Products Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Digital Ocean Google Cloud Engine OpenStack Cloud Foundry Red Hat Openshift Heroku Deis Kubernetes
  • 47. How to Be Successful in the Cloud Think Like a Startup, Act Like an Enterprise
  • 48. How to Be Successful in the Cloud (cont.) Though not everyone has to master all the topics we have discussed in this course, you should at least have a basic understanding of the following: ◼Different cloud offerings (IaaS, PaaS, SaaS), and cloud models (Public, Private, and Hybrid) ◼Container technologies like Docker, rkt, and their ecosystem ◼DevOps ◼Continuous Integration and Continuous Deployment ◼Software Defined Networking and Storage ◼Debugging, Logging, and Monitoring cloud applications
  • 50. The most interesting project Targets: ◼Building up a private cloud based on OpenStack (2011) ◼Publish the private cloud to public for end-user and become a Cloud Service Provider (2011) Main responsibilities: ◼Research technologies related to network security, cloud computing (focus on IAAS) and virtualization technologies. ◼Administrating and operating Private Cloud ◼Migrating the internal services to Private Cloud ◼Leading Public Cloud Project