Seminar Cloud Computing (Azure & ASP.NET Core)

s1

Pada tanggal 18 Februari 2020 telah dilangsungkan Seminar Cloud Computing dalam rangka Pekan Industri 4.0. Acara ini didukung oleh Kementrian Perindustrian Republik Indonesia, Asosiasi Perguruan Tinggi Komputer (APTIKOM), dan Asosiasi Cloud Computing Indonesia (ACCI).

Acara ini diselenggarakan di kampus UPN Yogyakarta dan diikuti oleh sekitar 200 orang peserta.

Pada seminiar ini saya membahas beberapa topik tentang Cloud Computing dan Microsoft Azure

  • Cloud Computing with Azure
  • Platform as a Services with Microsoft Azure
  • Database as a Services with SQL Azure
  • Deploy ASP.NET Core Application to Azure Apps
  • Azure Cognitive Services

s2s3

Untuk materi ppt dari seminar ini bisa diunduh pada tautan berikut ini.

FREE EBook–Pengenalan Azure Web Apps

12527819_10153838977016182_2146359183_n

FREE E-Book ini berisi penjelasan dan tutorial singkat tentang penggunaan layanan komputasi awan menggunakan platform Microsoft Azure terutama Azure Web Apps dan Mobile Services. Diharapkan setelah membaca e-book ini pembaca dapat lebih memahami apa itu platform Microsoft Azure, serta dapat membuat aplikasi berbasis web yang dipasang pada layanan Microsoft Azure Web Apps.

Buku ini memiliki tebal 72 halaman dengan daftar isi sebagai berikut :

  • BAB 1 Pengenalan Azure Website / Azure App Services. 1
    • Azure Website / Azure Web App. 2
    • Azure Mobile Services. 2
  • Bab 2 – Medaftar Akun Azure dan Memasang Web CMS pada Layanan Azure Web Apps. 4
    • Bagaimana Memperoleh Akun Microsoft Azure?. 4
    • Memasang Aplikasi CMS Open Source di Azure. 5
    • Langkah 1: Membuat MySQL Database. 5
    • Langkah 2: Memasang WordPress pada layanan Azure Web. 7
  • Bab 3 – PHP & MySQL dengan Layanan Azure Web Apps. 10
    • Membuat Database MySQL di Azure. 10
    • Membuat Aplikasi Web dengan PHP. 14
  • Bab 4 – ASP.NET MVC & Microsoft Azure. 22
    • Membuat Project ASP.NET MVC. 22
    • Membuat Web Site Instance di Windows Azure. 24
    • Upload Project di Visual Studio ke Microsoft Azure. 26
    • Menggunakan SQL Azure dan ASP.NET MVC. 29
    • Membuat Database pada Windows Azure. 31
    • Autentikasi Aplikasi ASP.NET MVC dengan Azure Active Directory. 34
    • Membuat Azure Active Directory. 34
  • Bab 5 – Windows Azure Mobile Services. 41
    • Memulai Membuat Azure Mobile Services. 41
    • Windows Store Client. 45
    • Mengakses REST Services dari Table di Mobile Services. 50
    • Menambahkan Data dan Table Baru pada Azure Mobile Services. 53
    • Menambahkan Script Pada Proses CRUD.. 58
    • Menggunakan Objek Request pada Script. 60
    • Menambahkan Field baru dengan Script. 62
    • Menggunakan Query Object pada SCRIPT. 64
  • Bab 6 -Identity dengan Azure Mobile Services. 66
    • Membuat Twitter Identity Provider. 66
    • Membuat Facebook Identity Provider. 69
    • Menambahkan Restriction Permission pada Table. 70
  • Bab 7 – Menggunakan Push Notification. 72

Anda dapat mendownload e-book ini pada tautan berikut: http://tinyurl.com/bukuazurewebapp

Workshop: Onenote Class Notebook & Microsoft Azure

Pada hari Jumat, 12 Februari 2016, telah dilaksanakan workshop dengan tema Microsoft OneNote Class Notebook & Microsoft Azure. Acara ini diselenggarakan oleh BTKP (Balai Teknologi Komunikasi Pendidikan DIY) dan MIC (Microsoft Innovation Center) UGM. Pada workshop ini saya berkesempatan untuk berbagi pengetahuan seputar layanan komputasi awan dari Microsoft kepada kurang lebih 35 orang guru dari wilayah DIY.

