Melalui kerja sebagai satu tim, departemen IT Bernhardt dan para ahli dari tim jStart Emerging Technologies dan IBM Cloud menggunakan dua cara untuk mencapai tingkat skalabilitas dan kemampuan beradaptasi yang baru. Untuk arsitektur yang lebih fleksibel, tim gabungan mengganti aplikasi back-end monolitik dengan arsitektur layanan mikro dan infrastruktur antarmuka pemrograman aplikasi (API) yang berjalan di lingkungan hybrid cloud. Untuk mempercepat pengembangan dan pemeliharaan yang sedang berlangsung, tim mengadopsi model pengembangan aplikasi DevOps.
Di satu sisi, tim IBM dan Bernhardt meningkatkan arsitektur back-end dengan memecahnya dan menyebarkan bagian-bagiannya. Ketika sebelumnya mereka memiliki satu aplikasi untuk beberapa proses administratif, mereka membuat sembilan layanan mikro yang sesuai dengan proses-proses tersebut. Kemudian mereka mengintegrasikan layanan mikro melalui API di seluruh lingkungan hibrid cloud dan platform yang dihosting secara lokal. Dengan API yang berfungsi untuk menghubungkan dan berbagi data di antara proses, bagian-bagian yang sekarang terpisah masih dapat berfungsi sebagai aplikasi terpadu tetapi tanpa ketergantungan yang membatasi kinerja dari arsitektur lama. Sekarang, ketika satu proses mengalami hambatan atau pemadaman, proses lainnya akan tetap berfungsi secara independen, dan tim dapat fokus pada masalah tertentu tanpa khawatir akan mempengaruhi proses lainnya. Menurut Griffith, "Arsitektur layanan mikro memberikan waktu aktif dan fleksibilitas yang kami butuhkan untuk memenuhi permintaan pengguna dan pelanggan kami."
Lingkungan hybrid cloud semakin mendukung kinerja dengan memungkinkan Bernhardt mendasarkan setiap layanan pada platform yang memberikan kemampuan terbaik untuk fungsi tertentu. Sebagai contoh, beberapa API Virtual Showroom dan layanan mikro dibangun di atas perangkat lunak IBM WebSphere® Application Server Liberty Core dan berjalan di platform publik IBM Cloud. Layanan mikro manajemen konten, yang mencakup informasi produk resmi dan showroom, berjalan dalam infrastruktur IBM Cloud dan didukung oleh layanan database IBM Cloudant® NoSQL yang berjalan pada platform IBM Cloud. Dan perangkat lunak analitik sumber terbuka Apache Spark berjalan dalam sebuah klaster server IBM Power Systems™ berkinerja tinggi yang dihosting di fasilitas IBM lokal.
Ke depannya, seiring Bernhardt meluncurkan layanan baru untuk area bisnis lainnya, dan seiring kebutuhan bisnis dan tuntutan kinerja yang pasti berubah, perusahaan dapat memindahkan layanan individual antara platform cloud dan lokal sesuai kebutuhan. Misalnya, untuk mengakomodasi beban kerja puncak di High Point Market, tim dapat menggunakan kontainer Docker untuk memindahkan layanan manajemen konten dari awan ke jaringan lokal sumber daya komputasi khusus.
Bagi Bernhardt, API adalah koneksi yang menyatukan arsitektur layanan mikro dan juga penghubung ke inovasi. Karena mereka tidak mengenal bahasa, mereka memfasilitasi integrasi dengan berbagai layanan, yang berarti Bernhardt dapat memasukkan fungsionalitas baru ke dalam aplikasi bisnis dengan relatif mudah. Sebagai contoh, tim ini meningkatkan solusi Virtual Showroom dengan dua layanan non-IBM yang tersedia melalui katalog pihak ketiga platform IBM Cloud: Perangkat lunak SendGrid, untuk email otomatis tentang pesanan produk, dan perangkat lunak Redis, untuk memungkinkan pengguna bisnis masuk tunggal (SSO) ke seluruh lingkungan Virtual Showroom. API lainnya memungkinkan perusahaan untuk menggabungkan perangkat lunak analitik Apache Spark dengan kemampuan Internet of Things (IoT) untuk mendapatkan pemahaman yang jelas tentang bagaimana lalu lintas pejalan kaki bergerak melalui ruang pameran furnitur dan seberapa sering orang melihat atau melewatkan produk tertentu. "Kami menggunakan API ini untuk memanfaatkan kemampuan baru dan memberikan tingkat wawasan baru bagi bisnis," kata Griffith. "Dan mereka membuat perubahan dengan cepat yang meningkatkan keuntungan."
Untuk mengambil keuntungan terbesar dari arsitektur yang lebih fleksibel dan dapat dimodifikasi, tim Bernhardt dan IBM mempromosikan efisiensi pengembangan perangkat lunak dengan menggunakan model DevOps. "DevOps memiliki siklus yang lebih kecil, umpan balik yang lebih cepat," ujar Griffith, "dan hal ini meningkatkan kecepatan dan ketepatan kami dalam mengembangkan solusi yang memenuhi kebutuhan bisnis." Tim ini menggunakan IBM Cloud DevOps Services untuk memfasilitasi umpan balik dan kolaborasi pengguna, mempercepat siklus pengembangan dan pengujian, serta mengotomatiskan penerapan. Karena umpan balik tentang kinerja dan fungsionalitas aplikasi terus mengalir dari staf penjualan dan pengguna bisnis lainnya, tim mengumpulkan "cerita pengguna" dalam forum kolaborasi IBM Cloud DevOps Services. Kemudian mendefinisikan peningkatan spesifik yang diperlukan dan memecahnya menjadi serangkaian tugas pengembangan yang selaras dengan layanan mikro yang relevan. Layanan ini dapat melakukan pembaruan ke berbagai layanan mikro secara paralel, dan IBM Cloud DevOps Services memudahkan pemindahan kode yang diperbarui dari pengembangan ke pengujian hingga produksi dengan cara seret dan lepas.
Setelah Bernhardt menggunakan solusi Virtual Showroom selama tiga kali berturut-turut di High Point Markets, tim IT mendefinisikan cerita pengguna yang akan menghasilkan fitur inovatif terbesar yang ditambahkan ke aplikasi hingga saat ini. Penjual menginginkan cara bagi calon pelanggan untuk menjelajahi lebih banyak pilihan produk daripada yang bisa mereka lihat di lantai pameran. Bagaimana jika pelanggan ingin melihat bagaimana tampilan rangka kursi tertentu dengan sentuhan akhir atau kain yang berbeda? Bagaimana jika mereka ingin melihat bagaimana dua bagian yang terpisah terlihat bersama dalam satu ruangan? Tim memasukkan skenario-skenario ini ke dalam forum IBM Cloud DevOps Services, menentukan persyaratan pengembangan, dan melanjutkannya. Di High Point Market berikutnya, penjual Bernhardt menggunakan fitur Signature Seating dari aplikasi yang lebih besar untuk membantu pelanggan merakit furnitur khusus dan melihatnya dalam pengaturan ruang virtual.