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
- 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
..
- 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
- 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?
- 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
- 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
- 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
- 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