Adapun beberapa materi yang disampaikan adalah:

  • Pengenalan teknologi Cloud Computing dari Microsoft.
  • Pengenalan Office 365 untuk Edukasi
  • Pengenalan OneNote Class Notebook.
  • Menggunakan OneNote Class Notebook untuk kolaborasi antara siswa dan guru.

IMG_20160212_134609_HDR

IMG_20160212_134752_HDR

IMG_20160212_134948_HDR

IMG_20160212_135118_HDR

Workshop Microsoft Azure Web Apps

Pada hari jumat tanggal 22 Januari 2016 telah diadakan workshop dengan tema Microsoft Azure Web Apps. Workshop ini bertempat di Lab Komputer Lantai 4, Fakultas Teknologi Informasi UKDW. Workshop ini dihadiri kurang lebih 20 peserta yang kesemuanya adalah mahasiswa. Pada workshop ini dibahas beberapa topik seperti:

  • Bagaimana mengaktifkan Dreamspark for Azure untuk Mahasiswa.
  • Bagaimana membuat aplikasi ASP.NET MVC 6 dengan Visual Studio Code.
  • Bagaimana memasang aplikasi web pada layanan Azure App Services.
  • Bagaimana membuat database di cloud menggunakan SQL Azure.
  • Bagaimana mengintegrasikan Website dan database pada layanan Azure.

IMG_20160121_125936 

IMG_20160121_130145_HDR

 

IMG_20160121_131837

Cara Migrasi Database dari SQL Server ke SQL Azure

Pada tutorial kali ini akan dibahas bagaimana cara melakukan migrasi dari SQL Server database ke SQL Azure. Langkah pertama yang harus dilakukan adalah instalasi SQL Database Migration Wizard pada tautan berikut.

image

Sebagai contoh pada tutorial kali ini kita akan mengeksport database dengan nama StorageDb ke SQL Azure.

 image

Caranya cukup mudah, pertama masuk kedalam portal Azure anda di halaman http://portal.azure.com. Kemudian buat SQL Azure dengan cara klik pada SQL Databases, kemudian pilih Add, kemudian masukan nama database yang akan dibuat sebagai contoh StorageDb, pada konfigurasi server tambahkan server baru karena kita belum membuat server sebelumnya.

image

Untuk paket kita akan mencoba paket yang paling murah yaitu paket basic seharga 7orb-an per bulan. Untuk pilihan region, anda dapat memilih region yang paling dekat dengan lokasi target pengguna anda.

image

Untuk group, anda dapat menambahkan group baru jika belum memiliki group. Group digunakan untuk mengelompokan resource yang anda buat pada layanan Microsoft Azure.

image

Langkah terakhir tekan tombol Create. Setelah beberapa saat anda akan melihat bahwa database pada SQL Azure sudah berhasil dibuat.

image

image

Setelah database di SQL Azure siap, maka langkah selanjutnya adalah menggunakan tools SQL Database Migration Wizard.  

Sebelumnya anda dapat menambahkan konfigurasi firewall pada SQL Azure agar komputer anda dapat terkoneksi kedalam layanan SQL Azure, ikuti langkah dibawah ini.

image

Kemudian tambahkan ip dari komputer anda pada daftar tersebut agar anda dapat mengakses layanan SQL Azure dari komputer anda.

image

Buka SQL Database Migration Wizard, pilih Azure SQL Database sebagai target server, kemudian pada pilihan Migrate pilih Database. Tekan tombol Next

 image

Pertama anda harus memasukan informasi sumber data yang akan dimigrasikan ke SQL Azure, pada contoh ini saya menggunakan SQL SERVER EXPRESS, dan database yang akan dimigrasi adalah StorageDb.

image 

Kemudian tekan tombol Connect. Pilih Script all database object untuk mentransfer semua object pada database anda ke SQL Azure. Tekan tombol Next.

image 

image

Maka tools ini akan menggenerate semua script yang dibutuhkan.

image

Langkah selanjutnya adalah menambahkan database server tujuan, yaitu database server yang sudah anda buat sebelumnya di SQL Azure, masukan informasi koneksi seperti server name, username, dan password. Tekan tombol Connect.

image

image

Tekan tombol next untuk memulai proses migrasi. Setelah proses migrasi selesai akan muncul tampilan seperti gambar dibawah ini.

image

Untuk memastikan apakah semua table beserta isinya sudah berhasil dimigrasikan ke SQL Azure, maka anda dapat membuka tools SQL Server Management Studio, kemudian hubungkan dengan SQL Azure.

