Calibo enables developers to create UIs and APIs in minutes and deploy them to multiple platforms, including EC2, Kubernetes, or OpenShift.
In this blog, we will go through all the steps to create a React web app and a chatbot widget, along with an API using Spring Boot that integrates with the OpenAI API using the Spring AI integration.
By the end of this guide, you’ll have a comprehensive understanding of how to utilize Calibo’s capabilities to streamline your development and deployment processes across various environments in seconds.
In this use case, you will need an OpenAI API access key. For detailed information on obtaining this key, please refer to the OpenAI API documentation. The following diagram illustrates the architecture for this use case, which may appear complex at first glance.
However, with Calibo managing all infrastructure and CI/CD processes, the implementation is simplified.
In just a few clicks, you can have your Kubernetes Pods configured to handle internet traffic and prepared to integrate the business logic of your services seamlessly. This streamlined approach reduces the overhead of setting up and maintaining infrastructure, allowing developers to focus more on innovation and less on operational complexities.
First, you need to create a new product for your digital portfolio. The next screenshot shows the name and the phases defined for this product. In this post, we will focus on development and deployment.
The next step requires setting the policy template for this new product. The configuration of the policy template is beyond the scope of this post; however, this is a one-time setup. For this use case, we have configured the template (ai-chat-bot) to include React, Java Spring Boot, AWS EC2, and Kubernetes deployments.
These technologies are ready for your developers to use, along with all the environments where these workloads need to be deployed within your organisation.
Now, let’s create a feature within the product created in the previous steps. This feature will contain the UI and API we will implement.
The feature is ready, and new technologies can be added. In our use case, we will add React and Java Spring Boot.
As mentioned before, these technologies are previously configured. By selecting them, a repository will be created. Choose Java, Spring Boot, and Maven.
Now select React.
After clicking the “Add” button, you will be prompted to name your workloads and provide names for your repositories. Calibo will create these repositories and initialize them with Calibo code, so you only need to develop the API service and the UI.
Now you are ready to code your workloads. If you expand one of your technologies, the next screenshot shows the React UI technology expanded with two options: you can either clone the created `ai-chatbot` repository or start coding within Calibo.
You can do the same with the API, and both options are available.
Now let’s deploy these technologies to AWS. You can switch to the deployment view by simply clicking on the top navigation bar.
We will deploy these services on a preconfigured Kubernetes cluster. You can add new technologies to the EKS cluster by clicking on “Add technologies”.
For the API, we select the branch we want to deploy, the Kubernetes namespace, and the context path. In this screenshot, these values are shown, and the API will be available at `/ai-chatbot-api`.
Repeat the same workflow for the UI. The same values are required for the UI. In this case, the `/chatbot` context was set for this web application.
Now the workloads need to be deployed into the cluster. Each of them needs to be deployed separately by clicking on the “Deploy” action.
Repeat this action for the API as well.
At this point, both the API and UI are deployed and ready to receive requests. Calibo has efficiently managed all aspects of CI/CD, including setting up environments and abstracting away technical complexities.
By automating these processes, Calibo empowers developers to concentrate fully on their coding tasks without the overhead of manual deployment or configuration management. This streamlined approach enhances productivity and allows teams to deliver applications more swiftly and reliably.
In conclusion, Calibo’s comprehensive automation of CI/CD pipelines and environment configurations empowers developers to focus squarely on coding. By abstracting away the complexities of AWS and Kubernetes, developers can achieve their goals without needing specialized knowledge of these platforms.
This streamlined approach enhances productivity and accelerates application delivery, ensuring businesses can meet their development goals effectively and efficiently.
Want to learn more about how Calibo works? Explore our downloadable factsheet—it’s loaded with all the essential information about the platform, including key highlights, getting started, and the top benefits. 👉 Check it out here.
One thing I love about working in tech is that the landscape is constantly changing. Like the weeping angels in Dr Who – every time you turn back and look – the tech landscape has moved slightly. Unlike the weeping angels, however – this progress is for the betterment of all. (And slightly less murderous).…
Enterprises are feeling increasing pressure to integrate Artificial Intelligence (AI) into their operations. This urgency is pushing leadership teams to adjust their investment strategies to keep up. Recent advancements in Generative AI (GenAI) are further increasing this pressure, as these technologies promise to enhance productivity and efficiency across the organization. For example, Gartner™ expects GenAI…
Measuring developer productivity has always been a challenge in the software industry. Traditional metrics like committed code or merged pull requests provide some insight but often fail to capture the true impact of developers’ work. Consider this scenario: a developer merges just one pull request in a week, consisting of only one line of code,…
Embracing platform engineering is becoming increasingly critical in today’s digital landscape, where efficiency and automation are key drivers of success. However, many organizations still rely on traditional or manual approaches to software development, deployment, and operations, leading to a host of challenges that can impede progress and innovation. Without a platform engineering solution, teams often…
One platform, whether you’re in data or digital.
Find out more about our end-to-end enterprise solution.