cloud native application @ vmug.it 20150529
TRANSCRIPT
© 2010 VMware Inc. All rights reserved
VMUG IT Meeting – PI 29/05/2015
News from VMware – Cloud native
application
2
Chi sono:
Lino Telera
• System Administrator, VCP4, VCP5-DT, VCP-Cloud,VCP5-DT
• Ex Software developer (C#, Java, PHP, Javascript, Flex)
• @linotelera - it.linkedin.com/pub/lino-telera/9/309/697
• http://www.linoproject.net
• http://about.me/linotelera
3
The official announcement
5 December 2014: Container Orchestration on VMware – From Dev
Box to Production
5 December 2014: Docker Machine Deployment on VM Fusion,
vSphere and vCloud Air
8 Jannuary 2015: Kicking off the New Year in Style: Blueprint
Working Group
2 February 2015: One Platform, Any Application - And Getting
There with Cloud-Native
20 April 2015 : Two new open source projects – Project Photon and
Project Lightwave – that will help our customers to securely build,
run, and manage their cloud-native applications.
4
Bridging two Worlds
Client Server Era Mobile-Cloud Era
Cloud IaaS
Bare Metal
vSphere
Web App Era
SDDC (In premise and off
premise)
5
One Cloud For All
IT Architecure
Private
Public
SDDC
Software defined
Compute, Network and Storage
Any A
pplic
ation
Any
Device
Tra
ditio
nal
App
Clo
ud n
ative A
pp
Hybrid
6
The strategy
Vmware and Pivotal working together providing
end-to-end solution from development to
production
VMware
- Photon (OS)
- Lightwave (id and access
mgmt)
Pivotal
- Lattice (for deployment and
mgmt on a scalable cluster)
Cloud-Native Application: supports standards with
key partner across ecosystem
7
The evolution from infrastructure perspective
Consolidation
Workload
Workload
Workload
Server
Distribution
Application Server
Server
Server
Consolidation & Distribution
Server Wkl Wkl Wkl
Server Wkl Wkl Wkl
Server Wkl Wkl Wkl
Applic
ation
Optimize efficiency
Save capex/opex
Availability
SLA
Mixed approach
Efficiency and Availability
8
The evolution from application perspective
Application(s)
Server Server Server
<<Cloud native application: Application designed and/or built to
run in a dynamic and elastic infrastrucure>> Kit Colbert
1. App knows infrastructure:
provision, scale, HA
2. Distrubuted and Scale Out
(Microservices,
Linux, Open source)
9
The rise of Cloud-Native Apps
App are developed and
operated DEVOPS
Micro-services
12-factor apps
Architecture
Method
container
Docker
10
Microservices
Microservices is a software architecture style, in which complex applications are
composed of small, independent processes communicating with each other using
language-agnostic APIs.
These services are small, highly decoupled and focus on doing a small task
Properties of the Microservices architecture:
• The services are easy to replace
• Services are organized around capabilities, e.g. user interface frontend,
recommendation, logistics, billing, etc.
• A microservices-based architecture
• lends itself to a continuous delivery software development process.
• is distinct from a Service-oriented architecture (SOA) in that the latter aims
at integrating various (business) applications whereas several
microservices belong to one application only
http://en.wikipedia.org/wiki/Microservices
11
12-factor apps
The twelve-factor app is a methodology for building software-as-a-service apps
that:
• Minimize time and cost for new developers joining the project (declarative
format for setup automation)
• Have a clean contract with the underlying operating system, offering
maximum portability between execution environments
• Are suitable for deployment on modern cloud platforms, obviating the need
for servers and systems administration
• Minimize divergence between development and production (continuous
deployment for maximum agility)
• Scale up without significant changes to tooling, architecture, or development
practices.
(http://12factor.net)
12factor Ideal practice for App
dev Dynamics of the
organic growth
Collaboration between
developers
12
Docker and Container
Docker is an open platform for developers and sysadmins to build, ship, and run distributed
applications. Consisting of
• Docker Engine, a portable, lightweight runtime and packaging tool,
• and Docker Hub, a cloud service for sharing applications and automating workflows,
Docker enables apps to be quickly assembled from components and eliminates the friction
between development, QA, and production environments. As a result, IT can ship faster and run the
same app, unchanged, on laptops, data center VMs, and any cloud.
The notion of a “container” is that it provides operating system-level process isolation, similar
in concept to hardware virtualization, like we do at VMware. The difference is that the isolation is
done in the OS rather than at the hardware abstraction layer. Containers have been around in
various forms for years: for instance FreeBSD Jails or Solaris Zones. Google realized the
potential of containers early on as well and started contributing to the Linux kernel to add
process isolation functionality to various subsystems. Projects like OpenVZ and LXC appeared
to contribute to the Linux kernel and to orchestrate these Linux kernel subsystems to execute
isolated processes (containers) on Linux.
13
Container: an IT stack evolution
Machine
OS
Applications
Machine
Hypervisor
Virtual Machine
Application
Infrastructure
SDDC
Virtual Machine
Application
Infrastructure
OS OS
SDDC
Virtual Machine
OS
Container
Application
14
Cloud-Native Open Security Solution
Network
Linux
Container
Engine Container Container
Orchestration & Scheduling
Repository
Identity and
Access
Management
Lightwave
15
Lightwave
Identity, Authentication and Authorization Server
Scalable Architecture • Multi-master state-based replication
• Multi-data center replication
Multi-Tenant • Multiple indipendent forests
Open Source
• LDAP
• Kerberos
• SAML
• OAuth2.0
• X.509
Now available
16
Cloud-Native Open Security Solution
Network
Linux
Container
Engine Container Container
Orchestration & Scheduling
Repository
Lightwave
Open Virtual
Networking
(OVN)
NSX
17
Open Virtual Networking and NSX
OVN
Project that complements the existing capabilites of Open Virtual Switch
to add native support for virtual network abstractions
NSX
<<VMware NSX is the network virtualization platform for the Software-Defined Data
Center (SDDC).>> http://www.vmware.com/products/nsx
NSX lets you treat your physical
network as a pool of transport
capacity, with network and security
services attached to VMs with a
policy-driven approach
18
vSphere
Cloud-Native Open Security Solution
NSX
Linux
Container
Engine Container Container
Orchestration & Scheduling
Repository
Lightwave
Photon
19
Photon
Container Optimized Linux OS
• Support
• Docker
• Rkt
• Garden (Pivotal)
• Minimal footprint to run
CONTAINERS
vSphere Integration • Part of vSphere install
• Hypervisor-optimized container
runtime
Update from VMware • Enterpise support
• Security and update patches from VMware
Open Source
20
Photon architecture
Thin OS
Micro
Minimal
Full
Custom
SystemCTL
Container Engine
Image Image
Container Container Container
21
Photon deployment
Workstation/Fusion
Public Cloud
Download ISO Configure, Install,
run VM
Use it
vSphere
23
Lattice: Container Clustering Simplified
Lattice combines the container scheduling, per application dynamic routing and
log aggregation components from Cloud Foundry as a stand-alone package for
deploying and operating clustered applications
Together, Photon and Lattice offer the ability to run and manage containers, in
a lightweight package.
Cluster scheduler
Lattice
Http load balancing
Log aggregation
Health management
24
Lattice and Photon: an example of PaaS with scaling
vDC
vDC
vDC
Lattice
Photon
Photon
Photon
Photon
Application
Availability
25
How to workflow: Mesosphere (DCOS)
Application
Datacenter Services
Datacenter OS
Deploy any Linux application on the Mesosphere DCOS
with no code changes. Run your traditional applications,
new applications and big data workloads with ease.
Services such as Hadoop, Spark, Kafka, YARN and
Kubernetes are the killer appsof the DCOS and can be
installed with a single command.
The Mesosphere DCOS organizes the machines in your
cluster. It provides an API for building and orchestrating
distributed systems and a user interface to easily
manage thousands of nodes.
Any Platform Any Cloud
26
New architectures for devops and sysadmin
App
vDatacenter
DevOps
Sysadmin
Conta
iner
and O
rch
estr
ato
r
vD
ata
cente
r
Public Cloud
Private
Cloud
28
New skills: Devops less Sysadmin
Develope Packaging Deploy Patch Analysis
Develope Deploy Analysis
Sysadmin: make env
Developer: start coding
Sysadmin: test package and
share workflow Developer:
adjust application
for env
Sysadmin: deploy,
secure, scale
Developer: adjust
application for
security and scale
Sysadmin: maintain
the infrastructure
Devops: code, publish, scale,
secure
29
Some conclusion
Cloud Application
Stay in a Contanier
Directed by an orchestrator
Stay in a SDDC
environment
Work with
another Cloud
Application
Vision around a VM
Vision around
Application
30
HOL-SDC-1430 - Docker Essentials for the vSphere Admin
DevOps, Containers, Docker, Mesos, Kubernetes, Microservices, 12-factor
applications, 3rd platform
31
http://blogs.vmware.com/cloudnative/docker-machine-deployment-vm-fusion-
vsphere-vcloud-air/
32
…and don’t forget
vExpert Blog Articles
Andrea Mauro - Works in IT since 1996 and held several technical certifications (VCP, VCAP, VCDX, MCITP, MCSA,
MCSE, CCA). And he’s also a VMware vExpert (2010/2011/2012/2013/2014).
VMware cloud-native applications vision - In this post will be introduces the concept of cloud native application and how
VMware is helping to deploy and manage them.
Dan McGee - Systems Engineer, VMware vExpert 2013-2015, VMware User Group (VMUG) Speaker, and Virtualization
Blogger. Dan holds several technical certifications including VCP6-NV, VCP-Cloud, VCP5-DCV, VCP5-DT, VCA-Cloud,
VCA-DCV, VCA-WM, NIOP, VCE-CIA, IPv6 Sage, NSTISSI 4011, and NSTISSI 4013.
Photon and Lightwave and Lattice, Oh My! - This article examines some challenges and opportunities with
operationalizing Cloud-Native Apps and highlights recent announcements made by VMware and Pivotal.
Gregg Roberts
VMware Introduces New Open Source Projects to Accelerate Enterprise Adoption of Cloud-Native Applications -Last
week I was fortunate enough to be part of a blogger early access program covering VMware’s announcement around two
new open source projects built to enable enterprise adoption of cloud-native applications.
Vladan Seget
VMware Cloud-Native Applications: Lightwave, Photon and more... - VMware Cloud-Native Applications is new model
of application distribution across nodes in clustered environment. Today VMware is announcing Cloud-Native applications
based on several projects based on open source building blocks for containerized applications.
http://blogs.vmware.com/vmtn/2015/04/project-lightwave-project-photon.html
33
Reference
BASIC info, download and getting started
• http://vmware.github.io/
• http://blogs.vmware.com/cloudnative/introducing-cloud-native-apps/
• http://www.vmware.com/cloudnative/cloudnative.html
Further Information
• http://blogs.vmware.com/cto/vmware-containers-containers-without-compromise/
• http://blogs.vmware.com/cto/better-together-containers-natural-part-software-defined-
data-center/
• http://blogs.vmware.com/performance/2014/10/docker-containers-performance-vmware-
vsphere.html
• http://blog.pivotal.io/cloud-foundry-pivotal/products/lattice-simplifies-container-clusters
Contributors
• http://blogs.vmware.com/cloudnative/
• http://blogs.vmware.com/vmtn/2015/04/project-lightwave-project-photon.html