Florida Linux User Exchange April 2015
Mark HinkleSenior DirectorOpen Source Solutionshttp://open.citrix.com@mrhinkle [email protected]
Slides Can be Viewed and Downloaded at:http://www.slideshare.net/socializedsoftware/
Copyright Mark R. Hinkle, available under the
CCbySA license some rights reserved 2015
Walking before you run
Inspired by Simon Wardley http://enterpriseitadoption.com/
0 0.5 1 1.5 2 2.5 3 3.5 4
Amazon
Azure
Rackspace
Revenue (in Billions)
Source: Company data, Evercore Group LLC, Research. Azure based on MSFT comments about a $1 billion rev run rate in May
2013. Google based on estimate by TBR (Technology Business Research)
Company Revenue Annual Growth
Amazon $962 million 49%
Microsoft $370 164%
IBM $259 86%
Salesforce $203 38%
Google $169 47%
Source: Synergy Research Group
“Citrix CloudStack 3 Brings the Power of Amazon-Style Clouds to Customers of All Sizes”
Citrix Press Release, February 12, 2012
“AWS And Eucalyptus To Make It Easier For Customers To Migrate Applications Between On-Premises Environments And The Cloud”
Eucalyptus Press Release, March 22, 2012
“HP Cloud Compute undercuts Amazon, too”
Tech Target, December 12, 2012
H/T: Adrian Cockcroft
https://twitter.com/swardley/status/585205624331444225/photo/1
Public PrivateHybrid
zzz
Public Cloud
• Global Footprint
• Massive Scale
• Extreme Velocity
Vendors
Advantages
Challenges
• Stability
• Security
• Privacy
• End-to-End
Network
• Security & SLA
• App QOS
• SI Capabilities
• Enterprise Trust
• SMB Channel
Managed Cloud SP/SI Cloud
• Higher price than
Public Cloud
• Limited services
capabilities
• Agility
• Stack lock-in
• Not always best of
breed for whole
stack
Compute
(Containers, KVM, Xen
Project)
Distirbuted Storage
(Ceph, Gluster)
Networking
(Open Daylight)
Orchestration – OpenStack, Apache CloudStack
Docker Apache Mesos Kubernetes
Platform-as-a-Service – CloudFoundry, OpenShift, Gigaspaces
Containers compared to Hardware Virtualization
• Different file formats for virtual machines
(VMware uses vmdk file format, Xen and Hyper-
V use VHD, KVM uses Raw or QCOW2)
• Guest images may be “processor architecture”
bound
• VMware and Xen can manage SCSI devices,
but KVM cannot
• KVM and Xen can use virtio drivers but not
VMware
• VMware uses a proprietary agent inside the
guest OS (VMware tools) which does not work
with Xen or KVM
• Yada, Yada, Yada
• Lightweight Linux execution environment
• Static application composition
• Reliable deployment
• Unit of resource isolation
• Execution isolation
• Multi-tenancy without heavyweight VMs
• Rapid deployment
• Ease-of-use
• Portability
• Provenance
• Reusable Code
• Open Source
• Configurable Layers
• Reproducible
• Version-Controlled
The Flux Capacitor
Of Cloud Computing
Legacy - Node First Development
App +SO bundled machine images
Fragile, tightly couple apps and little resource fungability.
Low resource efficiency
Containers
Hermetically sealed deployment units
Efficient isolation and resource use.
ClusteringDeclarative app model
Agile, decoupled architecture
Smart (Machine Learning Enhanced)
Active Management
New World - Cluster First Development
Radically enhanced developer productivity: snap together systems.
Radically reduced operations overhead: deploy, run, update effortlessly
Operational specialization: cluster/infra ops separate from app ops
• Security???
• Binary Management (Repos)
• Resource tracking and separation
• Networking across clouds/hosts
• Container consistency (Multiple container sources)
• Many other problems with rapidly deployable, highly portable, easily used technologies
Container Cluster Management – Scheduler
Kubernetes builds on top of Docker to
construct a clustered container scheduling
service. Kubernetes enables users to ask a
cluster to run a set of containers. The system
will automatically pick worker nodes to run
those containers on, which we think of more
as "scheduling" than "orchestration”
To learn more please visit: https://github.com/GoogleCloudPlatform/kubernetesGreek for Shipmaster
A design pattern in which software/application components provide services to other software/application components via a protocol, typically over a network and in a loosely-coupled way.
SOA Definition circa 1995
microservices(n) - Loosely coupled
service oriented architecture with
bounded contexts
If every service has to be
updated at the same time
it’s not loosely coupled
If you have to know
too much about surrounding
services you don’t have a
bounded context.
• Microservices can be introduced quickly
• Leave old services in production until time to clean-up
• Allows for faster speed of innovation
• Code pushes are only additive so no legacy issues
Rocket
?
Ne
tflix B
log
-h
ttp://te
ch
blo
g.n
etflix
.co
m/2
01
5/0
2/a
-mic
ros
co
pe
-on
-mic
ros
erv
ice
s.h
tml
Alex Williams (the New Stack) : Looking out at 2015, what are some of the issues that will be more complex in this distributed infrastructure world for customers – what are some of the top ones you see?
Mitchell Hashimoto(Hashicorp) - Number one is service proliferation, where your data center just becomes more and more services. Number two is, inherently becoming multi-data-center and highly-distributed at a much earlier stage. With things like Docker, where you can run things in much smaller units, it becomes a lot easier to start running a lot more services. As a result, we have a management problem, an orchestration problem, and distributed system problems in there.
Source: http://thenewstack.io/new-stack-mitchell-hashimoto-containers-no-containers-one-question-2015/
Cloud 2.0
Where Awesome Starts
…the future of technological innovation is
not stealing limited resources away from
one another, but creating new resources
— and new opportunities to create new
resources — together in a rich ecosystem.
Allison Randal
Open Source Hacker
Former OSCON Program Chair
@allisonrandal
Open Source Isn’t a Zero-Sum Game
How can you tell if they’re Legit
• Code Velocity
• Committers
• Committer Reputation
• User-driven or Vendor-Driven Innovation
• User Activity
• Corporate Support*
• Reputation of Foundation*
Visualizing Community Activity
http://www.openhub.net http://activity.openstack.org
Innovate Develop what doesn’t exist to address your needs
LeverageLeverage the growing base of high-quality open source software
Commoditize Shift non-differentiating tech to reliable services or sources
Simon Wardley – Open Source as a weapon
• Declarative > Imperative – State desired results, let the system actuate
• Control loops: Observe, rectify, repeat
• Simple > complex: Do as little as possible
• Modularity: Components, interfaces & plugins
• Legacy compatible: Requiring apps to change is a non-starter
• Network-centeric – IP addresses are cheap
• Non grouping - Labels are the only groups
• Cattle > pets: Manager your workload in Bulk
• Open > closed: Open Source, standards, REST, JSON, etc.
Courtesy: Craig Mcluckie Google Linux Collab Summit
• Massively Scalable
• Secure
• Competitive Prices
• Distributed Applications
• Proliferation of Microservices coming
• Cloud Tenets(Rapid Elasticity, Metered, Self-Service, Pooling, Broad Network)
• Hosted on User Selected Hardware
• Tailored to just what you need
• Unlikely to have as many zones as public
• Next evolution of cloud isn’t all-in-on, it’s federation of cloud services (no silos)
• Minimum Viable Cloud
• Network Quality of Service*
• Application Management *
• Service Level Differentiation*
• Developer Environments*
• Advanced Security*
• Continuous Integration*
• Developer Environments *
And I work on open source at Citrix.
http://open.citrix.com
Thank You
• Pattern: Microservices Architecture
• Gilt’s Kevin Scaldeferri on Enabling Micro-service Architectures with Scala(Video)
• Heroku Blog - Why Microservices Matter
• Microservices Example – Azure Biz Talk
• Video: Integrating to Microservices by Adrian Cockcroft
• Distributed Systems for Fun and Profit
Top Related