aNewLeaf #4 – What is Cloud Native Infrastructure ?
Welcome back to the aNewLeaf #4 (a New Learning from this week). In this let’s understand “What is Cloud Native Infrastructure?”. Is it patterns for the scalable infrastructure and applications in a dynamic, business agile, system resiliency environment.
In our recent history the Technology infrastructure is at a reflection and great value creation point, which enables scalability, business agility, and system resilience. The disruptive change in infrastructure technologies brings us more business value. In past the infra is many times ignored and and seen as unwanted cost, and there will not be any much innovations or time spent. But thanks to Cloud Infrastructure community, it disrupts and brings the best value. And very special thanks to the open source software communities, which caused the explosion of newer concepts and innovations. The cloud native infrastructure would bring benefits if we manage via cloud native applications.
Infrastructure is all including the software and hardware that helps in building applications. Hence having efficient infrastructure accelerates the business by enabling services and products with shorter time to market. Even the best built cloud native applications will go waste if we don’t have right design and practices to manage infrastructure.
The Four Cloud Native Advantages:
- Helps to build customized platform with all the services we need, it many times referred as Services as a Platform [SaaP]
- Scale Infrastructure in the same way of scaling applications
- Infra and App are resilient and easy to debug
- Cloud native practices bridges the gap between application and infrastructure engineers
The Pointers:
- Physical server leads to wastes and with lot of overhead. But the virtualization emulates a physical servers hardware in software, and by using a hypervisor we can run multiple virtual machines on a physical server. But one problem is however we still need hardware
- Now the capacity planning becomes still harder because we have to account for VM overhead too
- Infrastructure as a Service (IaaS) is one of the many offerings of a cloud provider and a vital offering, which provides raw networking, storage, and compute that we can consume as wanted; including support services like identity and access management (IAM), provisioning, monitoring, and management systems.
- IaaS fundamentally changed infrastructure relationship with business and IT team
- Hosted infrastructure is made available via Application Programming Interfaces (APIs) for customers
- IaaS hides physical servers from VM consumers and platform as a service (PaaS) hides operating systems from applications
- The 12 factors is all about improving developers efficiency by isolating code logic from data; automating as much as we can; having distinct build, ship, and run stages; and declaring all the application’s dependencies
- Below diagram shows the application flexibility and control
Cloud Native Infrastructure:
- Cloud native infrastructure is hidden behind useful abstractions, which is controlled by APIs, and managed by software, with the purpose of running dynamic applications. This gives applications a power with resilience and scalability
- Software-defined infrastructure enables infrastructure to scale, and it also plays a role in resiliency, provisioning, and maintainability
Not-Cloud Native Infrastructure:
- Running infrastructure in the cloud doesn’t mean it’s cloud native Infra
- Cloud native is not about running applications in containers
- Container orchestration is good first step but not the final step
- Cloud native is not about Infrastructure as Code (IAC) or Microservices
Cloud Native Applications:
- As cloud changed the trust and relationship between business and infrastructure, cloud native applications changes the relationship between applications and infrastructure
- Cloud native application is not the 12 factor app
- Cloud native application is engineered to run on a platform and is designed for resilience, agility, operability, and observability
- Common ways to implement the cloud native applications are microservices, health reporting, telemetry data, resiliency, and declarative
So to conclude, the cloud native infrastructure is now responsible for holistic resource management, dynamic orchestration, service discovery, and much more; which is managed by the cloud native applications.
Keep yourself up-to-the-minute on ABCDE of Data (Artificial Intelligence, Automation, Big Data, Blockchain, Cloud Computing, Collaborative Tech, Digital, Edge Computing) by subscribing to dataottam.com blog.
Happy Reading, Happy Sharing !