Tampilkan postingan dengan label Fundamental. Tampilkan semua postingan

Ruang Lingkup Microsoft Azure (Fundamental part 2)


Dalam sesi ini kita akan membahas mengenai kelanjutan dari sesi Fundamental Azure part 1 di post sebelum ini. Topik yang akan kita bahas kali ini adalah tentang Ruang Lingkup Microsoft Azure. Selamat menyimak :)

Ruang Lingkup Microsoft Azure :
Seperti yang kita ketahui, Azure sangatlah “Massive” dalam berbagai hal seperti banyaknya solusi yang ditawarkan, jumlah fitur yang ditawarkan, jumlah fungsi yang terliputi dst. Banyak hal untuk digali lebih jauh dari setiap tutorial MSDN, Azure Video, presentasi TechEd dll, serta mempelajari nama produk, terminologi dan hubungan bagaimana semua itu berhubungan satu sama lain.

Nah, pertanyaannya sekarang adalah jika kita lihat kebutuhan teknologi saat ini ataupun masalah  yang ada, apakah Azure dapat mengatasi kebutuhan ataupun permasalahan tersebut?
Azure itu “Massive”, berikut adalah layanan yang ditawarkan oleh Azure dalam menjawab berbagai permasalahan yang ada :
a.       Azure Websites vs Cloud Services Web Role vs VM
b.      Azure SQL vs Cloud Storage (Table, Blob) vs DocumentDb vs VM hosting kita sendiri
c.       Azure Redis Cache
d.      Azure Websites Gallery untuk mendirikan blog Wordpress
e.      Azure CDN
f.        Azure Backup
g.       Azure Traffic Manager AutoScale
h.      Azure Portal, Monitoring Alerts, AutoScale
i.         Aplication Insights, Azure Websites Diagnostics
j.        Azure Multi-Factor Authentication
k.       Azure Search
l.         Azure Media Services
m.    Azure Storage Queue, Azure Service Bus
n.      Azure Cloud Service Worker Role, WebJobs, Azure Automation, Azure Scheduler
o.      Azure HD Insight, Azure Machine Learning
p.      Azure API Management, Azure Mobile Services, Azure Websites hosting Web API
q.      Pemberitahuan Hub
r.        Azure Virtual Machines
s.       Azure SimpleStor, Azure Backup, Azure file Service, Azure Site Restore, Azure Hyper-V Recovery Manager
t.        Azure Active Directory
u.      Azure Virtual Network, Azure VPN, ExpressRoute, Azure Remote App
v.       Visual Studio Online
w.     Azure Websites Staged Publishing
x.       Azure Websites Publish from Source Control
y.       Load testing features in with Visual Studio online, 3rd Party Tools
z.       Azure BizTalk

Masing-masing layanan tersebut mempunyai fungsi dan ranahnya masing-masing sesuai dengan kebutuhan teknologi modern saat ini. Terbayang bukan bagaimana Azure dapat menjawab berbagai permasalahan yang ada dengan banyak fitur yang dipunyai serta kelengkapan yang dimilikinya.

Nah, sekarang pertanyaan kedua yang muncul adalah Bagaimana “menangangi” keinginan dan kebutuhan kita?

Masalah yang nyata disini adalah opsi mana yang harus kita pilih untuk situasi spesifik kita yang didalamnya mencakup seberapa besar tanggung jawab dan seberapa besar control yang kita butuhkan atau seberapa banyak yang ingin kita ambil untuk kemudian menjadi keputusan kita dalam memilih opsi terbaik berdasarkan pertimbangan tersebut. Terdapat 3 level dasar dari control dan tanggung jawab yang dapat kita pilih di banyak kasus dan tentunya direpresentasikan dengan baik, yaitu :

a.     Infrastructure as a Service (IaaS)
Jika kita membutuhkan kontrol penuh dan kita ingin mengambil semua tanggung jawab yang ada dengan sangat utama seperti memiliki server tersebut, yang didalamnya meliputi patches dan maintenance dan install software nya dll, maka kita harus mencari server di cloud yang biasanya berbentuk virtual machines yang dapat kita atur dengan sangat mendetail. Sehingga layanan Azure digunakan di kapasitas ini.

