Rajalakshmi Srinivasan is Director of Product Management, at Site24X7, a Zoho product. In this article, she talks about Observability and revisiting SDLC when you adopt Observability.
When we talk about software development, we talk about client-server architecture. So, there was a server component and a client component, which was connected via a middle layer which is an API. We had both server and client in the same office, and we wrote code for everything. But with Web 2.0 almost 15 years ago, when the Cloud started picking up, you could have servers and clients in different locations and could connect through the Cloud. With the Cloud picking up, many public Cloud providers provide the backend, and you can connect from anywhere. But, all businesses still did not move to the Cloud. So, we have a hybrid environment, with some on the Cloud and some On-Premises.
We had a monolith architecture with all our business logic, data layer, and user interface as separate components, but all in one mega monolith. So, if one component failed, the entire system failed. From this monolith architecture, things have changed to micro-service architecture, where we have containers for each of these components. Each container is independent, so the system is at lesser comparable risk.
The next thing will be about Serverless. Companies can use functions and build an application.
This is a transformation that is in progress. APIs play a major role in all these transformations. APIs are the core for all cloud-based services, web, and mobile applications.
Cloud architecture has four different layers –
Top or End-user layer – It comprises browsers, mobile apps, or tablets, using which you connect to the underlying application layer, the software as a service layer
Application Layer – This is the layer where the business logic is hosted. If you are a business owner, you must focus more on this layer and leave the rest to the providers.
Platform Layer – Comprises caching servers, NoSQL servers, Queues, and micro-services.
Infrastructure layer – Comprises physical, virtual, and cloud servers, network firewall, load balancer, etc.
If a website or app is not working, the problem can lie in any of the four layers. As an administrator with the business on the Cloud, it is important to know what’s happening across these layers.
What will the future be?
Every business revolves around two sets of people: customers and employees. It will be people-centric. The focus will be on happy customers and empowered employees.
According to a Gartner survey, by the end of 2025, 50% of all new low-code clients will come from business buyers outside the IT organization. As per data.ai, in 2021, 435,000 apps were downloaded per minute. The app store spend was almost $170 billion. So, this is how mobiles are being adopted.
The industry is moving towards digital-first customers.
Also, employees are becoming remote-first. So, development processes followed in your organization must consider remote working.
So, the future of work the digital-first customers and remote-first employees. You must have the required tools in place so that you can take care of your deployment environment, as well as development from remote work.
Hybrid Work Environment
In a hybrid work environment, the focus is on –
- People – Collaborative and cross-functional teams
- Process – Automation, Integration, and Iterative model
- Products – Simple, AI-enabled, Experience-driven, Digital-first
Choosing the right set of tools for all your development needs in a hybrid work environment will help you keep up with what the industry is expecting.
SDLC and Observability
Observability revolves around three pillars –
- Metrics – Whatever you want to monitor, you must collect all the data for the relevant metrics. The three main metrics that you have to focus on are –
- Availability – All your resources have to be up and running
- Performance – It’s insufficient for your resources to be up and running. They have to be performing well; slow is the new down. None of us have the patience to sit and see a page that will take forever to load; we just refresh or move to some other page. So, performance is important.
- Security – Your application should be secure
- Traces – Once you know it is taking more time, you need to know exactly where it takes time. And that’s possible using tools. You can trace across all the platforms and get to know the line of code that is having an issue. When you choose a monitoring tool, make sure your tool can give tracing capabilities.
- Logs – Your tool should be able to convert unstructured data into structured data to allow you to study the logs.
So, choosing the right tool is important.