Showing posts with label Cloud Applications. Show all posts
Showing posts with label Cloud Applications. Show all posts

Kubernetes as Orchestrator for A10 Lightning Controller

A10 Lightning Controller is an application composed of multiple micro-services and works as the management, control and analytics plane of A10 Lightning Application Delivery Service. 





By default the controller is available to A10 customers as SaaS and they need to deploy only Lightning ADCs in their network.


But, some customers want to deploy controller also in their network for compliance or other (mostly non-technical) reasons.


Bangalore Kubernetes Meetup group thought of doing a session with topic Kubernetes in production 
and gave us (Manu and Myself) a chance to present. Our use case was that not just all the components of A10 Lightning controller run in Kubernetes (aka K8s) but we also package it so that our customer's production also run in K8s. So, this includes packaging and distribution of application as well as running in the scenario when the administrator of the application may not be very K8s savvy. 

Following is what we covered in our talk:

  1. Why we moved to K8s, what design choices we made while porting and what can be done better if we design it from scratch
  2. Issues we faced, our solutions and ongoing research in following areas
    • Scaling each micro service individually
    • Persistence across reboots
    • Persistent data storage
    • Overlay networking
    • Deploying clustered applications


Here is the presentation:


Kubernetes as Orchestrator for A10 Lightning Controller from Akshay Mathur


Here is the video captured by Neependra at meetup:
Videos of other presentations are also available at Neependra's website.
Link to other presentations are in comments of meetup page.

At the end I thank Manu for co-presenting:




Cloud Bursting using A10 Lightning ADS and AWS Lambda

 Cloud Bursting

Cloud bursting is an application deployment model in which an application that normally runs in a private cloud or data center “bursts” into a public cloud when the application needs additional resource (i.e. computing power) and use Cloud Computing for the additional resource requirement.

Think of a scenario in which an e-commerce application is running in a data center and suddenly a few items became popular and a lot of users start checking them.  Suddenly traffic starts building on the website and response starts becoming slower because of the load on servers. The only solution now is to scale the server infrastructure by provisioning more servers to handle the traffic. But provisioning new server on-the-fly is not an option in data center. Public clouds come as savor. The additional server can be launched in a public cloud like AWS and additional traffic can be routed to that server.

So, the Cloud bursting relates to hybrid clouds. The advantage of such a hybrid cloud deployment is that the resources become available on-the-fly and an organization only pays for extra compute resources when they are needed.

Cloud Bursting Architectural Model

The cloud bursting architecture establishes a form of dynamic scaling that scales or “bursts out” on-premise IT resources into a cloud whenever predefined capacity thresholds have been reached. The corresponding cloud-based IT resources are redundantly pre-deployed but remain inactive until cloud bursting occurs. After they are no longer required, the cloud-based IT resources are released and the architecture “bursts in” back to the on-premise environment.

The foundation of this architectural model is based on the automated scaling listener and resource replication mechanisms. The automated scaling listener first determines when to trigger resource replication for deploying the server in cloud.  Next, when the additional resources i.e. servers are ready in cloud, it redirects requests to those servers along with the on-premises servers.


Solution Components

In this solution, we shall see how we can burst into AWS environment with minimal cost. A10 Lightning ADS will work as scaling listener and AWS Lambda functions will work as replication mechanism for this solution. AWS API Gateway will be required to invoke lambda functions from ADS.

In steady state, A10 Lightning ADS will front-end the application traffic and will monitor for server latency. An application server instance is expected in the AWS account in stopped state so that it can be started by the lambda function as needed.

Following presentation was done in AWS Bangalore meetup:


Demo


Techniques for Scaling Application with Security and Visibility in Cloud


When the traffic to your web application serves increase, you need to do a better job than just horizontal or vertical increase in servers.



You not only need to bring the mind shift on the software architecture side and make the application scale-able at various layers but also deal with the challenges with infrastructure optimization.

In the TechNext meetup Pune, the topic was discussed at length carefully observing the challenges, requirements and possible solutions at every stage of growth.

The discussion was around following topics:
  • Architectural mind-shift for scale
  • Infrastructure challenges with traffic growth
    • Load balancing
    • Content switching
    • Content optimization
    • Traffic insights
    • Security against data theft
    • Protection against BOTs and traffic surge
    • DDoS attack prevention
    • Continuous delivery