Subhajit Das Cloud Native Development
Subhajit Das Cloud Native Development
1. Increase Efficiency: Cloud-native development brings along agile practices like DevOps
and continuous delivery (CD). Developers use automated tools, cloud services, and
modern design culture to build scalable applications rapidly.
2. Reduce Cost: By adopting the cloud-native approach, companies don’t have to invest in
the procurement and maintenance of costly physical infrastructure. This results in long-
term savings in operational expenditure.
3. Ensure Availability: Cloud-native technology allows companies to build resilient and
highly available applications. Feature updates do not cause downtime and companies
can scale up app resources during peak seasons to provide a positive customer
experience.
4. Deliver Unparalleled Customer Experience and Build Loyalty : Cloud-native apps help
organizations thrive in today’s highly competitive business world by delivering
unparalleled customer experiences.
5. Accelerate Time-to-Market: Faster release of applications is possible following agile
development practices.
6. Improve Operational Efficiency: It helps reduce the overall application development
and deployment costs.
7. Create New Revenue Channels and Increase Profit: Cloud-native applications can help
businesses create new revenue channels and increase profit.
8. Scalability: Cloud-native applications are designed to exploit the scale, elasticity,
resiliency, and flexibility the cloud provides.
9. Future-Proof Software Solutions: This approach allows businesses to create highly
resilient, future-proof software solutions.
10.Shared Ownership Among Software Stakeholders: The goal is always to increase
software delivery velocity and service reliability and to develop shared ownership
among software stakeholders.
2. What Are the Key Criteria Influencing the Choice of a Cloud
Platform?
The choice of a cloud platform is influenced by several key criteria. Here are the top 10 factors
to consider:
1. Define Boundaries: Start by defining the boundaries and capabilities of your application.
This will help you understand how much coupling you have within your monolith, which
represents the largest concern in determining how challenging the process will be for
this application.
2. Identify Coupling: Identify the areas of your application that are tightly coupled. These
are the parts of your application that are most likely to cause problems during the
transition.
3. Move to RPC: Transition from a monolithic architecture to a service-oriented
architecture. This involves breaking down your application into smaller, more
manageable services.
4. Define Data Ownership: Each service should have its own database to ensure loose
coupling and high cohesion.
5. Implement Asynchronous Messaging: Use asynchronous messaging to communicate
between services. This decouples the services from each other and allows them to scale
independently.
6. Existing Systems Assessment: Start by assessing the existing technology landscape and
breaking down the monolithic application into microservices.
7. Cloud-Native Architecture Selection: The next step is to select the cloud model
(public/private/hybrid), cloud provider (Azure/AWS/GCP), and container platform that
best meets your business needs.
8. Continuous Integration/Continuous Deployment (CI/CD): Implement CI/CD pipelines
for automated testing and deployment.
9. Monitoring and Logging: Implement comprehensive monitoring and logging to ensure
the health and performance of your applications.
10.Iterative Refactoring: Transitioning to a cloud-native architecture is an iterative process.
Start small, learn from each iteration, and continuously refactor your applications as you
learn more about your domain and the technologies you are using.