Chmura Oktawave dla koderów. Złoty sen programisty wreszcie wyśniony
Transcript of Chmura Oktawave dla koderów. Złoty sen programisty wreszcie wyśniony
Oktawave. Chmura,
która wszystko zmienia
Złoty sen programisty wreszcie wyśniony,
czyli zasoby serwerowe dopasowujące się do wymagań projektu
Meet PHP, Poznań, 8 grudnia 2012
Z czym do Was przychodzimy?
uruchamianie serwerów w kilkadziesiąt sekund
kontrola root & CLI dla administratorów
API dla programistów
autoskalowanie serwera do potrzeb (wertykalnie i horyzontalnie)
kontenery, sieci prywatne & loadbalancing
obiektowy storage REST
Co zyskujecie?
dowolnie duże zasoby na żądanie, od ręki
maszynki o mocy nawet 16 x 2,5 GHz, 64 GB RAM
oszczędnośd w postaci rozliczeo godzinowych
gotowe środowiska: PHP, Ruby,Python czy node.js
Wprowadzenie
Krok pierwszy (otwieramy w kartach przeglądarki)
1. Pomoc : http://workshop.oktawave.com/
2. Pełna dokumentacja API: http://workshop.oktawave.com/docs/
3. Adresy gotowych skryptów: http://workshop.oktawave.com/code/
4. Adres API i jednocześnie pełny WSDL: https://api.oktawave.com/ClientsService.svc?wsdl
1. Adres panelu administracyjnego:https://admin.oktawave.com/
Wprowadzenie
Krok drugi
1. Dane dostępowe do serwera: SSH/SCP: workshop.oktawave.com
2. User/Pass: user(N)/Test1234
3. Adres konta: http://workshop.oktawave.com/~user(N)/
4. Ścieżka do źródłowych działających skryptów: /var/www/code
5. Po zalogowaniu w ~/home/public_html znajdziecie plik z klasą oraz puste skrypty
6. Panel web: admin.oktawave.comUser/Pass: warsztaty/Test1234
7. Nie dotykamy maszyny workshop_OCI
Funkcjonalność panelu admina
Prezentacja na żywo
1.OCI – omówienie i funkcjonalność
2.OVS – blokowa przestrzeń dyskowa
3.OCS – sieciowa przestrzeń dyskowa
4.Kontenery i autoskalery – o co tutaj chodzi
5.OPN – czyli sieci prywatne
Listowanie instancji
<?php
include 'OktawaveClient.php';
$client = new OktawaveClient();
$arguments = array(
soap_object('ns1:searchParams', array(
soap_var('ns4:ClientId', $client->client_id())
))
);
html_dump($client->call_api_method('GetVirtualMachines', $arguments));
?>
Dodawanie instancji
<?php
include 'OktawaveClient.php';
if (!isset($_GET['oci_name'])) {
echo "ERROR: Missing oci_name argument\n";
exit;
}
$client = new OktawaveClient();
$arguments = array(
soap_var('ns1:templateId', 13),
soap_var('ns1:disks', NULL),
soap_var('ns1:additionalDisks', NULL),
soap_var('ns1:machineName', $_GET['oci_name']),
soap_var('ns1:selectedClass', NULL),
soap_var('ns1:selectedContainer', NULL),
soap_var('ns1:selectedConnectionType', 33),
soap_var('ns1:selectedPaymentMethod', 37),
soap_var('ns1:clientId', $client->client_id()),
soap_var('ns1:providervAppClientId', NULL),
soap_var('ns1:vAppType', 'Machine'),
soap_var('ns1:databaseTypeId', NULL),
soap_var('ns1:clientVmParameter', NULL),
soap_var('ns1:autoScalingTypeId', 184),
);
html_dump($client->call_api_method('CreateVirtualMachine', $arguments));
?>
Wyłączanie instancji
<?php
include 'OktawaveClient.php';
if (!isset($_GET['oci_id'])) {
echo "ERROR: Missing oci_id argument\n";
exit;
}
$client = new OktawaveClient();
$arguments = array(
soap_var('ns1:virtualMachineId', $_GET['oci_id']),
soap_var('ns1:clientId', $client->client_id()),
);
html_dump($client->call_api_method('TurnoffVirtualMachine', $arguments));
?>
Włączanie instancji
<?php
include 'OktawaveClient.php';
if (!isset($_GET['oci_id'])) {
echo "ERROR: Missing oci_id argument\n";
exit;
}
$client = new OktawaveClient();
$arguments = array(
soap_var('ns1:virtualMachineId', $_GET['oci_id']),
soap_var('ns1:clientId', $client->client_id()),
);
html_dump($client->call_api_method('TurnOnVirtualMachine', $arguments));
?>