SlideShare a Scribd company logo
1
Taming the Cloud Database
with
Apache jclouds
http://rack.to/ace14db
Before we begin: Setup
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
2
Virtual Machine pre-setup provided
http://rack.to/ace14vm
Avoid downloading during this presentation
Before we begin: Setup
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
3
Alternatively you need
Oracle Java 7
http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-
ubuntu-via.html
maven
http://maven.apache.org/download.cgi
git config --global core.autocrlf false
Before we begin: Setup
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
4
Testing on your machine (no subscriptions)
Devstack
http://devstack.org/
http://blog.phymata.com/2014/04/18/devstack-icehouse-on-the-
rackspace-cloud/
Providers: Rackspace, HP, others
http://www.openstack.org/marketplace/public-clouds/
http://rack.to/ace14

Recommended for you

Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way

Hazelcast provides scale-out computing capabilities that allow cluster capacity to be increased or decreased on demand. It enables resilience through automatic recovery from member failures without data loss. Hazelcast's programming model allows developers to easily program cluster applications as if they are a single process. It also provides fast application performance by holding large data sets in main memory.

hazelcast
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016

An introduction to Stacki-the fastest bare metal Linux server provisioning tool from the Stacki Atlanta kickoff meetup on 2/23/16 at the Microsoft Innovation Center. Greg Bruno is the VP Engineering at StackIQ.

stackiserver provisioninglinux installation
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS

This document describes Matteo Moretti's company Madisoft's migration of their Nuvola application from on-premise servers to AWS. It involved moving over 60 servers, 1000 databases totaling 4.5TB of data, and 25M media files to AWS using Ansible automation. The migration provided benefits like increased flexibility, horizontal scaling, infrastructure as code, and cost optimization. It took place over multiple environments using tools like Ansible, AWS EC2, RDS, S3, Route53, and was completed in around 50 minutes with no issues for users.

Before we begin: Setup
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
5
git clone https://github.com/zack-shoylev/jclouds-
developer-examples.git
Multiple branches
git clone https://github.com/rackerlabs/jclouds-
examples.git
Branch trove-example-only
Introductions
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
6
➢ Zack Shoylev
➢ irc: zacksh twitter: @zackshoylev
freenode #jclouds
Also email
@rackspace.com
Introductions
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
7
Developer Experience
https://developer.rackspace.com/support/
Goals
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
8
➢ jclouds
➢ Create a database in the cloud
➢ Abstractions and how to contribute
➢ How to add support for an API

Recommended for you

Configuration management and deployment with ansible
Configuration management and deployment with ansibleConfiguration management and deployment with ansible
Configuration management and deployment with ansible

This document discusses configuration management and deployment using Ansible. It provides an overview of Ansible's key capabilities including configuration management, ad-hoc execution, rolling updates, multi-tier deployment and cloud provisioning. It also discusses Ansible's architecture including being SSH-based and agentless, its use of inventory files, playbooks and roles to define configurations. Finally it demonstrates examples of using Ansible modules, tasks, and playbooks to manage and deploy applications.

ansiblejenkins
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack

This document discusses how Chef can be used to deploy and manage OpenStack infrastructure. It provides an overview of Chef's capabilities for infrastructure automation including defining servers, applications, and databases through code and templates. The document also describes the Chef for OpenStack project which provides cookbooks for deploying OpenStack components like Keystone, Glance, Nova, etc. It promotes the community around automating OpenStack deployment and management with Chef.

opschefchefopenstack
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016

Dave Peterson's presentation on how Salesforce uses Stacki and Chef to provision and manage thousands of servers. Stacki Atlanta kickoff Meetup on 2/23/16 at the Microsoft Innovation Center. Dave is a Lead Systems Engineer at Salesforce.

command linesystems managementstacki
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
9
➢ Networked and distributed computing
➢ Variety of services
➢ Compute (servers)
➢ Storage (files)
➢ Databases
➢ Email
➢ …
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
10
➢ Can’t someone else do it?
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
11
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
12
➢ Public cloud (external provider)
➢ Private cloud (internal deployment)
➢ Hybrid cloud
➢ Public + Private
Rackspace
example

Recommended for you

Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015

Fastly engineer Michael May at OSCON 2015: When it comes to caching, we fall into two categories – those who make phat stacks of cache money and those who suffer from cache anxiety. We know caching aggressively improves performance; however, advanced caching strategies for event-driven content or user-specific content are often neglected for fear of complexity or lack of understanding. In this talk, we’ll cover HTTP caching, old and new strategies for caching historically ‘uncacheable’ content, and secret features of HTTP accelerators like Varnish. Whether you’re already stacking cache or just seeking a prescription for one, you’ll leave with a deeper understanding of caching and accelerating applications that you can take and apply to your Rails, Django, etc. apps.

osconcaching contentfastly
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua

Apache Traffic Server (ATS) is a fast, scalable HTTP caching proxy server. It allows plugins to be written using Lua, a lightweight scripting language. This provides advantages over writing plugins in C/C++, including easier development, testing, and ability to leverage Lua features. The presentation discusses using Lua with ATS, including exposing ATS APIs as Lua functions, implementing plugins, testing plugins, and security considerations like input validation and sandboxing. Future work may include exposing more ATS APIs and providing input validation libraries.

apacheluaats
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014

Peek behind the scenes to learn about Amazon ElastiCache's design and architecture. See common design patterns of our Memcached and Redis offerings and how customers have used them for in-memory operations and achieved improved latency and throughput for applications. During this session, we review best practices, design patterns, and anti-patterns related to Amazon ElastiCache.

aws-reinventaws cloudservices deep dive
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
13
Your
System
S
D
K
Cloud
AP
I
VM
VM
VM
➢ This can be an application server
➢ Or your home machine
➢ Or belong to one of your end users
➢ Or a cloud VM
➢ Or a smartphone
jclouds
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
14
➢ Advantages
➢ Metered pricing (pay as you go)
➢ Project scalability (unlimited)
➢ Safer (offsite/redundant)
➢ Economies of scale
➢ Expertise
➢ Support
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
15
➢ Disadvantages
➢ Less hardware control
➢ Provider-controlled downtime
➢ Virtualization (efficiency)
➢ Provider lock-in
➢ Provider-specific apis/sdks/features
➢ Expensive to switch clouds or deploy locally
➢ jclouds minimizes this disadvantage
The Cloud
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
16
➢ Database specific advantages
➢ Optimized by provider
➢ Settings
➢ Container virtualization
➢ Automated software updates
➢ Redundant data storage
➢ Backup
➢ Migration
➢ Choice
➢ Clustering (upcoming)
➢ Support