image

Maka anda akan dapat melihat database StorageDb yang ada di SQL Azure.

image

Demikian tutorial untuk migrasi database dari database SQL Server di server onpremis kedalam database yang ada pada SQL Azure. 

PHP & MySQL dengan Layanan Azure Web Apps

Pada tutorial kali ini kita akan mencoba untuk membuat aplikasi web dengan menggunakan PHP dan MySQL kemudian memasang aplikasi tersebut pada layanan Azure Web App.

Untuk menjalankan tutorial yang akan kita buat pada bab ini, maka anda harus menginstal beberapa aplikasi sebagai berikut.

Membuat Database MySQL di Azure

1. Login kedalam azure portal.

2. Pilih new icon, kemudian pilih Data + Storage, kemudian MySQL Database.

3. Buat resource group baru, sebagai contoh ‘bmis489’.

4. Pilih tombol create, dan sekarang database MySQL sudah dapat digunakan.

image

image

image

1. Anda dapat melihat database properties. Kita akan menggunakan property tersebut ketika akan mengakses MySQL database dari server side script.

image

2. Setelah database dibuat, anda dapat melakukan pengaturan database cloud tersebut pada komputer lokal. Buka tool MySQL Workbench dan masukan informasi hostname, username, dan password. Click Pilih Connection button untuk memastikan bahwa koneksi anda lancar.

image

image

3. Buka MySQL Workbench, pada jendela query tambahkan script berikut, dan kemudian jalankan script untuk membuat tabel ‘registration_tbl’.

CREATE TABLE registration_tbl(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(30), email VARCHAR(30), date DATE);

image

1. Anda dapat melihat tabel “registration_tbl” berhasil dibuat.

image

Membuat Aplikasi Web dengan PHP

1. Langkah selanjutnya adalah membuat aplikasi web.

2. Pilih New Icon, kemudian pilih Web + Mobile, kemudian pilih Web App.

3. Masukan nama untuk aplikasi web yang anda buat.

4. Pilih “bmis489” sebagai nama resource group.

5. Pilih tombol create.

image

6. Ketika aplikasi web sudah berhasil dibuat, anda akan melihat tampilan resource group. Pilih nama pada aplikasi web untuk melakukan konfigurasi.

image

1. Buka aplikasi GitHub Desktop pada komputer lokal.

image

1. Buat file PHP dengan nama “index.php” dengan editor favorit anda. Simpan pada folder “PHPOnAzure”.

2. Buka file “index.php” dan tambahkan script berikut untuk terbuhung dengan MySQL database pada layanan Azure, menampilkan data peserta, dan menambahkan peserta pada sistem.

