jclouds arrived – ProfitBricks unterstützt als erster rein deutscher Cloud Service Provider Apache jclouds®

jclouds
jclouds oder ganz offiziell Apache jclouds® ist ab sofort offiziell und vollumfänglich Teil der ProfitBricks Cloud API. ProfitBricks unterstützt von ganzem Herzen Open Source-Initiativen und -Produkte. Gleichzeitig plädiert ProfitBricks für offene Standards und einfache Migration und Portabilität in der Cloud. Lock-in ist schädlich. Apache steht wie kaum ein anderer für Webserver. jclouds hilft dabei, Wege für eine Multi-Cloud-Strategie zu öffnen. Matt Baldwin, ProfitBricks DevOps Principal erklärt, was den Kern von jclouds ausmacht und wie er mit ProfitBricks bestens genutzt werden kann:

We’re excited to announce that the jClouds Labs work we have been doing has finally paid off. ProfitBricks is now an official provider in the main jClouds project. Luckily, docs don’t change too much and you should be able to find everything you need here, but we’ll recap a few things.

jclouds is an open-source multi-cloud toolkit built for the Java platform. It gives developers the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features. This means that you, the developer, can build code that can be used to provision compute services at any provider using the same code-base; jclouds removes the need for you to have to implement each provider separately.

This contribution commits ProfitBricks to continuing to support the OSS community, ensuring users have easy, consumable access to its high-performance compute platform. The fact that ProfitBricks has graduated from Labs into the main project only further illustrates the amazing adoption it is seeing amongst developers, operators, and DevOps professionals.

Cloud API v3

Throughout the jClouds Labs incubation we’ve added support for an array of features. This includes features found in Cloud API v2 along with Cloud API v3.

Users can now:

  • Choose between SSD or HDD for their block storage.
  • Choose Intel processors.
  • Provide SSH keys with their virtual machine provisioning requests.
  • Set the zone for your storage.
  • Set NAT support on NICs.

We continue to see organizations adopt jclouds to automate against ProfitBricks.

Why Java?

Java is the most dominant language in the enterprise and arguably the number one language in use by developers globally. This is one of many reasons ProfitBricks has embraced jclouds. Over the past year adoption and continued use of Java in the enterprise has only continued to grow, driving the adoption of jclouds and ProfitBricks as an infrastructure provider.

jclouds is used by both large and small shops to automate actions against cloud providers. Some notable folks using jclouds are RedHat, who uses it to create OpenShift Flex applications at providers, Mesosphere, who uses it to spin up and tear down clusters and nodes, and Adobe, who uses it to provision infrastructure for its Enterprise PaaS.

Quick Example

I encourage you to read more in the community. Find auth, setup, config information there.

Your most common task will be to create a server. This is done by first creating a Virtual Data Center, then adding as many servers as you need to it. Network them in any way, much like you would in a real world data center — quite handy.

DataCenter dc = api.dataCenterApi().createDataCenter(

DataCenter.Request.CreatePayload.create(“JClouds”, Location.DE_FKB)

);

You could then quickly create a server or two. This can be done by doing:

String serverId = api.serverApi().createServer(Server.Request.creatingBuilder()

.dataCenterId(dc.id())

.name(“jclouds-node”)

.cores(1)

.ram(1024)

.build());

Now, given the server is not immediately available. If you want to wait for the server to finish before moving onto the next you can make use of the “waitUntilAvailable” server object method. This will ensure your code waits until the server state is available before continuing. This is useful when chaining requests together that are dependent on one another. The code for that would be:

waitUntilAvailable = Predicates2.retry(

new ProvisioningStatusPollingPredicate(api, ProvisioningStatusAware.SERVER, ProvisioningState.AVAILABLE),

2l * 60l, 2l, TimeUnit.SECONDS);

Once you have your environment up and running, you can use cloud-specific functionality built into jclouds, too. In the case of ProfitBricks this means you can adjust your memory, core, and volume sizing. You can do that like this:

api.serverApi().updateServer(

Server.Request.updatingBuilder()

.id(serverId)

.name(“apache-node”)

.cores(2)

.ram(2 * 1024)

.build());

Summary:

Combining ProfitBricks and jclouds provides the DevOps professional with a great way to instrument infrastructure across the cloud. Developers have tools that let them automate and build out environments. Operators can easily manage large numbers of machines running across their ProfitBricks infrastructure.

You can create an unlimited amount of private networks, segmenting your machines into different networks for security and access control, or simply control your machine size at a granular level. Need to upgrade all of your machines with two more GB of memory? Use jclouds to perform this action across all servers automatically.

We look to continue to support the ProfitBricks provider. Join the conversation about jclouds, Java, and all things cloud at the new DevOps Central.

 

Autor: Mark Neufurth
Erschienen: 15. November 2016
Bildrechte: ProfitBricks GmbH
Original Blogbeitrag: https://blog.profitbricks.de/cloud-service-apache-jclouds/

Ähnliche Beiträge