Recommended for you

Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your Cache

Caching has been an essential strategy for greater performance in computing since the beginning of the field. Nearly all applications have data access patterns that make caching an attractive technique, but caching also has hidden trade-offs related to concurrency, memory usage, and latency. As we build larger distributed systems, caching continues to be a critical technique for building scalable, high-throughput, low-latency applications. Large systems tend to magnify the caching trade-offs and have created new approaches to distributed caching. There are unique challenges in testing systems like these as well. Ehcache and Terracotta provide a unique way to start with simple caching for a small system and grow that system over time with a consistent API while maintaining low-latency, high-throughput caching.

ehcachecacheterracotta
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra

The document discusses best practices for using Apache Cassandra, including: - Topology considerations like replication strategies and snitches - Booting new datacenters and replacing nodes - Security techniques like authentication, authorization, and SSL encryption - Using prepared statements for efficiency - Asynchronous execution for request pipelining - Batch statements and their appropriate uses - Improving performance through techniques like the new row cache

nosqlnosql cassandrabig data
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials

This document provides an overview of Hazelcast, an open source in-memory data grid. It discusses what Hazelcast is, common use cases, features, and how to configure and use distributed maps (IMap) and querying with predicates. Key points covered include that Hazelcast stores data in memory and distributes it across a cluster, supports caching, distributed computing and messaging use cases, and IMap implements a distributed concurrent map that can be queried using predicates and configured with eviction policies and persistence.

hazelcast hazelcast-training hazelcast-essentials
OpenStack
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
17
➢ Cloud OS
➢ Open-sourced by Rackspace and NASA
(2010)
➢ Free
➢ Supported
➢ AT&T, HP, IBM, Red Hat, Rackspace, Dell, Cisco,
Intel, VMware, …
OpenStack
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
18
➢ http://stackalytics.com/
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
19
➢ Cloud SDK
➢ Apache project
➢ Java (and Clojure)
➢ Easy
➢ Portable
➢ Cloud-agnostic
➢ Community
➢ Open source
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
20
➢ https://jclouds.apache.org/

Recommended for you

Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances

Amazon EC2 provides a broad selection of instance types to accommodate a diverse mix of workloads. In this session, we provide an overview of the Amazon EC2 instance platform, key platform features, and the concept of instance generations. We dive into the current generation design choices of the different instance families, including the General Purpose, Compute Optimized, Storage Optimized, Memory Optimized, and GPU instance families. We also detail best practices and share performance tips for getting the most out of your Amazon EC2 instances.

cloudchris johnsoncloud computing
Challenges when building high profile editorial sites
Challenges when building high profile editorial sitesChallenges when building high profile editorial sites
Challenges when building high profile editorial sites

This talk will be a walk through the challenges encountered when building a high profile editorial sites. My goal is to present some of the common pitfalls we have encountered at Lincoln Loop and to explain how we solved: * Legacy migration always take longer * devops * Multiple environment * Easy deployment * Responsive design impacts the backend * Journey of an image * Picturefill.js * Danger of reusing published django applications * Caching strategy * Html fragment * Varnish Audience Decision maker that are going to rebuild their magazine Developer bidding for this kind of projects for the first time

djangocmsvarnish
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh things

This document discusses benchmarking Drupal performance and optimizing it with APC caching. It finds that a plain HTML page serves 1000 requests 32 times faster than Drupal. Installing the APC opcode cache speeds up Drupal significantly by caching compiled PHP files in memory. The document provides instructions for installing APC on Linux and verifying its setup. Other caching techniques like Varnish, Memcache and database tuning are also mentioned as ways to improve Drupal performance.

drupalesiperformance
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
21
➢ HTTP requests, responses, retries
➢ Authentication and re-authentication
➢ Pagination
➢ Polling
➢ Rate limits
➢ Retries
➢ Abstractions
➢ Logging
➢ Less code
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
22
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
23
➢ Services
➢ Storage
➢ Compute
➢ VM Images
➢ Load Balancers
➢ DNS
➢ Databases
➢ …
➢ Providers
➢ Openstack
➢ Rackspace
➢ HP
➢ Amazon
➢ Azure
➢ …
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
24
AWS aws-ec2 US-VA,US-CA,IE,SG
Bluelock bluelock-vcloud-zone01 US-IN
CloudSigma US cloudsigma-lvs US-NV
CloudSigma CH cloudsigma-zrh CH-ZH
CloudSigma DC cloudsigma-wdc US-DC
DigitalOcean digitalocean
ElasticHosts GB elastichosts-lon-b GB-LND
ElasticHosts GB elastichosts-lon-p GB-LND
ElasticHosts US elastichosts-sat-p US-TX
Go2Cloud go2cloud-jhb1 ZA-GP
GoGrid gogrid US-CA,US-VA
Green House Data greenhousedata-element-
vcloud
US-WY
HP hpcloud-compute US-NV
Ninefold ninefold-compute AU-NSW
OpenHosting openhosting-east1 US-VA
Rackspace UK (First Gen) cloudservers-uk GB-SLG
Rackspace US (First Gen) cloudservers-us US-IL,US-TX
Rackspace UK (Next Gen) rackspace-cloudservers-uk GB-SLG
Rackspace US (Next Gen) rackspace-cloudservers-us US-IL,US-TX
SeverLove serverlove-z1-man GB-MAN
SkaliCloud skalicloud-sdg-my MY-10
SoftLayer softlayer
Compute
Providers

Recommended for you

Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss

Jason Cook discusses his experience setting up boot infrastructure for Fastly's caching clusters. He outlines how they moved from using existing tools like Cobbler and Razor to building their own solution called Donner using iPXE to boot machines over HTTP. Donner uses Chef to store machine metadata and configuration which allows the boot process to install operating systems, configure networking, and run Chef on first boot to provision machines.

netbootchefchefconf
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler

This presentation explains how to deploy and use the Integrated Caching feature on Netscaler. I gave this presentation to Citrix staff, customers and partners in worldwide in 2011. The presentation covers best practices and gotchas :) Integrated Caching is an excellent feature that can greatly improve the performance of your website.

load balancingcitrix systemsnetscaler
Taming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jcloudsTaming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jclouds