b.    Platform as a Service (PaaS)
Jika kita ingin membangun di atas Platform Microsoft Azure dari APIs pengembang dan kita membiarkan Microsoft mengerjakan semua pekerjaan yang memungkinkan kita untuk lebih tertarik pada Microsoft Azure sebagai sebuah platform.

Untuk kemudian pada akhirnya ada aplikasi yang telah dikonfigurasi dan dideploy dari Microsoft atau dari Vendor pihak ketiga dan semua yang kita butuhkan hanyalah dengan membuat akun untuk kita sendiri dan biarkan mereka melakukan pekerjaan mereka. Dalam kasus ini kita hampir tidak memiliki tanggung jawab apapun terhadap sistem tersebut. Kita tidak harus melakukan patch dan maintain apapun dan kita tidak perlu mengkhawatirkan tentang proses maintenance software itu sendiri. Tetapi kita juga tidak mempunyai control terhadap hal tersebut. Ini yang disebut Software as a Service (SaaS)

c.     Scott Henselman’s Analogy
Scott Henselman memilih antara IaaS, PaaS dan SaaS dengan cara menganalogikan pilihan kita yaitu untuk memilih apakah kita ingin rumah kita sendiri atau leasing apartemen atau menyewa kamar hotel.
Akan tetapi terkadang sebuah layanan Microsoft Azure dapat tidak memihak klasifikasi ini seperti contoh Azure SQL.

Scott Henselman’s Analogy


Mix and Match, Cloud dan pada tempatnya
a.       Think : A la Carte
Kedepannya, tetapkan mindset bahwa kita dapat melakukan mix and match layanan tanpa menghiraukan kategori mana yang mereka buat untuk dijadikan sebagai sebuah solusi. Jadi kita dapat memilih untuk ditangani dengan beberapa aspek dari sistem sebagai contoh : kita ingin ditangani dengan porsi web hosting, kita ingin control lengkap server yang melakukan hosts layanan informasi internet tetapi kita tidak ingin turun tangan dengan administrasinya, beberapa aspek lain dalam sistem ini, sebagai contoh kita ingin menggunakan SQL Azure daripada hosting SQL Server di Virtual Machine kita sendiri yang berarti kita yang mengaturnya sendiri. Jadi kita dapat mengkombinasikan dan mix and match layanan dari IaaS ke SaaS.

b.      Think : Here AND There
Kita juga dapat mengkombinasikan ‘pada tempatnya’ dari Microsoft Azure. Kombinasi ini terlihat tidak mempunyai akhir tetapi ini merupakan pilihan yang bagus. Kita dapat memilih mix yang benar dari sebuah sistem dan sebuah perspektif arsitektur aplikasi, perspektif harga dan perspektif maintenance dst. 

c.       Don’t Think : All or Nothing
Fakta bahwa kita dapat melakukan mix and match ‘pada tempatnya’ didalam cloud adalah berarti kita tidak dapat mengikuti semua proses didalamnya.

Melalui berbagai bahasan kita di atas dalam kita simpulkan dalam ringkasan :
a.      Berbagai layanan, komputasi umum dan penyimpanan skenario ditangani oleh Azure
b.      Kategorisasi layanan - kontrol vs tanggung jawab
c.       Mix and Matching layanan Azure

Nah, itu adalah pembahasan mengenai Ruang Lingkup Microsoft Azure yang merupakan Fundamental part 2 lanjutan dari Fundamental part 1 di posting sebelum ini. Sekarang kita sudah memahami Ruang Lingkup Microsoft Azure serta apa saja ranah-ranah didalamnya yang sangatlah "Massive".

Sekian pembahasan Fundamental Azure kita pada kesempatan kali ini, semoga apa yang saya bagikan dapat bermanfaat untuk kita semua. Masukan dari anda semua sangat berguna bagi saya untuk dapat terus berbenah. Stay tune di blog ini ya, Terimakasih dan Salam Microsoft :D

Mengapa kita membutuhkan Microsoft Azure? (Fundamental part 1)



Microsoft Azure


