Know About the Newly Launched Serverless Developer Platform by Zoho
Launching any web application is not a one-man job; you can try, but it'll be a lot of work to handle at once. While building and deploying web applications, the control for HTTP requests is in our hands. Since these applications run on a server, so provisioning and managing the resources is up to the developers with authorization access. However, the process is not all smooth; there are a few issues we can face.
- Additional cost for keeping the server even when we aren't serving requests.
- Responsibility of maintaining the server and uptime of all its resources.
- Security setup and updates required for server on our end.
- Depending on the increase or decrease in usage scale, servers need to scale up and down as well.
For startups and freelance developers, this can be a bit intimidating and more than what they can handle. These issues can distract developers from focusing on the main job that is building and maintaining the actual application for which we are maintaining the server. Even in MNCs and large scale organizations, server maintenance is handled by the infrastructure team. For a smooth transition, we can not possibly work on the application without interacting and working with the infrastructure team. This is where serverless computing enters our life.
What is Serverless Computing?
Serverless computing, AKA serverless, is an execution model where the cloud provider dynamically allocates the resources to execute a piece of code. You do not need to pay for the whole process; only the resources used to run the code. E.g., if you ran a query to extract data, you'll be charged for that, not designing or developing. All the events like HTTP requests to database events, queuing services, scheduling alerts, file uploads, etc.everything triggers stateless containers where the code typically runs. These codes are usually sent in the form of functions. Therefore server-less is sometimes referred to as "FaaS" or Functions as a service. Since our code is going to be executed as individual functions, there are a couple of things and terminologies that we need to know.
The process of architecting the application in the form of functions is the biggest challenge. Instead of deploying the app as a single rail or express monolith app, a serverless world adopts a more microservice-based architecture. If you want to handle the routing yourself, you can run a single function as a monolith, but this is not recommended. It's better to reduce the size of your functions.
2. Stateless Functions
The functions typically run inside stateless containers. Functions are invoked in a new container every single time, and they are secure. This means that you won't be able to run codes that are executed post-event completion or use any prior execution context for any request.
3. Cold and Warm Starts
You might experience some lag, as the functions that we run inside the containers are brought up on-demand as a response to an event. This latency is referred to as a cold start. The containers might be kept for a while, even after the function execution. Parallelly if you raise another request or another event is triggered during this time, it might get completed first. This fast processing is known as warn start.
The duration of the latency, or cold start as we know it, depends on the implementation of the cloud service provider. It can range between a hundred milliseconds to a few milliseconds. Language, runtime, size of the package( function) also play a huge role apart from the cloud service provider. Over the years, cold starts have been optimized and improved tremendously.
Pro tip: To keep the start warm, you should separate the scheduled function from invoking your function.
We hope this gave you a basic idea about what serverless computing basically it and how it works. Let's dig a bit deeper for better understanding and how it came into being.
9 years ago, the serverless computing idea was portrayed as an interesting buzzword for enterprises, developers, and IT product makers. Back then, not a lot of people understood the meaning of serverless or its potential/impact it will have on the market in the coming decade.
In serverless computing, there is indeed a server, as opposed to what the name suggests. It is also known as FaaS (function as a service), where the user is not supposed to maintain the server. It gets the work done in a scheduled manner without the developer being physically present to oversee the work or heavy lifting that should be done by the server.
Serverless computing is a cloud-computing execution model. Here the cloud provider is responsible for running the server and dynamically managing the allocation of machine resources. The number and times of resources consumed by an application decide the pricing. Think of it as a utility computing instead of pre-ordering units of capacity.
Related Post: Advantages of Cloud Services in Long Run
Platform-as-a-Service for Serverless Development
Zoho Corp. is a 22-year-old, California-based private company. It has a global clientele and has developed a suite of 45 cloud-based business applications and runs its own cloud. They recently announced the release of Catalyst, a new-generation cloud platform-as-a-service. Catalyst allows the developers to create, run microservices, and custom solution applications with serverless computing.
Think of it as an Operating system for businesses with 3 layers: Application, platform, and services. Catalyst is designed to provide increased efficiency to developers. It allows developers to access now the services and frameworks used by Zoho's 45+ applications.
Because of Automation, no admin provision or server management is required to run codes via Catalyst. With the advancement in technology, it has become easier to tailor OS, services, and applications to meet unique customer requirements, especially in the IT department.
How It Works
As mentioned above, Zoho has launched Catalyst to manage scaling problems, robust infrastructure, operating costs, and time consumption for developers. Building full-fledged applications without server management seemed too far stretched a dream tom come true. Developers can build test and deploy apps without focusing on servers.
Infrastructure— you don't see it, but it's everywhere
Focusing on the main goal instead of managing the resources for it can make a huge difference in the output. For an amateur app developer, Zoho makes it possible. They don't need to worry about any issues related to or managing servers. Zoho creator is a low code system that helps in building on-demand apps without backend complications.
There's no need to troubleshoot hardware, perform manual upgrades, or run any software patches. This doesn't mean that there are no servers, the applications will still run on them, but everything is taken care of by ZoHo. To give you an example, think about wifi, there are wires somewhere. Similarly, the physical location of servers is not an issue in the case of serverless systems. Via cloud computing, we can use it anywhere we want and create applications with a seamless process.
Availability—no more crashing and burning
Crashed servers are bad regardless of a company's size or type. For startups, it might be the result of instant fame or viral content that causes traffic influx, and as a result, your setup might crash. But if the same happens again, it'll be bad for business. As far as big companies are concerned, an outage will cost you users and a lot of revenue loss.
Serverless platforms like Creator are always prepared for traffic. It is designed, and it helps develop the app in such a way that it is on alert 24 x 7 in case of any traffic fluctuations. Geographically isolated data centers help to reduce potential downtime as they are designed for quick recovery. This makes sure that users never lose access, and the applications perform flawlessly at all times.
Security—uncompromising data integrity
Security is always a topic of concern for businesses while going serverless. With Zoho Creator, the applications and data are completely secure in the cloud. It has powerful cyphers, and best-in-class encryption, well-established firewalls, intrusion prevention systems, SOC2 certification, and TLS 1.2 This make sure the only authorized person can access the data.
Scalability—always be prepared
The internet world market demands change. To keep up with the dynamic demands, we should be equipped with infrastructure that's strong enough to handle it. Zoho Creator is a server platform that can keep up with any amount of business growth. It analysis the real-time traffic needs, and the network traffic is efficiently distributed across servers with the help of fast-acting load balancers. This way, the application keeps up with the transactional and operational business.
Bills—the smaller, the better
Nobody likes to pay bills, especially when you have to pay for more than your share. Where traditional servers and systems are concerned, payment for resources not in use along with server and internet traffic is common. However, in serverless systems, follow "you only pay for what you used" strategy. Also, the applications are running on multiple servers, so it reduces computing time, maintenance, electricity cost, cooling time, and other additional charges associated with having a server. Long story short, instead of wasting thousands of dollars on hardware and maintenance, you can use all that on new resources e.g., if you need a kickstart with marketing, have you thought about outsourcing to India? You should. These new resources will be dedicated to building, improving, and running the applications smoothly.
Key Features of Catalyst:
For a piece of deep-dive information, we have listed some of the key features of Catalyst:
Business Oriented Microservices
- Grammar and Diction: This microservice is more like a personal copy editor or proofreader for anyone writing content. This allows the developer to create a marketing application with Grammar and Diction capability integrated with email campaign drafts.
- Data cleansing: To get a large volume of cleansed output, user-specified rules are applied in this microservice to parse large volumes of raw data, which can be consumed by other applications or services. Zoho CRM imports data files with lead information to remove anomalies like duplicates or incomplete data.
- Document previews: To render files in multiple formats, this microservice acts as a document viewer. Zoho WorkDrive uses a preview engine that displays documents in more than 160 formats, including Xls, pdf, Docx, to name a few.
- Zia: Utilizing Zoho's AI-powered assistant for business, Catalyst can open up machine-learning services for developers. This includes OCR, anomaly detection, sentiment analysis, and prediction builder, etc.
- Mobile App Development: To create fully customizable mobile applications, Catalyst provides SDKs to developers for mobile app development services.
Developer Enablement Capabilities
- Developers can easily access data from Zoho applications and hundreds of third-party apps with the help of Zoho's Unified Data Model.
- It enables developers to access APIs for all services remotely.
- A robust Command Line Interface (CLI) and Integrated Development Environments (IDE) are also included in the offerings.
Security + Privacy
- Developers using Catalyst have the authorization to access Zoho's privacy and security standards, such as GDPR compliance, as well as ISO 27001 and SOC Type II certifications.
- Developers can also use Zoho's identity and access management framework to secure accounts of all Zoho users.
- Granular, role-based access controls, and multi-factor authentication can also be leveraged.
No matter how many functionalities a software vendor builds into the application, something will always be missing. But Zoho's cloud-based business suite now offers more than 45 different applications. This allows users to design their own functionalities with serverless capabilities.
Zoho is simply opening up its underlying stack to developers, emphasizing that the vendors do not always need to build their own stack from scratch. Rather than following the more common route among SaaS application vendors of using public cloud infrastructure.
The approach Zoho takes is a full-stack approach. Zoho has planned to expand Catalyst significantly in the future as it is currently available on limited release. Pricing is not public at present, but it is flexible and aggressively competitive with SLAs.
Additional pro code options
- Backend services with structured and unstructured data storage, along with listeners and schedulers, to trigger or schedule tasks.
- Zoho consultants and developers have a range of programming languages to choose from while working on server-side functions e.g., Java, Node.js, and Python.
- Microservices that provide application-level functionality such as object detection and OCR initially, and system-level services such as sign-up, authentication, push notifications, search indexing, and emailing. The service range is set for rapid expansion to include anomaly detection, predictive analysis, grammar and diction checking, and document previews, too.
- Tools for web and mobile SDKs and APIs, command-line tools, sandbox environments for testing, and real-time performance monitoring and reporting.
To interoperate with Zoho's low code and no-code development tools like Creator, Flow, and Orchestra, Catalyst has provided a pro-code option. This gives the developers the freedom to drop into Catalyst and add any functionality they couldn't make with the existing tools.
While creating any app with Zoho creator, if the developer gets stuck somewhere and there's no way out, you switch to Catalyst. Write your code, save it as a microservice, and plug it in. If the developer faces any issues even after switching to Catalyst the Catalyst will help plugin other resources required for smooth operation and transition. These include a bridge application for bug-filing, an app that can be used to import users into a cloud CRM solution, a microservice for lead distribution, and a data-cleansing micro-service.
The move to bring and support third-party extensions on its platform is quite significant. This step has expanded its offering to a larger mid-market with significant in-house developer resources. The introduction of Catalyst has provided developers and partners more scope to build IP on their own platform.
The infrastructure that Zoho has built over the last several years is now being exposed, and they are launching the complete platform in one go. It's obvious that iterations and additions will be done over time. Instead of throwing 50 different disparate services out there Zoho is bringing everything together so that we can develop a mobile or web app from a single interface. And the company's very deliberate approach with its focus on server-less will allow Zoho Catalyst to compete with its larger competitors.
With Zoho, worrying about servers and accommodating them is the thing of the past. It is a bold move, and we believe Zoho knows that it's playing a long-game here.