The document discusses using Apache jclouds to interact with cloud databases. It introduces jclouds as a cloud SDK that allows interacting with multiple cloud providers through a common API. It then demonstrates how to use the jclouds database API to create a database instance on Rackspace, create a database, and add a user, providing code examples for each step.

databasesapacheconjclouds
jclouds
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
25
➢ Showcase database code
➢ Best practices
➢ Compare with compute code
➢ Gotchas and workarounds
➢ Abstractions
Requirements
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
26
➢ Maven 3
➢ Java 7+
➢ jclouds
➢ Windows or Linux [etc..] (thanks Java!)
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
27
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
28
➢ Maven Dependencies
➢ Selective subset
➢ Versioning
➢ jclouds-labs

Recommended for you

Các mã sản phẩm
Các mã sản phẩmCác mã sản phẩm
Các mã sản phẩm
LAN's by Group 1
LAN's by Group 1LAN's by Group 1
LAN's by Group 1

This document discusses different types of wireless network security protocols and configurations for local area networks (LANs). It describes WEP, WPA, PSK, TKIP, and AES security protocols, explaining their purpose and differences. It also outlines three configurations for connecting devices like computers and an Xbox in a LAN, either through wired or wireless connections using a router.

Sandra sanchezintegradora1
Sandra sanchezintegradora1Sandra sanchezintegradora1
Sandra sanchezintegradora1
POM
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
29
https://github.com/jclouds/jclouds-examples/blob/master/rackspace/pom.xml
<dependency>
<groupId>org.apache.jclouds.provider</groupId>
<artifactId>rackspace-clouddatabases-us</artifactId>
<version>${jclouds.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
POM
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
30
mvn dependency:copy-dependencies "-DoutputDirectory=./lib"
Logging
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
31
// This module is responsible for enabling logging
Iterable<Module> modules = ImmutableSet.<Module> of(new SLF4JLoggingModule());
ComputeServiceContext context = ContextBuilder.newBuilder(provider)
.credentials(username, apiKey)
.modules(modules) // don't forget to add the modules to your context!
.buildView(ComputeServiceContext.class);
logback.xml
<configuration scan="false">
…
<appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
<file>target/test-data/jclouds-wire.log</file>
<encoder>
<Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
</encoder>
</appender>
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
32
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup

Recommended for you

Planet
PlanetPlanet
Planet

This document describes PLANET, a system for massively parallel learning of tree ensembles using MapReduce. PLANET can build decision trees on very large datasets in a scalable way. It uses a master node to control the process and MapReduce jobs to handle tasks like finding the best splits when data is too large to fit in memory. PLANET supports techniques like bagging and boosting to build ensembles of trees for better predictive performance. Evaluation shows PLANET can efficiently learn from large datasets and complex models. Future work includes improving support for sampling and high-cardinality categorical attributes.

Structure of taxation and classification of taxes
Structure of taxation and classification of taxesStructure of taxation and classification of taxes
Structure of taxation and classification of taxes

Tax is a compulsory payment to the government and can be direct or indirect. Direct taxes have an immediate burden on the taxpayer, like income and wealth taxes. Indirect taxes are collected by intermediaries and included in the price, like sales tax. Governments in India levy various direct and indirect taxes. The central government levies income, wealth, customs, excise and service taxes. State governments levy professional, entertainment, VAT and state excise duties. Local governments levy property, water and sewerage taxes. Direct taxes are more equitable but also more complex and unpopular. Indirect taxes are more convenient but also more inflationary and expensive to collect.

Glossary english ma. gpe. mata
Glossary english ma. gpe. mataGlossary english ma. gpe. mata
Glossary english ma. gpe. mata

This document is a glossary containing vocabulary words organized into categories including animals, professions, rooms and objects, clothing, and transportation. The animals category lists creatures such as goldfish, snakes, sharks, and whales. Professions include occupations like photographer, doctor, chef, and engineer. Rooms and objects contain terms for interior spaces and furnishings. Clothing features items of dress like jackets, pants, dresses and accessories. Transportation covers vehicles and modes of transit.

homeanimalsvocabulario inglés
Initialize
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
33
private final TroveApi troveApi;
troveApi = ContextBuilder
.newBuilder("rackspace-clouddatabases-us")
.credentials(username, apiKey)
.buildApi(TroveApi.class);
Architecture
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
34
Cloud Databases
Trove
jclouds-database
Increasing level of
abstraction
Provider
settings:
Endpoint, etc.
Implementation
code
Abstraction
s
Architecture
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
35
Cloud Databases
Trove
jclouds-database
Increasing level of
abstraction
Provider
settings:
Endpoint, etc.
Implementation
code
Abstraction
s
Not implemented
Initialize
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
36
private final FlavorApi flavorApi;
flavorApi = troveApi.getFlavorApiForZone(ZONE);

Recommended for you

The niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian WinesThe niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian Wines

Belgian wines have a very small share of less than 0.1% of the Belgian wine market, which is dominated by imports, primarily from France. Total Belgian wine production meets only about 0.1% of domestic consumption. To distinguish Belgian wines in this saturated market and justify their higher average price of €11 per bottle, producers need to focus on quality and terroir, educate consumers, and promote through competitions and tastings to build legitimacy and awareness. The marketing strategy of Belgian Wines Ltd. emphasizes developing the brand through understanding local markets and consumers and choosing appropriate marketing mix elements like price, placement in shops and restaurants, and promotional activities.

APIs
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
37
➢ TroveApi
➢ FlavorApi
➢ InstanceApi
➢ DatabaseApi
➢ UserApi
➢ Utils
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
38
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup
Create Instance
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
39
Flavor flavor = Iterables.getFirst(flavorApi.list(), null);
…
Instance instance = instanceApi.create(flavorId, size, name);
flavor.getId()
Volume size in
GB
Create Instance
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
40
Instance updatedInstance = awaitAvailable(instance, instanceApi);

Recommended for you

La Coruña 2013
La Coruña 2013La Coruña 2013
La Coruña 2013

.

a coruña
Digestive system
Digestive systemDigestive system
Digestive system

This is a very precise presentation " How our Digestive System Works". It could especially help to people related to Pharmaceutical Business.

shahnawaz khan
Skill Accelerator Presentation
Skill Accelerator PresentationSkill Accelerator Presentation
Skill Accelerator Presentation

The document describes Skill Accelerator, a new approach to intensive training that provides interactive training and coaching to improve skills and performance. It offers both generic and customized delivery options including online, in-person, and through a team learning and simulation approach (TLSA). Skill Accelerator covers various skills like sales, customer service, and leadership. It works in three phases - training, coaching, and simulation/debriefing. The coaching session can integrate customized or standard business simulations to test and embed learning while developing critical thinking. Skill Accelerator is a flexible platform that challenges professionals and helps organizations capture and share knowledge.

salestraining and developmentleadership development
Create Instance
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
41
Instance updatedInstance = awaitAvailable(instance, instanceApi);
Polls status, waits until ready. Will not retry by
itself!
Actual Code
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
42
InstanceApi instanceApi = api.getInstanceApiForZone(zone);
for (int retries = 0; retries < 10; retries++) {
Instance instance = null;
try {
instance = instanceApi.create(flavorId, size, name);
} catch (Exception e) {
Uninterruptibles.sleepUninterruptibly(15, TimeUnit.SECONDS);
logger.error(Arrays.toString(e.getStackTrace()));
continue;
}
Instance updatedInstance = awaitAvailable(instance, instanceApi);
if (updatedInstance != null) {
return updatedInstance;
}
instanceApi.delete(instance.getId());
InstancePredicates.awaitDeleted(instanceApi).apply(instance);
}
return null;
Actual Code
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
43
Utils.
getWorkingInstance(
String zone,
String name,
String flavorId,
int size)
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
44
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup

Recommended for you

8th class-result-2013-faisalabad
8th class-result-2013-faisalabad8th class-result-2013-faisalabad
8th class-result-2013-faisalabad

This document appears to be a list of students' results from the Grade 8 exams administered by the Punjab Examination Commission in 2013. It includes the roll numbers, names, and total scores of 401 students who took the exam at GHSS City Muslim Town (M-1) in Faisalabad. The scores are either numerical values or indicators like "FAIL" to show if a student passed or failed the exam.

for reference.
Reflexes
ReflexesReflexes
Reflexes

Reflexes are rapid, involuntary motor responses to stimuli that can involve peripheral nerves and the spinal cord or higher brain centers. There are several types of reflexes classified by their anatomical location, number of synapses involved, or whether they produce flexion or extension responses. Muscle spindles and Golgi tendon organs are proprioceptors that provide feedback to the central nervous system to regulate muscle tone and reflexes like the stretch reflex and Golgi tendon reflex. Abnormal muscle tone like spasticity or rigidity can result from upper motor neuron disorders that disrupt the inhibitory pathways controlling motor neurons.

shahnawaz khan
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)

