Principles of Cloud Native Applications: A Hybrid Approach

As both public and private clouds evolve, there is a surge to evaluate, design and build applications on hybrid cloud architectures. These cloud native applications follow the trend where development and deployment are scalable and cost-efficient. This is mostly achieved by leveraging cloud services for run-time platform capabilities such as performance, scalability and security out of the box. An example, “Cloud native Hello World application” might involve a webUI to select display properties and the result would be displayed on any virtual machine/container hosted on any of the public or private cloud. The application would be auto deployed and the result would be monitored in the cloud for scalability and performance.

Modern day organizations require a platform for developing and operating cloud-native applications. And need services those automate and integrate CI/CD, DevOps, micro-services and containers.

  • CI/CD and DevOps: Requires the collaboration between software developers and IT operations to constantly deliver good quality software; releasing rapid changes to software without disrupting existing deployment.
  • Microservices and Containers: Microservices architecture aims at development of small services which are mutually exclusive, stateless. They can be independently developed, deployed and upgraded. The low overhead of creating and destroying containers, high packing density architecture and effective management have made the Containers popular for Microservices based designs. Containerized applications are more suited for cloud native developments as they are predictable; provide OS abstraction and can be provisioned in right sized capacity to scale up or scale down as needed. Containerized applications also help collaboration between developers and Operations teams, effectively helping continuous and rapid development. They also provide avenues to carry out disaster recovery which is an important prerogative of cloud native applications.

The cloud native applications need to follow best design methods and principles. As per cloud standard council, below is the set of principles for cloud native applications:

  • Collaborate between development, IT Ops and business teams
  • Determine the right application and data modeling model:
    • Document the cloud resources to be deployed
    • Create diagram describing, what applications, services and data should be deployed in hosts/containers inside the cloud
    • User “steady speed” vs “fast speed” for delivering services to cloud
  • Linking on-premise capabilities to public cloud services:
    • Integrating the process of an application invoking other
    • Integrating data where application may share common data
    • Integrating presentation where applications share their results to user via user interface
  • Meeting the Connectivity requirements in terms of service level agreements (SLA), cloud security policies and IT management strategies
  • Checking functioning of:
    • Network links
    • Virtualized network connectivity
    • Floating IP address plan
    • Cloud security
    • Availability of DDOS protection services and service continuity.
    • Cloud management and monitoring
  • Outline how operations will take shape when deployed in cloud: This should take care of internal operations, services deployment, circuit breakers for fault handling, Risk handling and compliance as per legal and contract
  • Change Management: One of important aspects of cloud governance is managing changes related to automation, self-service, backup and disaster recovery. This is mainly handled by maintaining service catalogs, access controls and data storage
  • Define clear governance for cloud by:
    • Cloud monitoring
    • Log monitoring
    • Resolve security challenges
    • Disaster recovery
    • Identifying gaps in measurement and fixing them

The picture below shows an approach for deployment of cloud native application followed for one of Calsoft’s customer. The developed application is initially tested on premise setup and then auto-deployed in a cloud setup.

The workflow depicts following sequence of operations and principles followed for development, deployment and monitoring of cloud native applications:

  1. Developers design services with data access graphs, security and cloud deployment in mind
  2. Develop deployment scripts keeping in mind the cloud, so minor tweaks help to adhere to cloud templates and deploy the micro-services on cloud
  3. Execute every microservice on a separate port so that inter microservice communication issues never arise
  4. Independent stateless microservices are developed and made ready for production
  5. Production ready containerized microservices are deployed on premise setup using build integration tools.
  6. Once the service is verified for production, it gets auto-deployed in production cloud deployment.
  7. Multiple production ready containerized services keep getting deployed in cloud platform.
  8. There is a separate container to run the performance, stress tests of the microservices already deployed in cloud
  9. The deployment process is fully automated using CI/CD DevOps tools.
  10. In order to upgrade a particular microservice on the cloud, bundle the upgraded micro-service into separate containers and auto-launch it in the cloud. Then bring down the existing micro-service containers.
  11. The cloud is pre-configured for multi-tenancy, monitoring and security aspects like identity management, data segregation per tenant, data encryption network and security path security.
  12. Cloud is orchestrated using tools like k8s.
  13. Cloud monitoring is performed by Prometheus (or Cadvisor). Graphana provides single pane view of complete cloud deployment along with resource consumption and constraints.
  14. Critical events are notified to administrator by notification tools.

Public clouds like AWS provide most of these features as in-built. The tools like AWS GovCloud, gemalto, vometric, built-in backup, disaster recovery tools are self-sufficient for AWS. But, customers don’t want to hold back to single cloud deployment and look for multiple cloud deployment options with one time development efforts. That’s where hybrid cloud deployment approach fits in by simplifying the cloud migrations easily.

[Tweet “Principles of Cloud Native Applications: A Hybrid Approach~ via @CalsoftInc”]

 
Share:

Related Posts

Navigating Big Data Storage Challenges

Navigating Big Data Storage Challenges

The last decade or so has seen a big leap in technological advancements. One of the technologies to come up at this time and see a rapid…

Share:

A Deep Dive into 5G Service-Based Architecture (SBA)

5G technology roll out signifies an immense revenue opportunity for telecom industry.

Share:
Technical Documentation

Technical Documentation Review and Tips

Technical reviews are vital for effective and quality documentation. To make this happen, have documentation and its reviews listed as one of the deliverables – just like development or testing. This will place priority on the process, and ensure everyone involved understands the importance of proper and thorough reviews.

Share:
Technology Trends 2024

Technology Trends 2024- The CXO perspective

In the rapidly evolving landscape of 2024, technology trends are reshaping industries and redefining business strategies. From the C-suite perspective, executives are navigating a dynamic environment where artificial intelligence, augmented reality, and blockchain are not just buzzwords but integral components of transformative business models. The Chief Experience Officers (CXOs) are at the forefront, leveraging cutting-edge technologies to enhance customer experiences, streamline operations, and drive innovation. This blog delves into the strategic insights and perspectives of CXOs as they navigate the ever-changing tech terrain, exploring how these leaders are shaping the future of their organizations in the era of 2024’s technological evolution.

Share:
Technology Trends 2024

The Winds of Technology Blowing into 2024

As 2023 draws to a close, the digital landscape is poised for a seismic shift in 2024. Generative Artificial Intelligence (Gen AI) continues its integrative streak, disrupting industries from B2B to healthcare. Networking trends emphasize simplicity, while the synergy of cloud and edge computing with Gen AI promises real-time workflows. Quantum computing, cybersecurity, intelligent automation, and sustainable technology are key players, reshaping the technological fabric. Join us as we navigate the transformative currents of 2024, unraveling the impact on enterprises in our forthcoming article. Stay tuned for the tech evolution ahead!

Share:
Generative AI Shaping Future Industries

[Infoblog] Generative AI Shaping Future Industries

Generative AI is at the forefront of innovation, harnessing the power of machine learning algorithms to create new and original content, from images and music to entire virtual environments. This infographic depicts how Gen AI is evolving industries and shaping its future.

Share: