Build a Cloud Day presentation about Fuse Fabric technology in the cloud and how integration projects / architectures can be designed top of cloudstack, openstack, amazon, ...
5. What is the cloud
● Cloud computing is the use of computing
resources (hardware and software) that are
delivered as a service over a network
(typically the Internet).
●Characteristics : Agility, Virtualization,
Security, Performance, Reliability,
Maintenance, ...
6. IaaS
●IaaS : Provide computers/virtual machines
or resources (= Infrastructure)
● Virtual machines uses hypervisor (Xen, KVM,
...)
7. PaaS
● Deliver a computing platform typically
including operating system, programming
language, execution environment, database,
web server, …
8. SaaS
● Install and operate application software in
the cloud and cloud users access the software
from cloud clients.
14. iPaas - Definition
● Definition : Provide Fabric runtimes top of
clouding machines for public, private or
hybrid clouds
● What is Fabric ?
- Combination of Apache Karaf & Java Agent
- Agent synchronized with with Apache
Zookeeper
15. Apache Karaf
● Birthdate - June 2010
● Comes from ServiceMix kernel runtime
● Multi-Technology Java OSGI Server
● Provide lightweight container(s) where
● Camel Integration Routes
● CXF WebServices
● ActiveMQ queues/topics
● Java / Web applications ...
19. Architecture - Messaging
Bus operates the exchanges between endpoints
using Camel, NMR, JBI
from(«ftp://server/dir»)
.beanRef(«myBean»);
from(«cxf:bean:myWS»)
.beanRef(«myBean») ;
20. Architecture – Java (Spring / Blueprint)
OSGI offers --> Service Registry (aka JNDI) where
"interfaces" are registered
<bean id="incidentServiceTarget"
class="org.apache.camel.service.impl.IncidentServiceImpl">
<property name="incidentDAO">
<osgi:reference interface="org.apache.camel.dao.IncidentDAO"/>
</property>
</bean>
24. Fuse Fabric
● “Integration” projects are really hard to
install, configure and run
● Distribution of workload/process is not
an easy task
● We want to make it easy!
25. Fuse Fabric
● http://fabric.fusesource.org/
● Open Source Software for “configuring, provisi
oning & running Fuse and Apache software on
any machines” physical, virtual, public, private
+public cloud
● Keeps you DRY from those rainy clouds :)
● Weave your containers into an easy to manage
Fabric
26. Karaf Administration
● Allows to create instanc Karaf
admin:create
Karaf
es & administrate locally / “root” “toto”
remotely Karaf
Machine AA
BUT Machine “nestor”
● Instances Not “cloned”
Copy instance
● Configurations updated
manually Karaf
“nestor”
● Process is error prone
Machine BB
Machine
27. Fuse Fabric
fabric:create
● Fabric will create Fabric
“master”
Fabric
“toto”
instances & manage
• Locally Machine AA
Machine
Fabric
“nestor”
• Remotely (ssh)
• In the cloud (jclouds) fabric:create ….
● Deploy artifacts
● Cloud instance created
Fabric
using jclouds api “aws-ec2”
Cloud Infra
Cloud Infra
28. What is Fabric
● Registry of Configurations
● Java Agents
● Profiles = Artifacts to be deployed
● But Also a Service factory ;-)
● Create “indirection” points
● Load balancing and failover
● Easy elastic scaling of services
29. Registry
● Based on Apache ZooKeeper
● Is a Centralized Coordination Service,
distributed and Highly Reliable
● Uses a directory
& File
based structure
● Part of Fuse
“Ensemble”
30. Agent
● Fabric-agent deployed / Karaf container
● Contains a Zookeeper client
● Agent listens to the registry to configure,
provision features & services
● Send info(s) to
registry (RMI, SSH)
31. Fuse Fabric : How it works
Fabric “Master”
Fabric command
Zookeeper
Maven
ssh
Shell script
Fabric
“Instance”
Cloud Machine
33. jclouds
● Umbrella project
● Open source library that
helps you get started in the
cloud
● API gives you the freedom
to use portable abstractions
or cloud-specific features.
34. jclouds
● BlobStore api
= storage mngt (S3, ...)
● Compute Api
= manage nodes
● Node api
● Tools = Karaf
35. jclouds
● 30 cloud providers & cloud software stacks
including Amazon, GoGrid, Ninefold, vCloud,
OpenStack, and Azure.
36. Who uses jclouds
● RedHat - OpenShift to deploy applications
to Terremark, RackSpace & EC2
● Twitter, Adobe
● GigaSpace, SalesForces
● General Electric
● Camel, Karaf, Cellar, Fabric
38. Fuse Fabric - Install
● Deploy features (= artifacts required)
● Will install commands, libraries required to
communicate with Cloud Providers and
manage instances
39. Fuse Fabric - Setup
● A. Create “ensemble” (optional)
● B. Add a provider A
B
C
A = Api of the jclouds provider
B = Public key
C = Password
40. Fuse Fabric – Create VM
● A. Create a container in the cloud
Jclouds in action
● B. Connect
ssh session
53. Conclusion
● Fuse Fabric technology is ready and mature
to allow to deploy iPaas projects
● Use best of Java api (jclouds) and support
many cloud providers
● Support Public, Private and Hybrid
infrastructure & Virtualization
● Designed to deploy Camel, CXF, ActiveMQ
in the cloud … Java Applications