In this paper, we analyzed the basic tenets of multinational enterprise (MNE) from a theoretical perspective, shedding light on the growing significance of MNEs in today’s global economy. The concept of MNE has been reviewed. We examined two theories of MNE – the trade theory and the transaction cost or internalization theory, in line with emerging global trends. We conclude that no single theory can explain MNE, rather, a combination of theories.

global economytrade theorymulti-national enterprise
Create Database
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
45
troveApi = ContextBuilder.newBuilder(PROVIDER)
.credentials(username, apiKey)
.buildApi(TroveApi.class);
instanceApi = troveApi.getInstanceApiForZone(ZONE);
databaseApi = troveApi
.getDatabaseApiForZoneAndInstance(ZONE,getInstance().getId());
getSomeApiForXandYandZ – fairly common in jclouds
Create Database
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
46
boolean result = databaseApi.create(NAME);
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
47
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup
Create User
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
48
userApi = troveApi
.getUserApiForZoneAndInstance(ZONE, instance.getId());
boolean result = userApi.create(UNAME, PASSWORD, DBNAME);
User name
User password
Database
name

Recommended for you

.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...

Docker is a key player in the microservices movement and is arguably the leader in containerization technology. That said, there are many ways to “do Docker”. Between the leading cloud providers AWS, Azure, and Google; plus other platform stacks like Docker/Swarm, Apache Mesos – DC/OS, and Kubernetes; it can get confusing. In this session, Michele will bring her customer experiences building solutions across most of these platforms – to provide you with the highlights, the architecture topologies, and some perspective on the way she helps her customers choose the right platform for their cloud, on premise or hybrid solutions.

dockercontainersaws
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)

This document discusses running Java EE 6 applications in the cloud. It provides an overview of Java EE 6 and demonstrates how to deploy Java EE 6 applications on various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. The document also discusses the Java EE 7 specification and upcoming GlassFish Server distributions.

amazonazurerightscale
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud

This document discusses running Java EE 6 applications in the cloud. It provides an overview of Java EE 6 and demonstrates deploying applications to various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It also compares these platforms and discusses how Java EE can evolve to better support cloud computing.