Seperti yang telah saya tulis di post sebelumnya tentang apa itu Microsoft Azure, kali ini akan saya jelaskan tentang : Mengapa kita membutuhkan Microsoft Azure? (Fundamental part 1)

Microsoft Azure merupakan terobosan yang sangat menarik, karena dapat digunakan sebagai batu loncatan untuk memulai menulis kode dan deploying services.

Sebelum mengetahui lebih lanjut mengenai Microsoft Azure, kita harus paham terlebih dahulu mengenai beberapa konsep dasar yang berhubungan dengan Azure tersebut, yaitu:
1. Dasar dari Arsitektur Client / Server :
Konsep dasar dari Arsitektur Client / Server adalah konsep dimana semakin banyak client maka semakin banyak load yang dihasilkan sehingga semakin banyak pula computer resource yang harus ditangani.

2. Kualitas dari aplikasi yang terarsitektur dengan baik meliputi 3 hal yaitu :

a. Availability
Availability (ketersediaan) : mengukur kemungkinan bahwa sistem berjalan dengan baik dan siap untuk menangani permintaan pada waktu tertentu dan tidak akan kehabisan waktu.

b. Reliability
Reliability (kehandalan) : mengukur kemungkinan bahwa setiap permintaan yang diberikan atau fungsi dalam sistem akan menghasilkan hasil yang diinginkan dan tidak akan menghasilkan kesalahan.

c. Maintainability
Maintainability (perawatan) : mengukur kemudahan relatif untuk mengembalikan sistem kembali pada keadaan yang berjalan dengan baik seperti seharusnya

3. Untuk mewujudkan kualitas tersebut, membutuhkan strategi yang tepat untuk mengembangkan resource dengan cepat sesuai dengan permintaan yang dibutuhkan. Strategi yang dapat digunakan adalah dengan cara scale up dan scale out.

4. Scaling Up : strategi ini dapat kita pilih ketika setiap permintaan menuntut lebih banyak memori dan processing power untuk dilengkapi. Hambatan yang akan dilalui dalam sistem ini adalah jumlah intensif objek perangkat lunak yang dibuat dalam memori komputer atau algoritma intensif dan logika bisnis yang dilakukan. Dalam kasus ini kunci untuk melengkapi setiap permintaan yang datang untuk menjadi lebih efisien adalah dengan cara menyediakan setiap permintaan yang datang dengan lebih banyak processing power.

5. Scaling Out : berlawanan dengan scaling up, kita dapat memilih scale out ketika setiap permintaan tunggal memerlukan sedikit memori dan processing power untuk dilengkapi, akan tetapi kendala yang dihadapi berada dalam jaringan komunikasi, akses disk, dll. Dalam kasus ini, kunci untuk melengkapi setiap permintaan agar lebih efisien adalah dengan cara menjalankan secara parallel permintaan lain sebagai proses tunggu.

6. Akan tetapi, pada umumnya orang-orang menggunakan kedua-duanya (Scale Up dan Scale Out)

7. Scale out dibuat sebisa mungkin melalui load balancer atau dengan kata lain banyaknya request yang masuk akan tetap seimbang meski itu antara 2 atau lebih server dengan menggunakan teori Round robin.

8. Redundansi atau alternatif data yang menyebar dari beberapa host server agar tercipta management data yang konstant sangat penting karena akan mengambil bentuk-bentuk berbeda pada bagian yang bervariasi di dalam sistem. Terdapat 3 bentuk redundansi yaitu :

a. Failover
Satu bentuk redundansi dapat kita gunakan untuk membuat copy dari sebuah sistem yang siap untuk diambil. Namun biasanya disana terdapat beberapa masalah pada sistem primary yang menangani semua permintaan yang masuk. Sebagai contoh jika server database kita menjadi down trafficnya maka dapat di rute ke penyimpanan sementara yang menjadi sebuah mirrored version dari database tersebut. Routing untuk mirrored copy inilah yang sering disebut Failover.

b. Clustering
Kita juga harus mengetahui bahwa kita dapat menerima redundansi dengan menggunakan teknologi bernama clustering yang didalamnya menggunakan multiple machine untuk server fisik dimana kita dapat meminta sistem operasi untuk merawat mesin-mesin yang merupakan bagian dari unit single.

