Przejdź do głównej zawartości

Learning e24cloud.com API

Today I'll show you how to use API in order to create virtual server in the cloud directly from your code.
We're going write a script in PHP language and use Amazon SDK API to connect with e24cloud.com, which is the biggest and most modern hosting provider in Poland.

First we need to install Amazon SDK http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html

One important note:
We can use the latest version of amazon SDK but we also need to do one trick.
We'll use signatureV2 instead ov Signaturev4 as e24cloud doesn't support SitnatureV4 yet. You can download it here: https://github.com/aws/aws-sdk-php-v3-bridge

We need to download SDK and the bridge which allows us to use Signaturev2 to the same folder, so that require instruction work seamlessly in the form that I provided in the example below.

Then go to your admin panel in e24cloud.com to find two values: a key and a secret. In the following code you need to paste those 2 values. I used 2 placeholders which you have to change: KEY and SECRET.


This is the script with a few functionalities:
- connecting to e24cloud.com
- creating new instance of virtual machine
- showing list of all machines
- stopping virtual machine
- deleting virtual machine
In most cases you won't need all of those functionalities in your code so you can choose only those lines that you need.

");

$client = new \Aws\Ec2\Ec2Client([
'version' => '2015-04-15',
"credentials" => [
"key" => "KEY",
"secret" => "SECRET"
],
'region' => 'eu-poland-1warszawa',
'endpoint_provider' => function (array $params) {
return ['endpoint' => 'https://'.$params['region'].'.api.e24cloud.com'];
},

'signature_provider' => function ($version, $service, $region) {
return new \Aws\Signature\SignatureV2($region, $service);
},

]);

echo(" Connection succeeded! ");

echo(" creating new instance... ");
$result = $client->runInstances(array(
'ImageId' => 'ami-000006d8',
'MinCount' => 1,
'MaxCount' => 1,
'InstanceType' => 'm1.xlarge',
'Placement' => [
'AvailabilityZone' => 'eu-poland-1warszawa1',
]
));

echo(" stopping VM instance... ");

$client->stopInstances(array(
'InstanceIds' => array('67f0c6bc-03f0-45a9-9a13-d49884eccbb4')
));

echo(" Deleting VM instance... ");

$client->terminateInstances(array(
'InstanceIds' => array('67f0c6bc-03f0-45a9-9a13-d49884eccbb4')
));

echo(" Showing all instances... ");
$result = $client->DescribeInstances();
foreach($result['Reservations'] as $reservation) {
foreach($reservation['Instances'] as $instance) {
echo 'id: '.$instance['InstanceId'].', type: '.$instance['InstanceType'].', State: '.$instance['State']['Name'].', PublicIp: '.$instance['PublicIpAddress'], PHP_EOL;
}
}


I think the code is straightforward so everyone with basic programming skills in any language can understand it.
Let's focus on main benefits of using e24cloud API. Imagin that 20 new hires joins your company development department. Then your boss asks you to create 20 instances of virtual machine - one machine for each new employee. You get the specification of operating system, demanded processor power, physical memory, and drive size that each machine needs. You say to your boss "OK, it's one day work to create all those instances manually. It will be boring and error prone and need double checking but I can do it. No problem!" I agree that you can do it by hand. But next month your company acquires a startup with 200 employees (such things happen). Then your boss comes to you again and says: "Hey, we need 200 instances for tomorrow, it would be great if you can create them." And what now? It's obvious that you can't crteate such amount of virtual machines in one day. You need at least 10 days. And this is where e24cloud API comes into play. As a software engineer you can and you should to automate all repetitive tasks. API lets you create all 200 instances in 5 minutes. You've just saved 10 days of work! Moreover you'r ready for next, maybe even bigger acquisition.
Yes, it sounds impressive but it's only a single example when you can take advantage of your programming skills and e24cloud.com API.

I hope this post helped you to understand the benefits of cloud computing platforms and how you can use API to automate work.

Komentarze

Popularne posty z tego bloga

Unleash the power of ChatGPT in your C# applications with NGpt - C# OpenAI GPT client

Meet NGpt - OpenAI GPT C# client library that will make your conversations with ChatGPT a breeze! Have you ever been struggling building your own smart AI application in C#? Well, now you can use ChatGpt inside your application! Introducing NGpt, the powerful .NET library that lets you integrate ChatGPT seamlessly into your C# applications. No more nigts spent on building your own AI solitions, no more convoluted logic and building complex business rules - just pure AI bliss. In this blog post, we'll dive into the wonderful world of NGpt and show you how easy it is to use. You might even find a few laughs along the way. The Magic of NGpt NGpt is a transient fault-tolerant .NET 6 OpenAI client that simplifies ChatGPT integration for C# developers. It's like your friendly neighborhood Spider-Man - always there to help you out when you need it most. With just your OpenAI API key, you can start coding AI applications in C# faster than you can say "Peter Parker." Let&

Specflow czyli BDD w praktyce

Dzisiaj pokażę w praktyce w jaki sposób zbieram wymagania korzystając z narzędzia Specflow. Na początku przypomnę nasze historie użtkownika. Potem skonfigurujemy dodatek Specflow Visual Studio. Na końcu pokażę jak wygląda język Gherkin i zaimplementujemy pierwszą historię użytkownika US1. Oto lista funkcjonalności, które będę implementował w aplikacji Perfect Life: US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planów dietetycznych US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc an

How to call webAPI service in Xamarin?

In the last few weeks I worked on the web service written in ASP.NET Core. I had a plan to connect the Xamarin application to this web service. Today I'll show you how you can connect your Xamarin app to web service located anywhere in the cloud. First we need to have a web service deployed, which is our server-side part of the system. I describe how to create a web service in ASP.NET COre in my previous post: . Today I'll demonstrate how it works from client perspective, in our case it's Xamarin.Forms application but web application or desktop application can use exactly the same code. This is the great benefit of using C# language - we can use the same code on multiple platforms. OK, I bet you're interested in the code. Let's jump to the code. This is the final version of the client class that I can use to save and retrieve data from web service: The class design is straightforward. It has 2 public methods which encapsulate 2 functionalities: adding s