<html>
<head>
<Title>Registration Form</Title>
<style type="text/css">
body { background-color: #fff; border-top: solid 10px #000;
color: #333; font-size: .85em; margin: 20; padding: 20;
font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif;
}
h1, h2, h3,{ color: #000; margin-bottom: 0; padding-bottom: 0; }
h1 { font-size: 2em; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.2em; }
table { margin-top: 0.75em; }
th { font-size: 1.2em; text-align: left; border: none; padding-left: 0; }
td { padding: 0.25em 2em 0.25em 0em; border: 0 none; }
</style>
</head>
<body>
<h1>Register here!</h1>
<p>Fill in your name and email address, then click <strong>Submit</strong> to register.</p>
<form method="post" action="index.php">
Name <input type="text" name="name" id="name"/></br>
Email <input type="text" name="email" id="email"/></br>
<input type="submit" name="submit" value="Submit" />
</form>
<?php
// DB connection info
//TODO: Update the values for $host, $user, $pwd, and $db
//using the values you retrieved earlier from the portal.
$host = "us-cdbr-azure-west-c.cloudapp.net";
$user = "b411a3239c5914";
$pwd = "7aee971d";
$db = "acsm_ac58c273e12d294";

// Connect to database.
try {
$conn = new PDO( "mysql:host=$host;dbname=$db", $user, $pwd);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(Exception $e){
die(var_dump($e));
}
// Insert registration info
if(!empty($_POST)) {
try {
$name = $_POST['name'];
$email = $_POST['email'];
$date = date("Y-m-d");
// Insert data
$sql_insert = "INSERT INTO registration_tbl (name, email, date)
VALUES (?,?,?)";
$stmt = $conn->prepare($sql_insert);
$stmt->bindValue(1, $name);
$stmt->bindValue(2, $email);
$stmt->bindValue(3, $date);
$stmt->execute();
}
catch(Exception $e) {
die(var_dump($e));
}
echo "<h3>Your're registered!</h3>";
}
// Retrieve data
$sql_select = "SELECT * FROM registration_tbl";
$stmt = $conn->query($sql_select);
$registrants = $stmt->fetchAll();
if(count($registrants) > 0) {
echo "<h2>People who are registered:</h2>";
echo "<table>";
echo "<tr><th>Name</th>";
echo "<th>Email</th>";
echo "<th>Date</th></tr>";
foreach($registrants as $registrant) {
echo "<tr><td>".$registrant['name']."</td>";
echo "<td>".$registrant['email']."</td>";
echo "<td>".$registrant['date']."</td></tr>";
}
echo "</table>";
} else {
echo "<h3>No one is currently registered.</h3>";
}
?>
</body>
</html>

1. Buka aplikasi GitHub Desktop, dan kemudian pilih tombol commit to master untuk melakukan aksi push scripts anda kedalam Git repository.

image

2. Pilih tombol sync pada pojok kanan atas untuk melakukan aksi push local changes ke master yang ada di remote server.

image

3. Kembali ke pengaturan aplikasi web pada Azure. Pilih “Continuous Deployment” untuk melakukan automate build, test, dan deploy aplikasi web yang telah dibuat ketika anda melakukan check-in ke GitHub.

image

4. Tambahkan akun GitHub anda, dan pilih kode anda pada code repository.

image

5. Setelah anda mempublish aplikasi anda, maka anda dapat mengedit kode dari aplikasi tersebut jika dibutuhkan, anda cukup melakukan code check-in pada akun GitHub anda, dan Azure akan mengambil kode anda secara otomatis kemudian mempublish kode anda. Untuk melihat aplikasi, anda dapat mengakses tautan berikut http://bmis489web.azurewebsites.net/index.php.

image

Azure Table Storage dengan ASP.NET MVC (Part 1)

Banyak developer yang tidak mengetahui apa itu azure table storage, dan ada sebagian developer yang belum tahu benar apa kegunaan dari azure table storage. Bagi kebanyakan developer pengalaman menggunakan table storage adalah menggunakan database relasional seperti SQL Server atau MySQL. Database relasional terdiri dari banyak table, dan setiap table memiliki kolom yang sudah terdefinisi secara jelas. Anda dapat mendefinisikan satu atau lebih kolom sebagai kolom identitas (primary key). Kolom identitas tersebut juga digunakan untuk merelasikan antar table.

Azure menyediakan beberapa cara untuk penyimpanan dan pengaturan data yaitu: SQL Azure untuk menyimpan relasional data, DocumentDb, Blob, dan Table Storage. Bagi developer yang familiar dengan relasional database, Azure Table Storage kadang dirasa janggal dan banyak yang belum paham dengan cara kerjanya.

Secara desain Azure table storage mempunyai potensi untuk menyimpan data dengan jumlah besar, dan menyediakan cara yang efisien untuk pengaksesan kembali datanya. Tidak seperti relational database yang memiliki berbagai macam aturan seperti constrain, relationship, view, store procedure, dll. Pada table storage anda hanya berurusan dengan data. Azure table menggunakan keys yang efisien untuk digunakan meng-query data. Anda juga dapat menggunakan PartitionKey untuk kebutuhan load balancing jika anda memutuskan untuk menyimpan data pada lebih dari satu server. Table storage juga tidak memiliki schema yang spesifik. Table storage hanya merupakan baris data yang terstruktur. Anda dapat memiliki table yang hanya menyimpan satu jenis tipe data saja atau dapat juga menyimpan beberapa jenis tipe data dalam satu table.

image

image 

Langkah pertama yang harus dilakukan adalah menambahkan Storage Account baru pada layanan Azure. Jika anda belum memiliki akun Microsoft Azure anda dapat mendaftar untuk mendapatkan versi trial pada url berikut https://azure.microsoft.com/en-us/pricing/free-trial/

Kemudian tambahkan Storage Account baru, pada contoh berikut

image

image

Pada tahap ini anda sudah berhasil untuk membuat Storage Account baru, pada tutorial selanjutnya kita akan membuat project ASP.NET MVC baru dan menambahkan Azure Table Storage dan Blob kedalam Storage Account yang sudah kita buat.