How to Achieve Tireless Integration with Serverless Apps
Recently, I attended the Microsoft Technologies Integration Conference, “Integrate 2019,” at the Microsoft headquarters in Redmond, Washington. The three-day event included multiple presentations from the Microsoft Product Group and the Global Integration Community; the main topics included secured business integration patterns—on-premises, hybrid and cloud, and current and upcoming features for serverless apps, Azure Integration services, API Management, IoT, and BizTalk. I will expand on a few below.
The importance of integration
Over the past decade, the focus of IT departments has undergone a subtle but important transformation toward cloud and serverless environments, thus broadening their perspective toward digital innovation and transformation.
To solve ever-more-difficult digital problems and navigate transformation, the guiding principles of “innovation” and “integration” have been key distinguishing factors; and innovation doesn’t just happen. In order to innovate, you need to integrate.
Systems must be integrated during the process of innovation; research on market orientation and organizational learning addresses how to do this by adapting or leveraging technology and tools to current environments and developing competitive solutions for business needs.
Why else is integration important? Because enterprises often have multiple processes and workflows happening simultaneously, and they require a mechanism in which multiple applications can work together; essentially, different business processes can be automated through an integration mechanism.
Integration examples include:
- Enterprise integration: application to application, business to business
- Hybrid integration: on-premises to cloud
- Connecting disparate cloud computing platforms (SaaS)
- IoT (Internet of Things) integration
Key principles to note prior to integration:
- Build for the current need, not a future state that may that never come
- Keep interfaces simple
- Reuse when possible
- Follow patterns that encourage readability and lower operation costs
- Design for intermittent failures
- Automate as much as possible
There are plenty of tools available but it is always smart to choose the tools that address many factors such as faster and easier development and deployment, scalability, governance, cost, and business agility.
Serverless architecture is a new way of building and deploying solutions quickly and making them available in no time; the main focus is the solution, not the infrastructure. Serverless apps are built like LEGO blocks. These can include:
- Azure Logic Apps
- Azure Functions
- Azure APIM
- Azure Service Bus (Queues and Topics)
- Azure Relays
- Azure Event Grid
- Azure Event Hub
- Azure Storage Queues, Tables, Files
- Azure Web Apps
- Azure SQL Database
Serverless computing is driven by the reaction to events and triggers happening in near real-time. Advantages with serverless computing include:
- Easier development and faster deployments (production-ready in less time)
- Time and energy is spent on building solutions, not infrastructure, thus freeing up developers to focus more on complex problems
- Fully managed scale and hosting
- Pay for what you use
- Connect faster
Likewise, there are a few challenges to note when using serverless apps:
- Testing and debugging is not easy
- There are new ways to leverage security (ex: ISE – fully isolated integration environment)
- New features were added to overcome scenarios of long-running processes (Ex: durable functions)
As you might imagine, innovative serverless technology is revolutionizing the way businesses operate. And, as mentioned earlier, innovation can’t happen without sound integration. If you have any questions or are interested in modernized integration patterns, please contact us.