Couple of months ago, our Founder/CEO Saravana Kumar wrote an article about the challenges in managing distributed cloud applications. While talking about the possible solutions for this problem, Saravana gave a hint that we might be positioning Serverless360 to address this business challenge especially when it comes to supporting integration solutions built on Azure technologies.
Yes! After all the groundwork and efforts from the team, here we are building a brand new portal for Serverless360 that will cater to solve the exact business challenge mentioned previously. We call it “The Shift to Composite Applications Concept”. So what exactly is Composite Applications? How does Serverless360 solve the business problem?
Saravana Kumar demonstrated the brand new portal during the recently concluded INTEGRATE 2017 USA event at Microsoft Campus, Redmond, Seattle, WA. Here are few pictures from Saravana’s session at the event.
(Note:ServiceBus360 has been rebranded as Serverless360)
Building Enterprise Applications — The Reality
Organizations have started to take advantage of the power of Cloud Computing, which has definitely resulted in a complete paradigm shift in the way enterprise applications are built and deployed. Think of Cloud Computing and immediately you will be reminded of the major players in this space like Microsoft, Amazon, Google, and so on. The power of cloud has given organizations an option to consider a full cloud or a hybrid cloud architecture over the traditional on-premise offering.
When it comes to cloud offerings, every cloud service provider has a bunch of capabilities that you can take advantage of to build your enterprise application. For instance, with Microsoft Azure, there are over 50 different services that you can use to build your integration solution (such as App Services, Functions, Logic Apps, Service Bus, and so on). More the services you use , the merrier it becomes to build and deploy a feature rich integration solution. However, this comes with its own challenges. I’ll try to list a few of them here –
- Operations and Management — While building complex hybrid integration solutions, developers pay very little attention to how the integration solution can be easily operated by users on a day-to-day basis. Users may be required to perform frequent operations like governance/audit, periodically check the log files for any errors, troubleshoot errors/stopped services, and so on. If the solution is too complex, users will find it difficult to manage the integration solution effectively.
- Security — Say, the hybrid integration solution makes use of Azure services and one particular team in the organization is responsible to manage a specific service(s). In this case, administrators find it very difficult to set the right permissions at the team level in the Azure Portal. For individual access (role based), Azure Portal works a charm! Moreover, if the horizon of the integration solution expands into more additional services, it becomes very difficult for administrators to manage user security.
- Tooling — One of the biggest challenge in using Microsoft Azure Portal is that each Azure service is made available within the portal as individual technology silo. Say, your integration solution makes use of Logic Apps, Service Bus, and Azure Functions. It’s not easy to manage each of these services in Azure Portal — if you are on the Azure Functions screen and suddenly you want to check on your Logic App, you have to search for your Logic App, open it to see the specific details. That’s not it! You may need additional third party applications or build your own custom code to manage each service.
- Consolidated Monitoring — Organizations invest their time and resources to build custom monitoring solutions in order to monitor their hybrid integration solution. This definitely takes a hit on the productivity of the resources. The Azure portal comes with inbuilt monitoring; but users are forced to configure monitoring for each individual service. There is no way you can consolidate monitoring for the different services within Azure portal.
What is Composite Applications all about?
With Azure becoming more mainstream and a matured product offering from Microsoft, many organizations have started to make use of the technology to build their hybrid integration solutions as an extension to their on-premise solution. The overall hybrid integration solution will look something as shown below –
We wanted to position Serverless360 in such a way that you can manage and monitor this entire solution containing several Azure services (Service Bus, Web Jobs, Logic Apps, API Management) effortlessly. This is what we call “Composite Applications”. With the concept of Composite Applications, you can easily group your Azure Services that make up your integration solution and manage them effectively. Even if your Azure services are spread across different Subscriptions, serverless management and monitoring become possible through Serverless360.
The work gone behind the Composite Applications concept
It was not an easy task for us to build the composite application idea initially. We went back to the drawing board to arrive at a solution by which users can easily manage all their services in a single group. We did not want to disturb the existing production concept. So we decided to build a v2.0 of the Serverless360 portal (with a revamped fresh look) based on the Composite Applications concept.
In-depth Tooling
We decided to move all operations activity (the basic CRUD operations) out of the Composite applications. In the new portal, you will be able to perform monitoring of the services that are mapped under the Composite applications. To perform the CRUD operations of the services, you can perform them in the Technology stack area from where you can choose the Azure service and add/remove the entities (add a Logic App, create new Queue/Topic/Relay/Event Hub, view the properties, view Shared Access Policy and so on). Navigation between the different Azure services in the technology stack is pretty seamless.
User Security
In the last release, we added the User Access Policy where administrators can define fine-grained user security restrictions for normal users in Serverless360. With the Composite Applications and Technology stack in place, the User Access Policy module has been strengthened to handle different user scenarios. Say, there are 3 Composite Applications, and the support user should have access only to one Composite application group. Similarly, we also allow restrictions on the technology stack (ex., access only to Logic Apps and Queues sections and the granular level of operations user can perform such as Create, Edit, Delete). This restriction applies purely to the technology stack.
Administrators can also grant access to specific sections within the Composite Applications section. For example, say the support user has access to one Composite application (Supply chain management) which makes use of Azure Service Bus and Logic App services. Within the Composite Application group, the support user should only have access to manage the entities, view the messages but not send/purge messages. Administrators can grant this level of access restrictions to the user as shown in the below screenshot.
The same concept applies to Monitoring as well. Since we took the concept of monitoring within the Composite applications concept, administrators can define the level of monitoring access support users will require. If the user does not have access to Topics/Event Hubs, there is no way administrators can grant them monitoring permissions (as the sections will be automatically grayed out). Here’s how we have defined the security for the features in Serverless360.
Consolidated Monitoring
Users now have the capability to monitor their entire integration solution as a single piece. You no longer need to write custom monitoring solutions or use third party tools to monitor individual Azure services. As a part of the Composite applications group, users can make up their Composite Application group and configure monitoring for the Azure services. Say, scott is a support user and he is responsible to monitor the health of the Online Order Processing integration solution. Once the Composite application is set up in Serverless360, scott can get a holistic view of the Azure Services under his Composite Application. Under the ‘Monitor’ section, scott can create an alarm/multiple alarms (depending on his business requirement) and configure monitoring for the different Azure services.
Try Serverless360 for Free today
We are working hard to get the v2.0 of the Serverless360 out for public release. We have invested a lot of time to understand the challenge faced by users when it comes to managing hybrid integration solutions and revamped Serverless360 in this direction. We can clearly see the value proposition and the benefit it will add to businesses who are maintaining large and complex integration solutions.