Accelerating app development lifecycle with managed container platforms, Firebase and CI/CD
Mirabel Tukiman
Customer Engineer
Arpana Mehta
Customer Engineer, Application Modernization
We understand that for startups in the build phase, the highest priority task is to continuously ship features based on your users' needs. There are three main focus areas when building applications:
Development: When it comes to development, focus on tasks that make your app unique by offloading backend setup and processing to someone else. For example, instead of setting up your own API servers and managing backend services, Firebase offers a managed experience.
Hosting: Once you've built your app, the next step is to host it. Containers have become the de facto way of packaging applications today. You can easily run your containers in managed environments, such as Google Kubernetes Engine or Cloud Run.
Improvements: A one-time deployment is not enough. Growth is about taking in feedback from the market and improving our applications based on the same. We recommend incorporating CI/CD and automating improvements in your software delivery pipelines.
In this blog post, you can learn more about the tools that help you with the above three focus areas.
Develop apps faster by shifting focus to business logic with Firebase
In a traditional app architecture, you would need to set up and manage an API server to direct requests to your backend. With Firebase, you can easily add features in your mobile or web app with a few lines of code, without worrying about the infrastructure. The products on Firebase help you Build, Release & Monitor, and Engage.
Doing so will allow your teams to:
Add features like authentication and databases with only a few lines of code
Understand your users and apps better using Google Analytics for Firebase, Crashlytics, and Performance Monitoring
Send messages to engage your users with Firebase Cloud Messaging and In-App Messaging
With simple-to-use cross-platform SDKs, Firebase can help you develop applications quicker and reduce your time to market, improve app quality in less time with less effort, and optimize your app experience. Find out how you can put together these building blocks in our video on Working with Firebase.
Host apps easily with managed container platforms on Google Cloud
For startups who are looking to utilize resources better, containerization becomes the next step. With our investment in Google Kubernetes Engine (GKE) and Cloud Run, Google Cloud gives you the freedom to build with containers on a tech stack based on open source tools like Kubernetes, Knative and Istio. This means no vendor lock-in for you.
Google Kubernetes Engine
We understand that our customers are looking for autonomous and extensible platforms that are expertly run. GKE gives you a managed environment to run applications, simplified consoles to create/update your clusters with a single click, and lets you deploy applications with minimal operational overhead.
Google manages your control plane, and 4-way autoscaling gives you the option to fine tune to get the most optimized utilization for the resources used.
These best practices are applied by default with the second mode of operation for GKE – Autopilot. It dynamically adjusts compute resources so you don’t have to worry about unused capacity and you pay only for the pods you use , billed per second for vCPU, memory and disk resource requests. This means that you can reduce operational costs, while still optimizing for production and higher workload availability.
Head to Compute with Google Kubernetes Engine to quickly get started with GKE.
Cloud Run
Cloud Run lets you run containers in a fully managed serverless environment and gives you the ability to scale down to ‘zero’ when there are no requests coming in. It is a great fit for stateless applications like web frontends, REST APIs, lightweight data transformation jobs, etc.
There are 3 steps to any Cloud Run deployment –
- Create a build using your source code.
- Submit the build to store it in a container registry.
- Deploy the application using a simple command.
This process is very similar to the usual steps followed for deployments on other platforms but what makes Cloud Run special is that all of this can be achieved in one single command – `gcloud run deploy –source . `
Watch this in action in the video to Get started on Cloud Run
Improve and iterate more often with CI/CD solutions
Software systems are living things and need to adapt to reflect your changing priorities. Continuous integration/Continuous deployments (CI/CD) as the term suggests, means that you are adding code updates and deploying them continuously.
Our developer’s time should be spent writing code, so CI/CD steps should be triggered and run in the background when code is pushed. Let’s look at the components of a CI/CD pipeline and how Google Cloud tools support them –
Cloud Code integrates with your IDE and lets you easily write, run and debug your applications.
Cloud Build lets you run your build steps to package and deploy your applications on any platform on Google Cloud. You can set up triggers to start builds automatically.
Artifact Registry is where we store the intermediate artifacts created during a build. Container images stored here can be used to create newer deployments to other platforms as well.
Cloud Deploy automates the delivery of your updated application to target environments specified by you.
Both Cloud Run and GKE come integrated with Cloud Operations Suite so you can monitor your application for any errors or performance issues.
We know that you want to deliver bug-free features to your customers. So when you are shipping code, consider how a CI/CD pipeline can help you catch performance issues early and improve developer workflows. To set up your CI/CD pipeline on Google Cloud, refer to CI/CD on Google Cloud.
Stay in touch for more
The Google Cloud Technical Guides for Startups series has many more detailed videos and resources to support you on all steps of your growth journey. Check out our full playlist on the Google Cloud Tech channel and handbooks and sample architectures on our website. Don’t forget to subscribe to stay up to date. If you’re ready to get started with Google Cloud, apply now for the Google for Startups Cloud Program.
See you in the cloud.