Hybrid Cloud Solution to Increase Business Value CloudLink is a hybrid cloud solution that interacts with existing onpremises ERP systems. With the hybrid approach, we can leverage the on-premises software and existing customer data and extend or move only those areas to the cloud that will benefit from cloud technology. This approach reduces implementation time and overall capital expenditure of the company.
OVERVIEW OF MICROSOFT AZURE Microsoft Azure is a cloud computing platform and infrastructure for building and managing cloud based application and services through Microsoft managed datacenters. The combination of IaaS, PaaS and array of languages sets Azure ahead, making Micrososft one of the leaders of cloud computing. Microsoft Azure aims to: Build highly available and automatically scalable application that runs and stores data in cloud. Create virtual machines and install your custom application or out of the box applications. Store relational and non-relational data in data store and search them quickly. Process unstructured and semi structured data and get predictive analytics. Create Virtual Private Networks (VPNs) and enjoy enhanced security and isolation. Stream media content directly to devices Microsoft Azure aims at keeping the teams focus on development and not on the infrastructure. Key benefits of Microsoft Azure include: Minimal to no focus required on the infrastructure. Easy to learn and use Azure SDK. Array of services includes compute, storage, media, network and identity. Multiple operating system and language support. Competitive pricing model and Pay as you Go plans. No infrastructure maintenance overhead. 99.95% SLA availability OVERVIEW OF CloudLink CloudLink is a hybrid cloud solution developed for a mid-market ERP Product Company to satisfy the need of construction management businesses. CloudLink is designed to overcome the challenges posed by the construction industry by providing real time collaboration between the construction company and their partners. It increases the efficiency of field engineers by providing access to their project reports, RFIs and other critical information from anywhere in the world, reducing time and money. CloudLink offers an array of features on the cloud, like: contact management, project management, project reports, user management, role management, vendor management, project files, time entry, new tenant enrollment, site administration, notification, etc.
CloudLink ARCHITECTURE CloudLink was developed to address the need of cloud for the construction industry because of the constant change of workers and their work locations. At the same time, back office has the need to manage the financials, plans and reports which demands a powerful ERP systems. The cloud has the ability to provide access to information from anywhere, anytime and update the back office with information from the work site and leverage the power of back office to generate the report and other business intelligence. The architecture proposes: Extending field employee related feature in the cloud. Building connector to transfer data between cloud and back office. Using in-house single sign on service for authentication Storing Data in SQL Azure and sync data with back office on demand and/or as scheduled process using background workers. Storing files and images in Azure blob storage. Hosting as a cloud service with Web and Worker role in small instances with auto scaling enabled
TECHNOLOGY RECOMMENDATION Windows Azure ASP.Net MVC.Net Framework 4.5.1 C# jquery, jquery UI, Kendo UI WCF, WebAPI Entity Framework SQL Azure, Azure Blob, Azure Table, Azure Queues ARCHITECTURE CONSIDERATION Communication to back office: Use queue to relay messages to back office and BLOB as temporary data store Handshake after every message relay Authentication: Use in-house single sign-on for authentication requirement Authorization: Build role based security for authorization requirement Data Security: Use certificate based encryption to secure sensitive customer information Performance and scalability Cost: Verify that cloud is a cost effective solution for the enterprise. Licensing and entitlement: Build a licensing model to enable user to pay only for what they need and not everything Database: Build a database provisioning mechanism to provision separate database for large volume customer, keeping smaller customers away from load and provide isolation for large customers STANDARD METHODOLOGY Analyze Cost vs Benefit Business Analysis Impact Analysis Strategize Identify the implementation Approach Proof of Concepts Plan Implement Build Test
ANALYSIS Cloud Features Analyze the features that are to be extended in cloud which will benefit the field employees. Some of the features are-project Reports, Project files and Time Entry. Back office Integration Back office integration is key and reliable message delivery is a must. Azure queues will be used to deliver message to the back office. Messages are put in queues and back office connector will read the same, hides the message and processes them. Once processed, the messages are deleted from queue. If the message is not processed successfully then the message will become visible after the timeout period for the back office to process it again. For long running back office processes, back office should extend the time-out, if the job is not complete. Data Synchronization In a hybrid environment we need to ensure that customers do not see any discrepancy in their data. In order to maintain the integrity of data we will be using a vector clock algorithm to implement our synchronization logic. Business layer analysis Expose feature-specific business services that can be exposed to outside world through WebAPI s. These business services are self-contained business domains catering to individual feature needs like Project Files, Time Entry and so on. Data Access Layer Entity framework will be used for data access needs and generic repository pattern will be implemented for Data Access. Database Analysis Two databases will be created, one for storing system/master data and one or more for storing tenant specific data. Database provisioning mechanism will be implemented to spin up new tenant database as and when the need arises. Caching Caching is used for storing frequently accessed information. In role cache, portion of memory from instance of the web or worker role is used. The information store is available within the deployment. Caching service provided by Microsoft and data stored in managed cache will be available across the deployments. For business data caching needs, in- role caching should be used and managed cache should be used for authorization data caching needs. Diagnostics Support Azure Diagnostics provides a way to collect diagnostic data from a web and worker roles. The telemetry data is stored in an Azure storage account and can be used for debugging and troubleshooting, measuring performance, monitoring resource usage, traffic analysis and capacity planning, and auditing. We can also implement custom logging and save the information in azure tables. Diagnostics information becomes a key trouble shooting mechanism in a hybrid environment.
IMPLEMENTATION In CloudLink, the components were built in an individual and incremental fashion. The core building blocks were built, then the components, connector and the UI will be built parallely. Once the components and features are tested individually they will be integrated and tested end to end. All features will be tested with unit tests, automated test cases and manual tests. CONCLUSION Hybrid cloud solutions can maximize the value by balancing the use of existing on premise application and Azure features. Hybrid solutions makes it easy to add new features quickly and more flexibly. When there is a fully functional and reliable on premise system, hybrid cloud solutions are the best and cost effective way to meet the demands of the future. ABOUT THE AUTHOR Sivagurunathan B is a Senior Architect with Sonata Software Ltd. He specializes in architecture and designing solutions using Microsoft Technologies with focus on Azure. He has over 11 years of experience in design, development, consulting and delivering world-class software products and solutions. ABOUT SONATA: Sonata Software is a global IT services firm focused on catalysing transformational IT initiatives of its clients through deep domain knowledge, technology expertise and customer commitment. The company delivers innovative new solutions for Travel, Retail and Consumer Goods industries by integrating technologies such as Omni-channel commerce, Mobility, Analytics, Cloud and ERP, to drive enhanced customer engagement, operations efficiency and return on IT investments. A trusted long-term service provider to Fortune 100 companies across both the software product development and enterprise business segments, Sonata seeks to add differentiated value to leadership who want to make an impact on their businesses, with IT.