So it’s been some time since I wrote a blog. As I was figuring out what my next blog is, how could I ignore ChatGPT, BARD and the AI excitement that it has brought about (or re-awakened among many of us). And then there is GitHub’s Copilot and AWS CodeWhisperer! Code assistants that can make us slightly more efficient developers.
So let’s ask ChatGPT and Bard to write a simple tech blog. This illustrates the possibilities for future. The question I asked both was – “write me a technical blog on pros. and cons of a serverless cloud architecture”. I asked the two AI apps the exact same question and took the responses that was produced first from each.
ChatGPT | Google Bard |
Introduction
Cloud computing has revolutionized the way software applications are developed, deployed, and maintained. With cloud computing, organizations can focus on delivering value to their customers without having to worry about the underlying infrastructure. Serverless architecture is a relatively new model of cloud computing that has gained immense popularity in recent years. In this article, we will discuss the pros and cons of a serverless cloud architecture. What is a Serverless Cloud Architecture? A serverless architecture is a cloud computing model in which the cloud provider manages the infrastructure and automatically allocates resources to applications as needed. This means that developers do not have to worry about the underlying infrastructure and can focus on writing code. In a serverless architecture, applications are broken down into small, independent functions that are triggered by events. Pros of a Serverless Cloud Architecture Reduced Cost Scalability Reduced Time to Market Reduced Maintenance Cons of a Serverless Cloud Architecture Cold Start Latency Limited Control Vendor Lock-In Conclusion Serverless architecture has many advantages, including reduced cost, scalability, reduced time to market, and reduced maintenance. However, there are also some drawbacks, including cold start latency, limited control, and vendor lock-in. Before deciding to use a serverless architecture, it is important to carefully evaluate the pros and cons and determine if it is the right fit for your application. |
Serverless Cloud Architecture: Pros and Cons
Serverless cloud architecture is a cloud computing model in which the cloud provider manages the server infrastructure and dynamically allocates resources to applications based on demand. This model frees developers from the need to provision and manage servers, which can save time and money. Pros of Serverless Cloud Architecture Cost savings: Serverless cloud architecture can save businesses money on server costs. This is because the cloud provider only charges for the resources that are used, which can be significantly less than the cost of owning and maintaining servers on-premises. Increased scalability: Serverless cloud architecture is highly scalable. This is because the cloud provider can dynamically allocate resources to applications based on demand. This can help businesses to avoid the costs associated with overprovisioning servers, and it can also help to ensure that applications are always available, even during periods of peak demand. Reduced complexity: Serverless cloud architecture can reduce the complexity of IT operations. This is because the cloud provider manages the server infrastructure, which frees up developers to focus on developing and maintaining applications. Improved agility: Serverless cloud architecture can improve the agility of businesses. This is because businesses can quickly and easily deploy new applications without having to worry about provisioning and managing servers. Cons of Serverless Cloud Architecture Vendor lock-in: Serverless cloud architecture can lead to vendor lock-in. This is because businesses that use serverless cloud architecture are typically locked into the cloud provider that they choose. This can make it difficult to switch to a different cloud provider in the future. Limited control: Serverless cloud architecture can give businesses limited control over their applications. This is because the cloud provider manages the server infrastructure, which means that businesses do not have the same level of control over their applications as they would if they were running their own servers. Security risks: Serverless cloud architecture can introduce new security risks. This is because the cloud provider manages the server infrastructure, which means that businesses need to trust the cloud provider to keep their data secure. Overall, serverless cloud architecture can be a cost-effective and scalable way to deploy applications. However, businesses should be aware of the potential vendor lock-in and security risks associated with this model. |
ChatGPT was a bit more verbose, but both models produced IMO a basic intro blurb. I did not like Bard’s security risk con. The statement from Bard is true for pretty much any Cloud service I use and not unique to Serverless. This is where the human judgement factor comes in, which is going to be really hard for AI to replicate. But I think this will become “good enough” very soon for a some types of workloads/tasks.
The evolution of GitHub Copilot and AWS CodeWhisper is super exciting to me. I feel the maturity of this tooling is a few years away (< 5 years). Hopefully I will not regret making this opinionated timeline. Where I see this going — I want to tell the AI a business use case like “build me twitter like social media application that will allow messages of 500 characters to be entered by authenticated users. I want users to be able to repost messages, mark messages as favorites. I want users to have the ability to log in using a OpenID compatible Identity provider (hint: please provide me the options). I want this to be deployed on AWS Cloud (hint: ask me for required AWS account information, resource and budget limits). I want this to be available on both iOS and Android devices as an app on the appstore. I do not care about the programming language you will use, but it must be able to scale to millions of concurrent user interactions. Build this for English speaking users as a first MVP.” … and so on.
What do I want to see as output from the AI. I can see this now generating the entire application with all best practices including for security. I see this AI agent submitting this app to another set of AI agents to test the application for security vulnerabilities. A feedback conversation between the two ensures the application is updated to highest standards. During the app generation, the generator AI agent will call on other agents to build AWS infrastructure, set billing limits, set up monitoring and alerts (to other AI bots and a few humans). The possibilities are endless IMO.
The obvious fear is, will jobs be eliminated. I do think the answer is a a cold , yes. Entire ecosystem of startups and engineers will be disrupted. But as with such innovations, new jobs will be created, ones we do not even know of today. Overall productivity will go up to build software and shift the human focus to more meaningful tasks. Its exciting times ahead!