As you all know i am an AWS FAN BOY!! for this year AWS Summit we have done a really cool session that how we are using AWS Developer tools and how we are using alexa with our practices.
Mainly we did talk about
- What are the challenges we had?
- How AWS solutions and services helped us to satisfy our requirement?
- Integrating Amazon Alexa Skill to AWS CodePipeline.
What are the challenges we had?
• Lacking a standard CI/CD platform
We were using a Jenkins server to do the deployments for all the applications and the services. One of the main challenges was a proper CI/CD platform. Our app stack is running on multiple languages such as Golang, js , python and some php as well. Setting up a CI process for each was not easy task.
• More manual human interact workload for deployments
There are more human interactive manual tasks when we have to do deployments and executing post build commands. There are more downtime and hard to roll back the deployments.
• Highly vulnerable security issues and trouble with keeping the secrets
As a best practice we should not commit the db and other configuration files to the repos. It is highly vulnerable. Once we created the container image need to setup separate scanners for scan the image. Which is extra effort.
• Trouble managing the infrastructure
Managing the infrastructure changes for the deployment was a huge trouble.
• Hard to isolate the bottle necks of the application/services hence no proper observability
In the DevOps culture Observability taking a pivotal role. Which is really Important to integrate all these into the CI/CD setup. Without proper traces and logs hard to identify the application bottlenecks.
How AWS solutions and services helped us to satisfy our requirement?
As we all know that AWS having 170+ services and tools and much more to come. This is our Electrify Stack and all the AWS services we are currently using.We are using all the Developer tools, and which helped us to satisfy our requirements.
Our application is a Data intensive service which needs services such as Redshift data warehouse solution. PostgreSQL on Aurora helping to scale our application when we need more replicas for run the applications smoother.
For analytics and for data pipelines Kinesis, glue services are best solution we got from AWS.As I mentioned earlier, we had huge challenge maintaining the secrets, db credentials for the application. AWS Secret manager made it easier and safer.
We know that we have to deploy things faster. break things over and over again. to make that process streamlined, we came up with this solution.
We have deployed a fully automated pipeline. Saved our cost and time. No more manual interactions as everything is fully automated. ECR is supporting inbuild image scanning hence we don’t have to worry about the security side.
Setting up an opensource system such as Jenkins to build your code, you have to go through a lot as install all the plugins and configure. But AWS Codebuild is really east to you in a single file you can write what you have to do and mention the required runtime. AWS Codebuild will do the needful.
Deploying and Setting up a Kubernetes cluster is not an easy task, but we can create a Kubernetes cluster within few minutes on EKS. Since we are using all AWS services role-based permissions made the setup easy and more secure.
All the RDS Db credentials are securely stored in AWS Secret Manager, application can access securely.
When it comes to Observability AWS Container insight and CloudWatch made our life easier to monitor, Observe the bottleneck and check errors where we can improve our application to a standard level.
So, this pipeline made our developers life easier as no need to worry about the CI/CD, they can focus on their code instead. These tools helped us to practice a good DevOps culture at Electrify.
We didn’t stop from only the pipeline and we made it more interesting by integrating Alexa with AWS Code Pipeline.”
Ok please check the below link to watch the Summit video on-demand. Its on (L300 – 400) Track 6 CI/CD at scale: Best practices with AWS DevOps services (Level 300 — Advanced)
Its available on YouTube now : https://www.youtube.com/watch?v=Ye97PzU59Us