SlideShare a Scribd company logo
1 of 30
Apache Java Cloud Projects!
Andrew Bayer
Bay Area Apache CloudStack Users Group
August 7, 2013
Who am I?
● Andrew Bayer
● Build and Tools Architect at Cloudera
● User of CloudStack
● VP, Apache Whirr
● PPMC, Apache jclouds
● Bad at designing slide decks
What am I here to talk about?
How the Apache Java-based cloud
projects play together!
CloudStack
(of course!)
jclouds
Whirr
Hold on a sec, gotta start the demo!
(it takes a while, y'see)
What's CloudStack?
...shouldn't you know that already?
Well, ok.
“The project develops open source software for
deploying public and private Infrastructure-as-a-
Service (IaaS) clouds.”
What can you do with CloudStack?
Run a cloud?
Seriously, what can't you do with CloudStack?
What's jclouds?
Java library for abstracting and interacting
more directly with a plethora of
compute, blobstore (i.e., S3 or Swift)
and other cloud-related APIs and
providers.
High-level abstractions allow you to use the same
code to work with different APIs/providers.
Java interfaces directly to the various APIs let you
drill down and get more specific control.
What can you do with jclouds?
Cloud automation in your Java/JVM application
Provision instances
Use object stores
Control your cloud
Write a management layer on top of one
or more clouds (hey, I did that!)
What's Whirr?
A set of Java libraries (built on top of
jclouds) for provisioning and deploying
distributed systems.
Cloud-neutral, or bring your own node
Common service API with service-specific details for
configuring/provisioning
Smart defaults so you can get going easily, but easy
to override
What can you do with Whirr?
Set up an Apache Hadoop cluster on your
favorite cloud in 5 minutes of work.
Deploy a distributed application onto existing
physical hosts (yes, Whirr works with bare
metal!)
Write your own service to deploy your own
app
Integrate all the above into a Java/JVM app
All at Apache!
CloudStack and jclouds
jclouds has support for the full CloudStack API
User, Domain and Root APIs
(if something's missing, open a JIRA and we'll add it!)
jclouds compute abstraction allows you to use the
same code with multiple clouds
Or you can drill down to the full CloudStack-specific
API and do, well, anything!
CloudStack and jclouds
CloudStack is a first class API in jclouds
Right up there with EC2, OpenStack, and (soon)
Google Compute
Provisioning, security groups, image creation – one
abstraction works with all these clouds
jclouds: Testing, Testing, Testing
Full battery of API tests
Unit tests to verify correctness of API calls
Live tests exercise every API call against
an actual CloudStack setup
Wait, All the APIs?
You mean the Root Admin APIs too?
Creating/deleting zones, acounts, etc?
Yup.
But isn't that risky to run against a live CloudStack
setup?
Ah, I've got an answer for that!
So how do you do that safely?
The CloudStack simulator, of course!
Build CloudStack, run the simulator
(and the marvin scripts to configure it, etc)
Point jclouds' tests at the simulator
Test everything! Break nothing!
A bit more detail...
You do need to grab the root admin API
creds, and create domain admin/normal
users as well
Not all tests will actually work – anything
that expects to SSH into a VM or attach
a disk, etc
We'll be marking simulator-friendly tests
so you can run “mvn clean install -Plive
-Pcloudstack-simulator” and just run those
tests
So what's using jclouds and
CloudStack now?
A good number of tools, like...
- The Jenkins jclouds plugin
(for provisioning Jenkins slaves on the fly)
- Pallet
(config management like Chef/Puppet, in Clojure)
- CloudCat
(Cloudera's internal cloud management app)
...and of course, Whirr!
Is Whirr like Chef or Puppet too?
Short answer? No.
Chef/Puppet/Pallet/etc are great at getting
nodes to a target state, initially and/or
regularly
But they're not good at dealing with a set of
distributed apps that need to coordinate
with each other while getting set up
Whirr, on the other hand, is.
Deployment Orchestration Engine!
That's the term I use to describe Whirr
Coordinating installation and
configuration, across hosts/instances, in
pre-defined stages
What services does Whirr support?
Among others:
Hadoop
HBase
ZooKeeper
Cassandra
Chef
Puppet
Solr
Kerberos
and more...
My personal favorite: whirr-cm
(I'm admittedly a bit biased)
That's Whirr support for Cloudera Manager
Deploys a fully configured CDH
(Cloudera's Distribution for Apache
Hadoop) cluster, including Cloudera
Impala and Search, using Cloudera
Manager
All in one command!
Cloudera Manager
I should probably mention a bit more about CM.
It manages, reports, configures, monitors, deploys
the complete CDH Hadoop stack, with lots of
handy features and integrations, all exposed via a
great web UI and a REST API (which has publicly
available Java and Python libraries as well).
whirr-cm works everywhere
...well, nearly everywhere.
Since it's jclouds-powered, it works with
any cloud supported by jclouds.
But it does require certain things like
reverse-resolvable public IPs, as do
some other Whirr services.
Running whirr
Set up a config file for your cluster – see the
recipes dir for examples
For CloudStack, you have to specify
“jclouds.endpoint=http://your.server/client/api”
Run “bin/whirr launch-cluster –config path/to/your.properties” to
provision/deploy
Run “bin/whirr destroy-cluster –config path/to/your.properties” to
destroy
Oh yeah, that demo...
It's whirr-cm!
Let's see how it's doing...
Another caveat
Whirr 0.8.2 (the latest release) has some
problems with CloudStack
Namely, security groups/firewalls and keypairs
These will be fixed in 0.9.0, coming out this fall
Patch already available - WHIRR-725
How do I get whirr-cm?
First option: download or build Whirr, and
then download or build whirr-cm – see
https://github.com/cloudera/whirr-cm
Second option: install Whirr from the CDH
deb/rpm packages – CDH 4.3.0 uses
whirr-cm 1.2.
Links!
● CloudStack - http://cloudstack.apache.org/
● jclouds - http://jclouds.incubator.apache.org/
● Whirr - http://whirr.apache.org/
● whirr-cm - https://github.com/cloudera/whirr-cm
● Installing Whirr from CDH
● CloudCat - https://github.com/abayer/cloudcat/
(for CloudStack-specific API use with jclouds)
Thanks for listening!

More Related Content

What's hot

On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing codeKohsuke Kawaguchi
 
Atlaskickin' the Plugin SDK, AtlasCamp US 2012
Atlaskickin' the Plugin SDK, AtlasCamp US 2012Atlaskickin' the Plugin SDK, AtlasCamp US 2012
Atlaskickin' the Plugin SDK, AtlasCamp US 2012Atlassian
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forwardMark Roden
 
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben SpeakmonAtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben SpeakmonAtlassian
 
Turbocharged Java with Quarkus | JakartaOne Livestream
 Turbocharged Java with Quarkus | JakartaOne Livestream Turbocharged Java with Quarkus | JakartaOne Livestream
Turbocharged Java with Quarkus | JakartaOne LivestreamJakarta_EE
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreKohsuke Kawaguchi
 
Zombies in Kubernetes
Zombies in KubernetesZombies in Kubernetes
Zombies in KubernetesThomas Fricke
 
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...Edureka!
 
Managing Complexity at Velocity
Managing Complexity at VelocityManaging Complexity at Velocity
Managing Complexity at VelocityMatt Ray
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDocker, Inc.
 
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
(SCALE 12x) OpenStack vs. VMware - A System Administrator PerspectiveStackStorm
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
OpenStack for VMware Administrators
OpenStack for VMware AdministratorsOpenStack for VMware Administrators
OpenStack for VMware AdministratorsTrevor Roberts Jr.
 
Elastic jenkins with mesos and dcos (2016 01-20)
Elastic jenkins with mesos and dcos (2016 01-20)Elastic jenkins with mesos and dcos (2016 01-20)
Elastic jenkins with mesos and dcos (2016 01-20)Mesosphere Inc.
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
Develop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice ArchitecturesDevelop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice ArchitecturesAll Things Open
 
Modern DevOps with Spinnaker - Olga Kundzich
Modern DevOps with Spinnaker - Olga KundzichModern DevOps with Spinnaker - Olga Kundzich
Modern DevOps with Spinnaker - Olga KundzichVMware Tanzu
 

What's hot (20)

On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
 
Atlaskickin' the Plugin SDK, AtlasCamp US 2012
Atlaskickin' the Plugin SDK, AtlasCamp US 2012Atlaskickin' the Plugin SDK, AtlasCamp US 2012
Atlaskickin' the Plugin SDK, AtlasCamp US 2012
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forward
 
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben SpeakmonAtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
 
Turbocharged Java with Quarkus | JakartaOne Livestream
 Turbocharged Java with Quarkus | JakartaOne Livestream Turbocharged Java with Quarkus | JakartaOne Livestream
Turbocharged Java with Quarkus | JakartaOne Livestream
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Zombies in Kubernetes
Zombies in KubernetesZombies in Kubernetes
Zombies in Kubernetes
 
An Overview of Spinnaker
An Overview of SpinnakerAn Overview of Spinnaker
An Overview of Spinnaker
 
7+1 myths of the new os
7+1 myths of the new os7+1 myths of the new os
7+1 myths of the new os
 
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...
OpenStack Cloud Tutorial | What is OpenStack | OpenStack Tutorial | OpenStack...
 
Containers & Security
Containers & SecurityContainers & Security
Containers & Security
 
Managing Complexity at Velocity
Managing Complexity at VelocityManaging Complexity at Velocity
Managing Complexity at Velocity
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at Netflix
 
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
OpenStack for VMware Administrators
OpenStack for VMware AdministratorsOpenStack for VMware Administrators
OpenStack for VMware Administrators
 
Elastic jenkins with mesos and dcos (2016 01-20)
Elastic jenkins with mesos and dcos (2016 01-20)Elastic jenkins with mesos and dcos (2016 01-20)
Elastic jenkins with mesos and dcos (2016 01-20)
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
Develop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice ArchitecturesDevelop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
 
Modern DevOps with Spinnaker - Olga Kundzich
Modern DevOps with Spinnaker - Olga KundzichModern DevOps with Spinnaker - Olga Kundzich
Modern DevOps with Spinnaker - Olga Kundzich
 

Viewers also liked

CloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataCloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataShapeBlue
 
CloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataCloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataTariq Iqbal
 
Effect of armed rebellion on children
Effect of armed rebellion on childrenEffect of armed rebellion on children
Effect of armed rebellion on childrenSidhartha Jatar
 
Momento 04 grupo_09_ 2016_16_1
Momento 04 grupo_09_ 2016_16_1Momento 04 grupo_09_ 2016_16_1
Momento 04 grupo_09_ 2016_16_1alejitacarrillo
 
Reservation for Women in Parliament
Reservation for Women in ParliamentReservation for Women in Parliament
Reservation for Women in ParliamentSidhartha Jatar
 
Managing Diversity
Managing DiversityManaging Diversity
Managing DiversityE P John
 
Economic benefits of investing in projects
Economic benefits of investing in projectsEconomic benefits of investing in projects
Economic benefits of investing in projectsE P John
 
LOCAL STAFF OUTSOURCING
LOCAL STAFF OUTSOURCINGLOCAL STAFF OUTSOURCING
LOCAL STAFF OUTSOURCINGE P John
 
Seaboard Marine
Seaboard MarineSeaboard Marine
Seaboard MarineE P John
 
Hi memories - oct 22-26 2011
Hi   memories - oct 22-26 2011Hi   memories - oct 22-26 2011
Hi memories - oct 22-26 2011E P John
 
Operational excellence
Operational excellenceOperational excellence
Operational excellenceE P John
 
Will God ever return to spend the night in Rwanda?
Will God ever return to spend the night in Rwanda?Will God ever return to spend the night in Rwanda?
Will God ever return to spend the night in Rwanda?Sidhartha Jatar
 
Communication
CommunicationCommunication
CommunicationE P John
 
CFI: Presentation made to M.P Jay Panda
CFI: Presentation made to M.P Jay PandaCFI: Presentation made to M.P Jay Panda
CFI: Presentation made to M.P Jay PandaSidhartha Jatar
 
Non negotiables of jan lokpal bill
Non negotiables of jan lokpal billNon negotiables of jan lokpal bill
Non negotiables of jan lokpal billSidhartha Jatar
 
10 Nutrition Tips That Will Help You To Get Abs
10 Nutrition Tips That Will Help You To Get Abs10 Nutrition Tips That Will Help You To Get Abs
10 Nutrition Tips That Will Help You To Get Absjoemrichards
 
Customer powerpoint
Customer powerpointCustomer powerpoint
Customer powerpointhonestabe954
 
Mergers and Acquisitions and Intellectual Property
Mergers and Acquisitions and Intellectual PropertyMergers and Acquisitions and Intellectual Property
Mergers and Acquisitions and Intellectual PropertySidhartha Jatar
 

Viewers also liked (20)

CloudStack Clients and Tools
CloudStack Clients and ToolsCloudStack Clients and Tools
CloudStack Clients and Tools
 
CloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataCloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage Data
 
CloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage DataCloudStack Metering – Working with the Usage Data
CloudStack Metering – Working with the Usage Data
 
Effect of armed rebellion on children
Effect of armed rebellion on childrenEffect of armed rebellion on children
Effect of armed rebellion on children
 
Momento 04 grupo_09_ 2016_16_1
Momento 04 grupo_09_ 2016_16_1Momento 04 grupo_09_ 2016_16_1
Momento 04 grupo_09_ 2016_16_1
 
Reservation for Women in Parliament
Reservation for Women in ParliamentReservation for Women in Parliament
Reservation for Women in Parliament
 
Managing Diversity
Managing DiversityManaging Diversity
Managing Diversity
 
Economic benefits of investing in projects
Economic benefits of investing in projectsEconomic benefits of investing in projects
Economic benefits of investing in projects
 
LOCAL STAFF OUTSOURCING
LOCAL STAFF OUTSOURCINGLOCAL STAFF OUTSOURCING
LOCAL STAFF OUTSOURCING
 
Seaboard Marine
Seaboard MarineSeaboard Marine
Seaboard Marine
 
Hi memories - oct 22-26 2011
Hi   memories - oct 22-26 2011Hi   memories - oct 22-26 2011
Hi memories - oct 22-26 2011
 
Operational excellence
Operational excellenceOperational excellence
Operational excellence
 
Will God ever return to spend the night in Rwanda?
Will God ever return to spend the night in Rwanda?Will God ever return to spend the night in Rwanda?
Will God ever return to spend the night in Rwanda?
 
Communication
CommunicationCommunication
Communication
 
CFI: Presentation made to M.P Jay Panda
CFI: Presentation made to M.P Jay PandaCFI: Presentation made to M.P Jay Panda
CFI: Presentation made to M.P Jay Panda
 
Non negotiables of jan lokpal bill
Non negotiables of jan lokpal billNon negotiables of jan lokpal bill
Non negotiables of jan lokpal bill
 
10 Nutrition Tips That Will Help You To Get Abs
10 Nutrition Tips That Will Help You To Get Abs10 Nutrition Tips That Will Help You To Get Abs
10 Nutrition Tips That Will Help You To Get Abs
 
Customer powerpoint
Customer powerpointCustomer powerpoint
Customer powerpoint
 
Portafolo de planos cad
Portafolo de planos cadPortafolo de planos cad
Portafolo de planos cad
 
Mergers and Acquisitions and Intellectual Property
Mergers and Acquisitions and Intellectual PropertyMergers and Acquisitions and Intellectual Property
Mergers and Acquisitions and Intellectual Property
 

Similar to CloudStack, jclouds and Whirr!

Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Tikal Knowledge
 
Introduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGIntroduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGEverett Toews
 
Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Jeff Moody
 
Deploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with DockerDeploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with DockerPayara
 
Deploying and running Grails in the cloud
Deploying and running Grails in the cloudDeploying and running Grails in the cloud
Deploying and running Grails in the cloudPhilip Stehlik
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
Fowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing WorkshopFowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing WorkshopMark Masterson
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecturejoaquincasares
 
Architecting Multi-Cloud Environments
Architecting Multi-Cloud EnvironmentsArchitecting Multi-Cloud Environments
Architecting Multi-Cloud EnvironmentsRightScale
 
Cloud Formation
Cloud FormationCloud Formation
Cloud FormationAdron Hall
 
Private cloud cloud-phoenix-april-2014
Private cloud cloud-phoenix-april-2014Private cloud cloud-phoenix-april-2014
Private cloud cloud-phoenix-april-2014Miguel Zuniga
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Mcf presentation by Hai NGUYEN-Portal team
Mcf presentation by Hai NGUYEN-Portal teamMcf presentation by Hai NGUYEN-Portal team
Mcf presentation by Hai NGUYEN-Portal teamThuy_Dang
 
How to Think Multi-Cloud
How to Think Multi-CloudHow to Think Multi-Cloud
How to Think Multi-CloudRightScale
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksJuho Vepsäläinen
 

Similar to CloudStack, jclouds and Whirr! (20)

Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
 
Introduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGIntroduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIG
 
Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)
 
Deploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with DockerDeploying Elastic Java EE Microservices in the Cloud with Docker
Deploying Elastic Java EE Microservices in the Cloud with Docker
 
Azure rev002
Azure rev002Azure rev002
Azure rev002
 
Deploying and running Grails in the cloud
Deploying and running Grails in the cloudDeploying and running Grails in the cloud
Deploying and running Grails in the cloud
 
Hello Cloud
Hello CloudHello Cloud
Hello Cloud
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
Fowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing WorkshopFowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing Workshop
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecture
 
Architecting Multi-Cloud Environments
Architecting Multi-Cloud EnvironmentsArchitecting Multi-Cloud Environments
Architecting Multi-Cloud Environments
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
Function as a Service
Function as a ServiceFunction as a Service
Function as a Service
 
Private cloud cloud-phoenix-april-2014
Private cloud cloud-phoenix-april-2014Private cloud cloud-phoenix-april-2014
Private cloud cloud-phoenix-april-2014
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Mcf presentation by Hai NGUYEN-Portal team
Mcf presentation by Hai NGUYEN-Portal teamMcf presentation by Hai NGUYEN-Portal team
Mcf presentation by Hai NGUYEN-Portal team
 
How to Think Multi-Cloud
How to Think Multi-CloudHow to Think Multi-Cloud
How to Think Multi-Cloud
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

CloudStack, jclouds and Whirr!

  • 1. Apache Java Cloud Projects! Andrew Bayer Bay Area Apache CloudStack Users Group August 7, 2013
  • 2. Who am I? ● Andrew Bayer ● Build and Tools Architect at Cloudera ● User of CloudStack ● VP, Apache Whirr ● PPMC, Apache jclouds ● Bad at designing slide decks
  • 3. What am I here to talk about? How the Apache Java-based cloud projects play together! CloudStack (of course!) jclouds Whirr
  • 4. Hold on a sec, gotta start the demo! (it takes a while, y'see)
  • 5. What's CloudStack? ...shouldn't you know that already? Well, ok. “The project develops open source software for deploying public and private Infrastructure-as-a- Service (IaaS) clouds.”
  • 6. What can you do with CloudStack? Run a cloud? Seriously, what can't you do with CloudStack?
  • 7. What's jclouds? Java library for abstracting and interacting more directly with a plethora of compute, blobstore (i.e., S3 or Swift) and other cloud-related APIs and providers. High-level abstractions allow you to use the same code to work with different APIs/providers. Java interfaces directly to the various APIs let you drill down and get more specific control.
  • 8. What can you do with jclouds? Cloud automation in your Java/JVM application Provision instances Use object stores Control your cloud Write a management layer on top of one or more clouds (hey, I did that!)
  • 9. What's Whirr? A set of Java libraries (built on top of jclouds) for provisioning and deploying distributed systems. Cloud-neutral, or bring your own node Common service API with service-specific details for configuring/provisioning Smart defaults so you can get going easily, but easy to override
  • 10. What can you do with Whirr? Set up an Apache Hadoop cluster on your favorite cloud in 5 minutes of work. Deploy a distributed application onto existing physical hosts (yes, Whirr works with bare metal!) Write your own service to deploy your own app Integrate all the above into a Java/JVM app
  • 12. CloudStack and jclouds jclouds has support for the full CloudStack API User, Domain and Root APIs (if something's missing, open a JIRA and we'll add it!) jclouds compute abstraction allows you to use the same code with multiple clouds Or you can drill down to the full CloudStack-specific API and do, well, anything!
  • 13. CloudStack and jclouds CloudStack is a first class API in jclouds Right up there with EC2, OpenStack, and (soon) Google Compute Provisioning, security groups, image creation – one abstraction works with all these clouds
  • 14. jclouds: Testing, Testing, Testing Full battery of API tests Unit tests to verify correctness of API calls Live tests exercise every API call against an actual CloudStack setup
  • 15. Wait, All the APIs? You mean the Root Admin APIs too? Creating/deleting zones, acounts, etc? Yup. But isn't that risky to run against a live CloudStack setup? Ah, I've got an answer for that!
  • 16. So how do you do that safely? The CloudStack simulator, of course! Build CloudStack, run the simulator (and the marvin scripts to configure it, etc) Point jclouds' tests at the simulator Test everything! Break nothing!
  • 17. A bit more detail... You do need to grab the root admin API creds, and create domain admin/normal users as well Not all tests will actually work – anything that expects to SSH into a VM or attach a disk, etc We'll be marking simulator-friendly tests so you can run “mvn clean install -Plive -Pcloudstack-simulator” and just run those tests
  • 18. So what's using jclouds and CloudStack now? A good number of tools, like... - The Jenkins jclouds plugin (for provisioning Jenkins slaves on the fly) - Pallet (config management like Chef/Puppet, in Clojure) - CloudCat (Cloudera's internal cloud management app) ...and of course, Whirr!
  • 19. Is Whirr like Chef or Puppet too? Short answer? No. Chef/Puppet/Pallet/etc are great at getting nodes to a target state, initially and/or regularly But they're not good at dealing with a set of distributed apps that need to coordinate with each other while getting set up Whirr, on the other hand, is.
  • 20. Deployment Orchestration Engine! That's the term I use to describe Whirr Coordinating installation and configuration, across hosts/instances, in pre-defined stages
  • 21. What services does Whirr support? Among others: Hadoop HBase ZooKeeper Cassandra Chef Puppet Solr Kerberos and more...
  • 22. My personal favorite: whirr-cm (I'm admittedly a bit biased) That's Whirr support for Cloudera Manager Deploys a fully configured CDH (Cloudera's Distribution for Apache Hadoop) cluster, including Cloudera Impala and Search, using Cloudera Manager All in one command!
  • 23. Cloudera Manager I should probably mention a bit more about CM. It manages, reports, configures, monitors, deploys the complete CDH Hadoop stack, with lots of handy features and integrations, all exposed via a great web UI and a REST API (which has publicly available Java and Python libraries as well).
  • 24. whirr-cm works everywhere ...well, nearly everywhere. Since it's jclouds-powered, it works with any cloud supported by jclouds. But it does require certain things like reverse-resolvable public IPs, as do some other Whirr services.
  • 25. Running whirr Set up a config file for your cluster – see the recipes dir for examples For CloudStack, you have to specify “jclouds.endpoint=http://your.server/client/api” Run “bin/whirr launch-cluster –config path/to/your.properties” to provision/deploy Run “bin/whirr destroy-cluster –config path/to/your.properties” to destroy
  • 26. Oh yeah, that demo... It's whirr-cm! Let's see how it's doing...
  • 27. Another caveat Whirr 0.8.2 (the latest release) has some problems with CloudStack Namely, security groups/firewalls and keypairs These will be fixed in 0.9.0, coming out this fall Patch already available - WHIRR-725
  • 28. How do I get whirr-cm? First option: download or build Whirr, and then download or build whirr-cm – see https://github.com/cloudera/whirr-cm Second option: install Whirr from the CDH deb/rpm packages – CDH 4.3.0 uses whirr-cm 1.2.
  • 29. Links! ● CloudStack - http://cloudstack.apache.org/ ● jclouds - http://jclouds.incubator.apache.org/ ● Whirr - http://whirr.apache.org/ ● whirr-cm - https://github.com/cloudera/whirr-cm ● Installing Whirr from CDH ● CloudCat - https://github.com/abayer/cloudcat/ (for CloudStack-specific API use with jclouds)