amazonazurejoyent
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
49
Skeleton
Project
Create User
Create Instance
Initialize API
Create Database
Test Connection
Cleanup
Test Connection
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
50
Load balancer needed!
CreateLoadBalancer createLB = CreateLoadBalancer.
builder()
.name(NAME)
.protocol("MYSQL")
.port(3306)
.algorithm(LoadBalancer.Algorithm.RANDOM)
.nodes(addNodes)
.virtualIPType(VirtualIP.Type.PUBLIC)
.build();
Test Connection
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
51
loadBalancer = lbApi.create(createLB);
Test Connection
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
52
StringBuilder connString = new StringBuilder();
connString.append("jdbc:mysql://");
connString
.append(getVirtualIPv4(getLb().getVirtualIPs()));
connString.append("/");
connString.append(DBNAME); connString.append("?
user=");
connString.append(UNAME);
connString.append("&password=");
connString.append(PASSWORD);

Recommended for you

JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud

Oracle provides Java EE 6 application servers and databases that can run on various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. These cloud platforms offer virtual servers, storage, databases and additional services that allow flexible deployment of Java EE 6 applications in public, private and hybrid cloud environments. Pricing models vary between platforms and include consumption-based or commitment-based options.

amazonazurejoyent
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud

The document discusses running Java EE applications in the cloud using platforms like Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It provides an overview of deploying Java EE applications on each platform, including how to configure and manage applications on Amazon EC2 and S3, deploy using RightScripts on RightScale, publish to Microsoft Azure using Visual Studio, and the language and server options for Joyent. The document also touches on pricing models and some considerations for evolving Java EE for cloud platforms.

weblogicjavaeeamazon
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...

Disaster Recovery Site on AWS: Minimal Cost Maximum Efficiency discusses setting up disaster recovery sites on AWS for minimal cost and maximum efficiency. Common disaster recovery architectures on AWS include pilot light, where a scaled-down copy of production resources is kept running, and backup and restore, where backups are taken and restored in an outage. Customer case studies demonstrate cost savings of up to 70% for disaster recovery sites on AWS compared to on-premises solutions.

cloudstoragestg305
Test Connection
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
53
Connection conn =
DriverManager.getConnection(connString.toString());
Test Connection
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
54
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 3+5");
rs.first();
System.out.format(" 3+5 is %s%n", rs.getInt(1));
Going forward
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
55
➢ jclouds examples
➢ https://github.com/jclouds/jclouds-examples
➢ More docs
➢ http://jclouds.incubator.apache.org/documentation/
➢ http://javadocs.jclouds.cloudbees.net/
➢ Maven alternatives?
➢ http://jclouds.incubator.apache.
org/documentation/userguide/installation-guide/
➢ Contribute!
➢ https://wiki.apache.org/jclouds/How%20to%
20Contribute
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
56
➢ Linux
➢ Compile
➢ javac -classpath "lib/*:src/main/java/:src/main/resources/"
src/main/java/org/jclouds/examples/rackspace/*.java
➢ Run
➢ java -classpath "lib/*:src/main/java/:src/main/resources/" org.jclouds.examples.
rackspace.clouddatabases.CreateInstance username apikey

Recommended for you

Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011

This document discusses running Java EE 6 applications in the cloud. It provides an overview of deploying Java EE 6 applications to various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It also discusses the Java EE 7 specification and how it will further support cloud deployments with a focus on multi-tenancy and elasticity. Lastly, it outlines the GlassFish Server distributions for both open source and commercial use on private and public clouds.

amazonazurejoyent
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud

This document discusses running Java EE 6 applications in the cloud. It provides an overview of deploying Java EE 6 applications to various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It also discusses the Java EE 7 specification and how it will further support cloud deployments with a focus on multi-tenancy and elasticity. Lastly, it outlines the GlassFish Server distributions for both open source and commercial use on private and public clouds.

indiajavaoneamazon
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet

This document discusses automating the deployment and configuration of virtual machines (VMs) created with Apache CloudStack using Puppet. It provides an overview of CloudStack and its architecture before explaining how Puppet can be used to classify and configure VMs at launch based on custom facts extracted from metadata passed to the VM. The document recommends minimizing templates and configuring all VMs via Puppet for easy management at scale. It also describes how the CloudStack API can be used to programmatically deploy VMs that are then automatically configured by Puppet.

puppetcloudstack
Java Project
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
57
➢ Windows
➢ Compile
➢ javac -classpath "lib/*;src/main/java/;src/main/resources/"
src/main/java/org/jclouds/examples/rackspace/*.java
➢ Run
➢ java -classpath "lib/*;src/main/java/;src/main/resources/" org.jclouds.examples.
rackspace.clouddatabases.CreateInstance username apikey
Going forward
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
58
➢ TroveApi
➢ Backup Extension
➢ Settings Extension
➢ Clustering
➢ Abstraction layer
Going forward
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
59
➢ TroveApi
➢ Backup Extension
➢ Settings Extension
➢ Clustering
➢ Abstraction layer
Rackspac
e
Microsof
t
Amazo
n
CouchDB
Salesforc
e
Going forward
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
60
➢ TroveApi
➢ Backup Extension
➢ Settings Extension
➢ Clustering
➢ Abstraction layer
Rackspac
e
Microsof
t
Amazo
n
CouchDB
Salesforc
e

Recommended for you

Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices

Introduction to Microsoft Windows Azure and the Microsoft Cloud Services for Game Developers. http://europe.casualconnect.org/content.html

gameswindows azurecloud
Cloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWSCloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWS

This document outlines the agenda for a meetup on cloud computing hosted by StartupDecode. The meetup includes sessions on what cloud computing is, cloud computing on AWS, hands-on tutorials for Heroku and AWS, and a networking apéro. The hands-on portions will guide attendees on deploying a sample Rails app to Heroku with AWS S3 integration for file storage.

rubycloudrails
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes

The document discusses deploying Windows containers with Kubernetes. It covers building Windows containers, deploying containers on Kubernetes, and operating Kubernetes. Specifically, it shows how to: - Build a Windows container with SQL Server using Docker - Deploy a .NET Core app container to Kubernetes and expose it using a load balancer - Scale the deployment to multiple replicas and observe traffic distribution - Perform rolling updates to deploy new versions of the application

windowswindowscontainerskubernetes
Going forward
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
61
Collaborate!
http://jclouds.apache.org/
http://jclouds.apache.org/community/
Implementing an API
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
62
Fork <link to my fork>
Alternatively, fork jclouds-labs-openstack (for
openstack).
Implementing an API
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
63
On to the IDE
Taming the Cloud Database with Apache jclouds http://rack.
to/ace14db
64
Thank you!
http://developer.rackspace.com
sdk-support@rackspace.com
Zack Shoylev
Software Developer
zacksh #jclouds
@zackshoylev

Recommended for you

Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud

Java EE 6 applications can be deployed to various cloud platforms including Amazon EC2, RightScale, Elastra, and Joyent. On Amazon EC2, GlassFish and MySQL AMIs are used to deploy applications which are load balanced and auto-scaled. RightScale provides server templates and automation tools to deploy Java EE applications on multiple clouds. Elastra allows designing and deploying hybrid Java EE applications across on-premise and cloud infrastructures. Joyent offers high performance Smart Machines running Solaris zones to deploy Java EE applications with root access and dedicated resources.

javaeeglassfishcloud
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01

Java EE 6 applications can be deployed to various cloud platforms including Amazon EC2, RightScale, Elastra, and Joyent. On Amazon EC2, GlassFish and MySQL AMIs are used to deploy applications which are load balanced and auto-scaled. RightScale provides server templates and automation tools to deploy Java EE applications on multiple clouds. Elastra allows designing and deploying hybrid Java EE applications across on-premise and cloud infrastructures. Joyent offers high performance Smart Machines running Solaris zones to deploy Java EE applications with root access and dedicated resources.

Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. The presenter discusses the good, bad, and ugly aspects of using Terraform with Azure. The good includes its simple configuration language and ability to integrate with Azure and automate deployments. The bad includes limitations in its language and some errors being difficult to debug. The ugly involves challenges around managing state files and keeping infrastructure definitions well organized. Overall, Terraform provides benefits but also requires understanding its quirks and handling state carefully.

terraformazuredevops

More Related Content

What's hot

modern module development - Ken Barber 2012 Edinburgh Puppet Camp
modern module development - Ken Barber 2012 Edinburgh Puppet Campmodern module development - Ken Barber 2012 Edinburgh Puppet Camp
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
Puppet
 
Carlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD ParisCarlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD Paris
The Incredible Automation Day
 
Cloudera hadoop installation
Cloudera hadoop installationCloudera hadoop installation
Cloudera hadoop installation
Sumitra Pundlik
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
Rahul Gupta
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
StackIQ
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS
Matteo Moretti
 
Configuration management and deployment with ansible
Configuration management and deployment with ansibleConfiguration management and deployment with ansible
Configuration management and deployment with ansible
Ivan Dimitrov
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
Matt Ray
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
StackIQ
 
Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015
Fastly
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
Kit Chan
 
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
Amazon Web Services
 
Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your Cache
Alex Miller
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
DataStax Academy
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
Rahul Gupta
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
Amazon Web Services
 
Challenges when building high profile editorial sites
Challenges when building high profile editorial sitesChallenges when building high profile editorial sites
Challenges when building high profile editorial sites
Yann Malet
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh things
Marcus Deglos
 
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
macslide
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
Mark Hillick
 

What's hot (20)

modern module development - Ken Barber 2012 Edinburgh Puppet Camp
modern module development - Ken Barber 2012 Edinburgh Puppet Campmodern module development - Ken Barber 2012 Edinburgh Puppet Camp
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
 
Carlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD ParisCarlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD Paris
 
Cloudera hadoop installation
Cloudera hadoop installationCloudera hadoop installation
Cloudera hadoop installation
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS
 
Configuration management and deployment with ansible
Configuration management and deployment with ansibleConfiguration management and deployment with ansible
Configuration management and deployment with ansible
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
 
Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
(SDD402) Amazon ElastiCache Deep Dive | AWS re:Invent 2014
 
Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your Cache
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 
Challenges when building high profile editorial sites
Challenges when building high profile editorial sitesChallenges when building high profile editorial sites
Challenges when building high profile editorial sites
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh things
 
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 

Viewers also liked

Taming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jcloudsTaming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jclouds
zshoylev
 
Các mã sản phẩm
Các mã sản phẩmCác mã sản phẩm
Các mã sản phẩm
July Rain
 
LAN's by Group 1
LAN's by Group 1LAN's by Group 1
LAN's by Group 1
Amanda2345
 
Sandra sanchezintegradora1
Sandra sanchezintegradora1Sandra sanchezintegradora1
Sandra sanchezintegradora1
Sandra Sánchez
 
Planet
PlanetPlanet
Planet
Aparv Vadde
 
Structure of taxation and classification of taxes
Structure of taxation and classification of taxesStructure of taxation and classification of taxes
Structure of taxation and classification of taxes
shaik moin
 
Glossary english ma. gpe. mata
Glossary english ma. gpe. mataGlossary english ma. gpe. mata
Glossary english ma. gpe. mata
Lupita Mata Garcia
 
The niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian WinesThe niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian Wines
Jonas De Maere
 
Digestive system
Digestive systemDigestive system
Digestive system
Riaz Ahmed Malik
 
Skill Accelerator Presentation
Skill Accelerator PresentationSkill Accelerator Presentation
Skill Accelerator Presentation
TLSA International Ltd
 
8th class-result-2013-faisalabad
8th class-result-2013-faisalabad8th class-result-2013-faisalabad
8th class-result-2013-faisalabad
Adeel Ashiq
 
Reflexes
ReflexesReflexes
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
Claretta Webb
 

Viewers also liked (16)

Taming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jcloudsTaming the Cloud Database with Apache jclouds
Taming the Cloud Database with Apache jclouds
 
Các mã sản phẩm
Các mã sản phẩmCác mã sản phẩm
Các mã sản phẩm
 
LAN's by Group 1
LAN's by Group 1LAN's by Group 1
LAN's by Group 1
 
Sandra sanchezintegradora1
Sandra sanchezintegradora1Sandra sanchezintegradora1
Sandra sanchezintegradora1
 
Planet
PlanetPlanet
Planet
 
Structure of taxation and classification of taxes
Structure of taxation and classification of taxesStructure of taxation and classification of taxes
Structure of taxation and classification of taxes
 
Glossary english ma. gpe. mata
Glossary english ma. gpe. mataGlossary english ma. gpe. mata
Glossary english ma. gpe. mata
 
The niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian WinesThe niche in the market: The case of Belgian Wines
The niche in the market: The case of Belgian Wines
 
Itqon
ItqonItqon
Itqon
 
KERJA
KERJAKERJA
KERJA
 
La Coruña 2013
La Coruña 2013La Coruña 2013
La Coruña 2013
 
Digestive system
Digestive systemDigestive system
Digestive system
 
Skill Accelerator Presentation
Skill Accelerator PresentationSkill Accelerator Presentation
Skill Accelerator Presentation
 
8th class-result-2013-faisalabad
8th class-result-2013-faisalabad8th class-result-2013-faisalabad
8th class-result-2013-faisalabad
 
Reflexes
ReflexesReflexes
Reflexes
 
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
A Theoretical Analysis of the Tenets of Multinational Enterprise (MNE)
 

Similar to Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014

.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
Michele Leroux Bustamante
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
Arun Gupta
 
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud
Arun Gupta
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Arun Gupta
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
Arun Gupta
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Amazon Web Services
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Arun Gupta
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
buildacloud
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
Patric Boscolo
 
Cloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWSCloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWS
Amine Sadry
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
Arun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
MindTree Ltd
 
Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -
Giulio Vian
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON Byrum
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
Wim Van den Broeck
 
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Timofey Turenko
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
Trouble shooting apachecloudstack
Trouble shooting apachecloudstackTrouble shooting apachecloudstack
Trouble shooting apachecloudstack
Sailaja Sunil
 

Similar to Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014 (20)

.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
Cloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWSCloud 101: Hands-on Heroku & AWS
Cloud 101: Hands-on Heroku & AWS
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
 
Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
 
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 
Trouble shooting apachecloudstack
Trouble shooting apachecloudstackTrouble shooting apachecloudstack
Trouble shooting apachecloudstack
 

Recently uploaded

Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 

Recently uploaded (20)

Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 

Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014

  • 1. 1 Taming the Cloud Database with Apache jclouds http://rack.to/ace14db
  • 2. Before we begin: Setup Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 2 Virtual Machine pre-setup provided http://rack.to/ace14vm Avoid downloading during this presentation
  • 3. Before we begin: Setup Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 3 Alternatively you need Oracle Java 7 http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in- ubuntu-via.html maven http://maven.apache.org/download.cgi git config --global core.autocrlf false
  • 4. Before we begin: Setup Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 4 Testing on your machine (no subscriptions) Devstack http://devstack.org/ http://blog.phymata.com/2014/04/18/devstack-icehouse-on-the- rackspace-cloud/ Providers: Rackspace, HP, others http://www.openstack.org/marketplace/public-clouds/ http://rack.to/ace14
  • 5. Before we begin: Setup Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 5 git clone https://github.com/zack-shoylev/jclouds- developer-examples.git Multiple branches git clone https://github.com/rackerlabs/jclouds- examples.git Branch trove-example-only
  • 6. Introductions Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 6 ➢ Zack Shoylev ➢ irc: zacksh twitter: @zackshoylev freenode #jclouds Also email @rackspace.com
  • 7. Introductions Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 7 Developer Experience https://developer.rackspace.com/support/
  • 8. Goals Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 8 ➢ jclouds ➢ Create a database in the cloud ➢ Abstractions and how to contribute ➢ How to add support for an API
  • 9. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 9 ➢ Networked and distributed computing ➢ Variety of services ➢ Compute (servers) ➢ Storage (files) ➢ Databases ➢ Email ➢ …
  • 10. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 10 ➢ Can’t someone else do it?
  • 11. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 11
  • 12. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 12 ➢ Public cloud (external provider) ➢ Private cloud (internal deployment) ➢ Hybrid cloud ➢ Public + Private Rackspace example
  • 13. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 13 Your System S D K Cloud AP I VM VM VM ➢ This can be an application server ➢ Or your home machine ➢ Or belong to one of your end users ➢ Or a cloud VM ➢ Or a smartphone jclouds
  • 14. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 14 ➢ Advantages ➢ Metered pricing (pay as you go) ➢ Project scalability (unlimited) ➢ Safer (offsite/redundant) ➢ Economies of scale ➢ Expertise ➢ Support
  • 15. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 15 ➢ Disadvantages ➢ Less hardware control ➢ Provider-controlled downtime ➢ Virtualization (efficiency) ➢ Provider lock-in ➢ Provider-specific apis/sdks/features ➢ Expensive to switch clouds or deploy locally ➢ jclouds minimizes this disadvantage
  • 16. The Cloud Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 16 ➢ Database specific advantages ➢ Optimized by provider ➢ Settings ➢ Container virtualization ➢ Automated software updates ➢ Redundant data storage ➢ Backup ➢ Migration ➢ Choice ➢ Clustering (upcoming) ➢ Support
  • 17. OpenStack Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 17 ➢ Cloud OS ➢ Open-sourced by Rackspace and NASA (2010) ➢ Free ➢ Supported ➢ AT&T, HP, IBM, Red Hat, Rackspace, Dell, Cisco, Intel, VMware, …
  • 18. OpenStack Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 18 ➢ http://stackalytics.com/
  • 19. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 19 ➢ Cloud SDK ➢ Apache project ➢ Java (and Clojure) ➢ Easy ➢ Portable ➢ Cloud-agnostic ➢ Community ➢ Open source
  • 20. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 20 ➢ https://jclouds.apache.org/
  • 21. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 21 ➢ HTTP requests, responses, retries ➢ Authentication and re-authentication ➢ Pagination ➢ Polling ➢ Rate limits ➢ Retries ➢ Abstractions ➢ Logging ➢ Less code
  • 22. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 22
  • 23. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 23 ➢ Services ➢ Storage ➢ Compute ➢ VM Images ➢ Load Balancers ➢ DNS ➢ Databases ➢ … ➢ Providers ➢ Openstack ➢ Rackspace ➢ HP ➢ Amazon ➢ Azure ➢ …
  • 24. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 24 AWS aws-ec2 US-VA,US-CA,IE,SG Bluelock bluelock-vcloud-zone01 US-IN CloudSigma US cloudsigma-lvs US-NV CloudSigma CH cloudsigma-zrh CH-ZH CloudSigma DC cloudsigma-wdc US-DC DigitalOcean digitalocean ElasticHosts GB elastichosts-lon-b GB-LND ElasticHosts GB elastichosts-lon-p GB-LND ElasticHosts US elastichosts-sat-p US-TX Go2Cloud go2cloud-jhb1 ZA-GP GoGrid gogrid US-CA,US-VA Green House Data greenhousedata-element- vcloud US-WY HP hpcloud-compute US-NV Ninefold ninefold-compute AU-NSW OpenHosting openhosting-east1 US-VA Rackspace UK (First Gen) cloudservers-uk GB-SLG Rackspace US (First Gen) cloudservers-us US-IL,US-TX Rackspace UK (Next Gen) rackspace-cloudservers-uk GB-SLG Rackspace US (Next Gen) rackspace-cloudservers-us US-IL,US-TX SeverLove serverlove-z1-man GB-MAN SkaliCloud skalicloud-sdg-my MY-10 SoftLayer softlayer Compute Providers
  • 25. jclouds Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 25 ➢ Showcase database code ➢ Best practices ➢ Compare with compute code ➢ Gotchas and workarounds ➢ Abstractions
  • 26. Requirements Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 26 ➢ Maven 3 ➢ Java 7+ ➢ jclouds ➢ Windows or Linux [etc..] (thanks Java!)
  • 27. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 27 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 28. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 28 ➢ Maven Dependencies ➢ Selective subset ➢ Versioning ➢ jclouds-labs
  • 29. POM Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 29 https://github.com/jclouds/jclouds-examples/blob/master/rackspace/pom.xml <dependency> <groupId>org.apache.jclouds.provider</groupId> <artifactId>rackspace-clouddatabases-us</artifactId> <version>${jclouds.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency>
  • 30. POM Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 30 mvn dependency:copy-dependencies "-DoutputDirectory=./lib"
  • 31. Logging Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 31 // This module is responsible for enabling logging Iterable<Module> modules = ImmutableSet.<Module> of(new SLF4JLoggingModule()); ComputeServiceContext context = ContextBuilder.newBuilder(provider) .credentials(username, apiKey) .modules(modules) // don't forget to add the modules to your context! .buildView(ComputeServiceContext.class); logback.xml <configuration scan="false"> … <appender name="WIREFILE" class="ch.qos.logback.core.FileAppender"> <file>target/test-data/jclouds-wire.log</file> <encoder> <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern> </encoder> </appender>
  • 32. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 32 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 33. Initialize Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 33 private final TroveApi troveApi; troveApi = ContextBuilder .newBuilder("rackspace-clouddatabases-us") .credentials(username, apiKey) .buildApi(TroveApi.class);
  • 34. Architecture Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 34 Cloud Databases Trove jclouds-database Increasing level of abstraction Provider settings: Endpoint, etc. Implementation code Abstraction s
  • 35. Architecture Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 35 Cloud Databases Trove jclouds-database Increasing level of abstraction Provider settings: Endpoint, etc. Implementation code Abstraction s Not implemented
  • 36. Initialize Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 36 private final FlavorApi flavorApi; flavorApi = troveApi.getFlavorApiForZone(ZONE);
  • 37. APIs Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 37 ➢ TroveApi ➢ FlavorApi ➢ InstanceApi ➢ DatabaseApi ➢ UserApi ➢ Utils
  • 38. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 38 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 39. Create Instance Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 39 Flavor flavor = Iterables.getFirst(flavorApi.list(), null); … Instance instance = instanceApi.create(flavorId, size, name); flavor.getId() Volume size in GB
  • 40. Create Instance Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 40 Instance updatedInstance = awaitAvailable(instance, instanceApi);
  • 41. Create Instance Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 41 Instance updatedInstance = awaitAvailable(instance, instanceApi); Polls status, waits until ready. Will not retry by itself!
  • 42. Actual Code Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 42 InstanceApi instanceApi = api.getInstanceApiForZone(zone); for (int retries = 0; retries < 10; retries++) { Instance instance = null; try { instance = instanceApi.create(flavorId, size, name); } catch (Exception e) { Uninterruptibles.sleepUninterruptibly(15, TimeUnit.SECONDS); logger.error(Arrays.toString(e.getStackTrace())); continue; } Instance updatedInstance = awaitAvailable(instance, instanceApi); if (updatedInstance != null) { return updatedInstance; } instanceApi.delete(instance.getId()); InstancePredicates.awaitDeleted(instanceApi).apply(instance); } return null;
  • 43. Actual Code Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 43 Utils. getWorkingInstance( String zone, String name, String flavorId, int size)
  • 44. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 44 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 45. Create Database Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 45 troveApi = ContextBuilder.newBuilder(PROVIDER) .credentials(username, apiKey) .buildApi(TroveApi.class); instanceApi = troveApi.getInstanceApiForZone(ZONE); databaseApi = troveApi .getDatabaseApiForZoneAndInstance(ZONE,getInstance().getId()); getSomeApiForXandYandZ – fairly common in jclouds
  • 46. Create Database Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 46 boolean result = databaseApi.create(NAME);
  • 47. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 47 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 48. Create User Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 48 userApi = troveApi .getUserApiForZoneAndInstance(ZONE, instance.getId()); boolean result = userApi.create(UNAME, PASSWORD, DBNAME); User name User password Database name
  • 49. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 49 Skeleton Project Create User Create Instance Initialize API Create Database Test Connection Cleanup
  • 50. Test Connection Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 50 Load balancer needed! CreateLoadBalancer createLB = CreateLoadBalancer. builder() .name(NAME) .protocol("MYSQL") .port(3306) .algorithm(LoadBalancer.Algorithm.RANDOM) .nodes(addNodes) .virtualIPType(VirtualIP.Type.PUBLIC) .build();
  • 51. Test Connection Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 51 loadBalancer = lbApi.create(createLB);
  • 52. Test Connection Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 52 StringBuilder connString = new StringBuilder(); connString.append("jdbc:mysql://"); connString .append(getVirtualIPv4(getLb().getVirtualIPs())); connString.append("/"); connString.append(DBNAME); connString.append("? user="); connString.append(UNAME); connString.append("&password="); connString.append(PASSWORD);
  • 53. Test Connection Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 53 Connection conn = DriverManager.getConnection(connString.toString());
  • 54. Test Connection Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 54 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT 3+5"); rs.first(); System.out.format(" 3+5 is %s%n", rs.getInt(1));
  • 55. Going forward Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 55 ➢ jclouds examples ➢ https://github.com/jclouds/jclouds-examples ➢ More docs ➢ http://jclouds.incubator.apache.org/documentation/ ➢ http://javadocs.jclouds.cloudbees.net/ ➢ Maven alternatives? ➢ http://jclouds.incubator.apache. org/documentation/userguide/installation-guide/ ➢ Contribute! ➢ https://wiki.apache.org/jclouds/How%20to% 20Contribute
  • 56. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 56 ➢ Linux ➢ Compile ➢ javac -classpath "lib/*:src/main/java/:src/main/resources/" src/main/java/org/jclouds/examples/rackspace/*.java ➢ Run ➢ java -classpath "lib/*:src/main/java/:src/main/resources/" org.jclouds.examples. rackspace.clouddatabases.CreateInstance username apikey
  • 57. Java Project Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 57 ➢ Windows ➢ Compile ➢ javac -classpath "lib/*;src/main/java/;src/main/resources/" src/main/java/org/jclouds/examples/rackspace/*.java ➢ Run ➢ java -classpath "lib/*;src/main/java/;src/main/resources/" org.jclouds.examples. rackspace.clouddatabases.CreateInstance username apikey
  • 58. Going forward Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 58 ➢ TroveApi ➢ Backup Extension ➢ Settings Extension ➢ Clustering ➢ Abstraction layer
  • 59. Going forward Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 59 ➢ TroveApi ➢ Backup Extension ➢ Settings Extension ➢ Clustering ➢ Abstraction layer Rackspac e Microsof t Amazo n CouchDB Salesforc e
  • 60. Going forward Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 60 ➢ TroveApi ➢ Backup Extension ➢ Settings Extension ➢ Clustering ➢ Abstraction layer Rackspac e Microsof t Amazo n CouchDB Salesforc e
  • 61. Going forward Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 61 Collaborate! http://jclouds.apache.org/ http://jclouds.apache.org/community/
  • 62. Implementing an API Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 62 Fork <link to my fork> Alternatively, fork jclouds-labs-openstack (for openstack).
  • 63. Implementing an API Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 63 On to the IDE
  • 64. Taming the Cloud Database with Apache jclouds http://rack. to/ace14db 64 Thank you! http://developer.rackspace.com sdk-support@rackspace.com Zack Shoylev Software Developer zacksh #jclouds @zackshoylev

Editor's Notes

  1. A common problem with a common solution
  2. Managed cloud