c. Geo-redundancy
Meski di suatu tempat lintas kota atau lintas dunia, kita tetap mempunyai copy dari data center dan kita dapat melakukan routing dari semua traffic yang datang ke data center lain untuk meng-handle load nya. Itulah yang disebut dengan Geo-redundancy.

9. Virtualisasi adalah pembuatan suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, seperti sistem operasi, storage / penyimpanan data atau sumber daya jaringan.

10. Keuntungan dari virtualisasi adalah :
a. Pengurangan Biaya Investasi Hardware.
b. Kemudahan Backup & Recovery.
c. Kemudahan Deployment.
d. Mengurangi Panas.
e. Mengurangi Biaya Space.
f. Kemudahan Maintenance & Pengelolaan. Jumlah server
g. Standarisasi Hardware.
h. Kemudahan Replacement.

Setelah kita mengetahui dasar-dasar hal yang berhubungan dengan Azure maka dapat kita analisa berbagai hal berikut :

Kesempatan bagi Azure :
a. Azure sebagai penyediaan instan yang dekat untuk memenuhi beban kerja : server baru untuk meng-handle peningkatan load dalam hitunngan detik, menit, sehingga nantinya proses loading akan semakin cepat jika menggunakan Azure.

b. Skala kembali turun ketika beban reda : disaat kita tidak membutuhkan waktu yang lama dalam menggunakan computer resource, sehingga Azure merupakan solusi yang tepat, hal ini mengingat pekerjaan tersebut tidak dapat secara mudah dilakukan ketika kita mempunyai server sendiri dengan server fisik sendiri. Microsoft Azure memberikan keleluasaan bagi para penggunanya untuk dapat segera menetapkan atau tidak segera menetapkan, atau bisa dikatakan pengguna membayar hanya untuk apa yang mereka gunakan.

c. Autoscaling : Azure dapat memperhatikan proses pengistirahatan penggunaan processor atau jaringan, dan juga dapat meningkatkan hardware yang dibutuhkan dengan meningkatkan dari instansi computer kecil ke instansi medium atau instansi besar. Kita mempunyai banyak pilihan pada hal tersebut.

d. Keseimbangan load yang matang : hanya membutuhkan konfigurasi yang sangat sedikit.

e. Menggunakan invesmen yang sudah ada di virtualisasi : kita hanya tinggal upload virtual mesin ke Microsoft Azure dan hosting di sana dan scale sesuai kebutuhan. Dengan Azure kita tidak harus membeli keseluruhan, tetapi tetap dapat secara lengkap berpindah ke Azure.

f. Pendekatan hybrid tidak memerlukan komitmen jangka panjang atau investasi.

g. Tidak perlu menghabiskan uang jutaan dollar untuk memulai semua ini. Kita dapat memulainya dengan gratis dalam jangka waktu tertentu. Azure merupakan solusi yang sangat efektif dalam hal biaya, kita dapat melakukan berbagai hal besar lebih dari membangun data center kita sendiri untuk menyelesaikan semua ini.

Keuntungan Azure :
-  Scaling, redundansi, failover dll
-  Pilihan Arsitektural Baru
-  Berguna untuk semua orang (individu atau organisasi kecil dan besar)
-  Telah terinvestigasi dalam redundansi, failover, caching, storage, machine learing, authorization dll dan kita dapat membelinya kembali dengan harga yang tidak terlalu mahal.

Nah, itu adalah sedikit penjelasan mengenai Mengapa kita membutuhkan Microsoft Azure? yang merupakan Fundamental Azure. Dengan memahami berbagai kesempatan dan keuntungan Azure tersebut tentu sekarang kita mengerti betapa hebatnya performa Microsoft Azure yang sangat berguna bagi banyak permasalahan kita.

Sekian pembahasan Fundamental Azure kita pada kesempatan kali ini, semoga apa yang saya bagikan dapat bermanfaat untuk kita semua. Masukan dari anda semua sangat berguna bagi saya untuk dapat terus berbenah. Stay tune di blog ini ya, Terimakasih dan Salam Microsoft :D