|By Amit Kumar||
|January 8, 2017 04:45 AM EST||
A revolutionary change in the industry was the foundation for cloud on the automation of virtualization technologies. Initially it was meant for infrastructure, but with the advent of new and innovative cloud services it has crossed the boundary of Infrastructure and invaded the application space. The concept of ‘as a Service' model has three pillars: IaaS (Infrastructure as a Service), PaaS (Platform as a Service) and SaaS (Software as a Service). Over a period of time cloud services have grown and diversified to the extent that clubbing the services into these three pillars is not only difficult but unattainable. That's the reason none of the public cloud providers classify their services in ‘as a Service' model category.
A public cloud provider has an edge over a private cloud and differentiates itself by providing rich services as compared to focus on automation of infrastructure components by latter. Organization using private cloud will not benefit even though when they imitate the Public cloud for rich services (e.g. API Gateway, S3, SQS, App Stream, Notification Services, etc.) as they will face couple of challenges. Firstly, they will not be able to achieve economies of scale resulting in higher costs. Secondly there are few services which have set up limitations Cloudfront CDN (Content delivery network) is one of them. It is quite fair to conclude Public cloud provider will lead the baton with innovative services.
SaaS has been used for a while and is not new to the industry; however, it has limitations due to its restraints in terms of inability to scale with dynamic demand. SaaS was complemented with Cloud due to high availability, scalability and reliability to make it more robust and dynamic for the changing needs. Cloud has completely changed the way we consume infrastructure. Soon it is going to disrupt the way we build an application. It will be interesting to know how and why our way of designing application will get disrupted because of Cloud with below business scenario.
A larges online retailer galaxyportal.com (fictitious name) received 3 million hits per day and has more than million products to offer to the customer. They have started seeing a decline in customer satisfaction. One of the main reason was the response time during the flash sale. The company was able to secure exclusive right of demanding product but unable to monetize the benefit due to technical glitches (website crash, slow response time, recovery time was more than an hour). The marketing department is unable to roll-out the right offering for buyers because the current system doesn't give much insight of user behavior. Recent consumer survey reveals that mobile adoption is pretty high and the customer are preferring more online shopping. As per a recent survey by the marketing department, overall online business will grow 10 times in next 5 years.
Company CIO decided to revamp the architecture and build a completely new solution which will address current challenges and make them ready for future opportunities.
Based on the customer survey feedback, the customer expects a notification on his/her mobile as soon their order gets dispatched. The customer would also like to hear more if the offering is relevant to them. To provide rich user experience business wants to add:
- High Performance System with Express Checkout should be carried out within 1 sec
- Currently, order confirmation time is more than 2 hours due to large number of batch processing. The new system should bring down to less than 5 minutes
- Along with product catalogue, short multi-resolution and multi-format video and images must be added for better visualization and description
- The user should be able to do offline check-out, It will provide flexibility and save time
- Marketing team will require detail insight of user behavior in real time
- As per recent regulation organization needs to keep the data for 10 years. In context to the same tool should provide cost effective solution for archiving 100 terabytes of data.
The company has some budgetary constraints along with the insufficient IT team size leading to the decision for outsourcing the tool development. Glaxyportal is now looking for high efficiency solution which will fulfill its above requirement.
Figure 1. Conceptual Architecture
Above diagram is for indicative purpose only to outline the high-level architecture for eCommerce galaxyport.com. Architect understood the business criticality of the new solution. They identified two major problems; existing software products were best then but now outdated and secondly current infrastructure isn't scalable to meet future and ad-hoc business demands. Galaxyportal was going through credit crunch, however their new solution has good future prospect. To meet the business demand architect decided to go ahead with the solution combination of SaaS and Cloud services. Serverless (no explicit infrastructure required, as in no servers, no deployments onto servers, no installed software of any kind.) architecture is an ideal approach for low maintenance solution. The architect decided to harness the power of AWS cloud services and proposed below architecture.
Figure 2 : Serverless Architecture in Cloud
Architecture proposed is very different from traditional one. The combination of SaaS with Cloud services makes complete solution as pay-as-you-go model which means Galaxyportal will be running on zero cost in case the services are not being used and hence the solution acts as a perfect fit in the current situation. Galaxyportal architect proposes uses of various AWS cloud services to achieve required results.
- Route 53 - will be used for DNS services
- ELB (elastic load balancer) - Both mobile app and web portal users will use services through AWS ELB
- EC2 Container Service - eCommerce Web and Admin portal will be deployed on it. They are highly scalable and support millions of hit for the web portal. At the same time, it eliminates the need of own cluster management infrastructure. EC2 Container Service also allows development team to seamlessly adopt DevOps
- Autoscaling - used to set-up EC2 Container . It's adjustable scalability property will scale container automatically depending upon the workload.
- Lambda - Instead of large monolithic business services, microservices architecture approach will be used to deliver business services. It will deliver business services without any provisioning of infrastructure
- API Gateway - will be used to expose Lambda API business services. API Gateway will act as a "front door" for applications to access data, business logic code running on AWS Lambda. Mobile app will also use API Gateway to access business services.
- Cloud Search - Search is one of the most important features of eCommerce and AWS Cloud Search fulfills the criterion. It's a cost-effective and scalable solution
- Elasticache - For caching of frequently used information AWS Elasticache will be used
- SWF - will be used for any workflow related task e.g.; Order processing. SWF will be used along with Oracle Cloud ERP
- SNS Service - All sorts of notification e.g.; Mobile, email will be made through it
- Dynamo DB - NoSQL database will be used for high volume transactional data
- S3 - All image and product videos will be available through S3.
- CDN - SaaS-based ECM product will be used for storing and delivering of static content. AWS CDN network will be used to cache the data at edge location for faster delivery to meet the demand of millions hit
- Cognito - The mobile app will have AWS Cognito capability to fulfil the demand of offline shopping through data synchronization
- Mobile Analytics - will be used to capture user behavior. It will pass the input to ElasticSearch for further analysis
- Kinesis - Real-time analytics is one of the key business requirements stated by Galaxyportal. Salesforce Marketing cloud will also be used to provide insight to a marketing department. AWS kinesis will be used to stream real-time input (e.g., click stream) to ElasticSearch to reveal insight from captured data.
- ElasticSearch - will be used for real-time application monitoring, and click stream analytics to get better insight of user behavior in real time.
- Glacier - AWS Glacier is a low-cost archiving solution and will be used for archiving more than 100 terabytes of data
- Elastic Transcoder - will be used to convert images/videos into multi-format and multi-resolution.
With the above cost effective and scalable architecture, we can foresee more and more solutions heading towards serverless architecture. With the evolution of Cloud services, the thought process for creating architecture has got revamped and hence resulting in disrupting application architecture. The only drawback of this approach is lock-in with cloud vendor because the application is strongly tied to a cloud provider.
The intent of the above architecture is to explain how an enterprise application can be delivered using a serverless architecture. Above solution is designed using AWS. Azure is also providing similar services. Refer to my earlier blog AWS and Azure focused on Application Services. Azure services work in similar fashion and to get results replace AWS service with comparable Azure services.
- The Top 150 Players in Cloud Computing
- Cloud People: A Who's Who of Cloud Computing
- Ulitzer Names the World's 30 Most Influential Cloud Computing Bloggers
- 21st century Modern Alarm systems continue to play a key role in various institutions and industries
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- Cloud Expo New York to Attract More Than 8,000 Delegates
- The Cloud Computing Kettle Heats Right Up
- The Advantages of Using Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Cloud Computing and Big Data in 2013: What's Coming Next?