Khoros Communities moves to The Cloud
Photo by Alex Machado on Unsplash Nearly two years ago, the Khoros Communities Engineering organization began to move from co-located data centers to AWS cloud services. It's been a long process, but we're nearly complete. Technical Manager Aditya Pandurangi AdityaP , was kind enough to discuss the project with me. Q: Can you summarize what cloud services are and how Khoros Communities uses them? A: A cloud service, at a basic level, is a collection of many data centers that are spread across multiple locations and owned by a cloud service provider such as Amazon Web Services (AWS) or Microsoft Azure. The provider offers companies like Khoros a cloud-based platform, infrastructure, and storage services. In this case, the infrastructure to host and manage Khoros Communities. The cloud service provides a user interface or a set of APIs to request and manage specific hardware with the software of our choosing. The cloud service provider handles the hardware and maintenance, and we're in control of how we allocate resources. Before cloud services, companies had to have their own hardware located in a data center (either on-premise or in a colocated data center with multiple companies). This meant that companies managed the acquisition and maintenance of their own hardware in addition to managing network traffic and other management tasks. Handling hardware failures, hardware replacements, and physically moving the hardware was all in the company's purview. Khoros Communities, for example, had our own servers and equipment running in two data centers: one in Europe (Amsterdam) and one in the West Coast US (San Jose, California). In the cloud, we no longer worry about sourcing hardware, moving it physically, dealing with failures and outages, sourcing data center facilities, or paying data center storage rates. We don’t need to have Khoros employees add, remove, troubleshoot, and replace physical machines when we need more resources or if something breaks. In The Cloud™, everything is done for you. Q: Any downsides? A: There will always be sporadic hardware failures and restarts in the cloud that might temporarily make our services unavailable. That said, Khoros has built-in redundancy to handle failures as gracefully as possible. Also, the costs of using a cloud service over the long term are probably a bit higher because we don’t own the hardware and can’t amortize the cost over the duration of ownership. Despite those points, moving to the cloud is very much a net benefit. It’s allowed us to do cool, new things that we couldn't before, as well as offer our customers a better experience. Q: What does this migration mean for Khoros Communities customers? A. This migration enables us to provide flexibility to our customers in ways we couldn't before. We can now scale our resources to the needs of any customer. For example, some customers host large events where they see a 2-3x increase in traffi…1.6KViews
Sign in to react to this post5Comments
How Maia is Powered by Flow.ai and Modern Chat
Maia is a new virtual assistant that Khoros built to help our customers directly from within Atlas, and throughout Khoros' website(s). It's the culmination of years of research and development around how to best help users adopt and utilize Khoros products. Maia's name is rooted in Greek mythology, where Maia is the daughter of Atlas and the mother of Hermes (the messenger of the gods). Maia was designed from the ground up to reflect Khoros' company values, with a voice and tone crafted by Natalie Houchins, a talented member of our Information Experience team. Maia is powered by Khoros Modern Chat's Automation Framework, and acts to both direct users to the answers they need or to one of our Atlas Guides, our dedicated chat agents. Maia is capable of filing support tickets, checking product status, and much more. So, what went into the Maia project? What type of technologies are powering it, and how can you leverage these solutions to create your own interactive chat experience for your customers? A Discussion with Maia's Creators In order to tell the story of Maia, we talked to Travis Berryhill, the leader of the Maia project, and Anshul Jain, the engineer that led in Maia's development. What inspired the creation of Maia? Travis Berryhill: For the longest time, chatbots just weren’t up to task when it came to actually being helpful. So, we wanted to deliver a chatbot that would actually be helpful. A bot that could complete tasks for users and peers and truly make their lives easier. What are some of the technologies the team utilized in Maia's creation? Travis Berryhill: I like to use Lucidchart to plan out the flows before we get started. We use Flow.ai to actually build the bot and train its Natural Language Processing (NLP). We have utilized several APIs, like Statuspage and Salesforce in order to help Maia accomplish tasks. Maia is powered by an amazing startup called Flow.ai, which happens to have just joined the Khoros family mainly because of the superior bots they were able to produce. Flow’s artificial intelligence and machine learning functionality is incredible, and it gives Maia the potential to be a game changer when it comes to bots. What made Flow.ai the platform of choice for Maia? Travis Berryhill: There are so many reasons! Flow.ai had the cleanest UI out of our choices, so that was what caught me at first glance. Then, once I dug into the functionality, I was blown away. Its artificial intelligence and machine learning capabilities are incredible, and it had Maia quickly discovering intents that weren’t even programmed. Flow is also continually innovating. It feels like it has new functionality all the time, and it all just made our lives easier. From a development standpoint, are there any challenges that you faced when creating Maia? How did you overcome them? Anshul Jain: Initially, there were a couple of challenges to understanding the process and how chatbots wo…778Views
Sign in to react to this post1Comment
How we built it: Search Anywhere and the Resource Center
In 2019, the Customer Experience team at Khoros planned to improve the digital experience of our customers through a series of initiatives. One of the primary tasks was to make Atlas the focal point of documentation and support articles for Marketing products, just like it was for Care products. The change involved two steps: Moving all our product technical and functional documentation from third-party software to Atlas Maintain the ability to search for documentation from within the product websites i.e. search for documentation from Marketing and Care platforms from the in-app Resource Center What is the Resource Center? The Resource Center in this post refers to the tool powered by third-party software (Pendo) to house additional contextual help and include standard help articles or FAQs, as well as in-app Guides that will walk users through specific processes. Most of the existing Marketing customers were frequent users of the search within the app tool. So, it was important for us to retain this experience. However, these changes were due in less than two months, given the licensing deadline with a third-party application. This presented two key challenges: How to look up information from the Community? How to embed the Search Anywhere tool (yes, that’s what we named it internally) into the Resource Center and into the product website? How we solved looking up information from Community: Community platform supports the awesome API layer, known in developer circles, as LiQL - the Lithium Query Language LiQL enables you to search Community information based on tags, title etc. However, you must have the “correct” permissions via the API keys in order to pull the information The Triumph team built the oAuth based mechanism to provide the API access from a web application The premise was that we could register the Search Anywhere tool as an app on the Community platform and use the specific keys to make API calls and this is how it works currently A key feature that was necessary was to limit the ability to only lookup information limited to only certain “boards” (or nodes if you happen to know Community well). We achieved this by attaching a unique role, based on the application (Marketing or Care) We registered unique apps for Care and Marketing to “sandbox” access to relevant information within each of the products We needed the ability to show some posts by “default”, for example, if you land on the “Social Marketing” page in the Marketing product, the tool would show “top” posts from the “Social Marketing” board in our Community We achieved this using “tags”, a way to label the posts in Community. This required identifying and tagging the relevant posts in specific boards in the Community. Our Product Content Experience team helped with this laborious but important task. Going the extra mile -- Integrating Resource Center into Community and Community Analyt…900Views
Sign in to react to this post7Comments
You’ve seen all recent content