Thursday, 5 March 2015

Can Continuous Integration be verticalized?

I have been working on helping our customers implement DevOps for some time now. The core to it is the concept of Continuous Integration and Deployment to help manage changes effectively while not compromising on stability or quality.
While the concept of Continuous Integration/Testing/Validation has become a de-facto standard in almost all software engineering teams, it is still a concept that need to take shape in other groups. Which are the groups I am talking about? Let me pick a few where I found their relevance but still they are at their infancy.
1. Fraud Management: Fraud Management is a big area where the transactions are analyzed post actual transactions to detect any fraudulent transactions. The issue with this has been that by the time the transactions are analyzed and a fraudulent transactions are found, it may sometimes be tool late for the culprit to be caught of even to derive any significant value out of the finding. If a CI concept is brought into this and allow the core transactions to go through while running the fraud validation/analysis in parallel, you could quickly start filtering good and fraudulent transactions in a very quick way.
2. Concurrent Audit: An audit which is performed one day after the actual transaction to ensure that all of compliance are validated is another great application of CI.
3. App Store certification: When millions of developers start creating apps for an app store, a continuous validation and then certification need to be performed to allow a quick acceptance or rejection to provide a quick feedback to the submission.
The examples and use cases can go on, but the pattern is very clear, any time you want something to be done near real time without affecting the main transaction, this can be a great concept to be considered and deployed.
Pulled from my article in linkedin

The Magic "DevOps" button

It has been a while since I have blogged. It just we are crazily buzy and some thing had to take the toll. But here I am, more fresh and with more experiences to share. Here I go.

In a recent discussion with a DevOps expert, I was asking him what is that dream you want to achieve as a DevOps engineer. His answer was quick. "Culture apart, I need this - big and bold - button called 'DevOps'. Development teams click on it and it does all the magic."

I thought that was a very nice abstraction of the DevOps dream. If it could find magically who the user is and manoeuvre him through what he wants to do, it may bring a good amount of simplicity to him. A great way to bring self service!

To make that happen, there is, of-course a ton of automation that need to go into the button, but is that it? Will DevOps end in extreme amount of automation so all can be bundled in a button? That got me thinking.

The questions come really after clicking that button.
- Who clicked on that button?
- How was he allowed to click that button?
- What is the history of the click?
- Should he be allowed to click the button in the context he is in?
- What did he pass when he clicked the button?
- Does everyone know he clicked the button?
- What is the overall quality of the click?
- How often does he click the button?
- Has he clicked the button now and something is going on?
- and the list goes on.

All these questions help one to ensure, when a person ends up clicking this button, he does not in-advertantly end up doing something which he should not be doing. With the "power" of such a button, comes a a whole set of responsibilities.

These set of responsibilities led us to believe that DevOps need more than a button, it needs a platform to help end consumers leverage automation effectively.

Leaving culture apart, automation is key to DevOps but what is more important is to orchestrate these point automations to reach a common goal of DevOps, which is constant and consistent updates to applications and environments.

We continue on that course of-course.

Wednesday, 4 February 2015

3 Takeaways for an Entrepreneur from this Super Bowl Classic!

The recently concluded Super Bowl became an instant classic – one that will be talked about for the ages. It all came down to the wire, to that 1-yard, that 1 throw and that 1 play call decision. I want to share as an entrepreneur, 3 takeaways that I got from this Super Bowl and how we can apply it as we continue on the road to building our start-ups.
* Keep it simple by staying true to your identity – the final play call decision by the Seahawks was the most talked about & will be debated for a long time. And it was because; a very important decision was made not based on core strength and identity. As we build our start-ups, knowing what is core to us and staying true to that, no matter if we win or lose, will keep us in a better position because we executed based on our strengths & identity.
* It is All about the Team – when Marshawn Lynch, the best running back in NFL was asked if he was surprised the ball was not given to him to power through 1 yard (3 feet) to win the Super Bowl, he said “No, because football is a team sport”. And so are start-ups. So no matter how things are shaping up, we got to support each other and if the team believes that, no matter the roller coaster or the pivots, we will execute better.
* "Every setback has a major comeback" – this was the tweet from Russell Wilson who made the ill-fated final throw that ended the game. It is about being mentally strong, a positive approach that defines a leader or an entrepreneur – it is all about focusing on what is next and how you can get better during the heartbreak which entrepreneurs go through just like great champions. Because entrepreneurship is a marathon and not a sprint.
#GoHawks #GoCloudMunch

Wednesday, 29 January 2014

Announcing Continuous Cloud Delivery to Azure

CloudMunch Brings Open DevOps to Microsoft Windows Azure Cloud
Major Step Forward for Application Portability; Software Teams Get New Options for Cloud Deployment

SEATTLE, WA & BANGALORE, INDIA – 28th January 2014  – CloudMunch, the DevOps management platform provider, announced today it has integrated its DevOps platform with Microsoft Corp.’s Windows Azure cloud platform.  Developers and IT operations teams can now utilize the CloudMunch Open DevOps Platform with their preferred tools for fast and easy continuous delivery of applications to Windows Azure instances. The integration builds on CloudMunch’s existing continuous delivery ecosystem, giving developers a full range of options to place the right workload on the right cloud based on technical and business needs.

“We have been using CloudMunch for continuous delivery to Amazon Web Services for a year,” said Mahesh Nayak, CEO of eSparsh, “When eSparsh undertook to move to Windows Azure, it was seamless, thanks to CloudMunch open DevOps architecture, and today we are operating on and deploying to Windows Azure with ease.  Continuous cloud delivery is a game changer for how quickly we can serve clients and CloudMunch is our DevOps platform of choice.”

“Windows Azure is an open, flexible, and scalable cloud platform that enables developers to bring innovation to market faster,” said Vibhor Kapoor, Director, Windows Azure Product Marketing, Microsoft. “CloudMunch provides a comprehensive Open DevOps management platform with streamlined deployment and delivery of applications to Windows Azure, bringing greater agility to deployments. We are delighted to work with CloudMunch and valued customers like eSparsh.”

The CloudMunch integration with Windows Azure makes it easier for the larger Microsoft community to take advantage of Open DevOps and represents CloudMunch’s latest advance in realizing its promise of Open DevOps and application portability.  With developers seeking to match infrastructure with workloads for peak utility and economic benefit, CloudMunch now makes it painless to move applications from existing deployment environments, including on-premise, managed hosting, or cloud Infrastructure-as-a-Service (IaaS), to new destinations such as Windows Azure.   Windows Azure joins Amazon Web Services, OpenStack IaaS clouds, and Cloud Foundry Platform-as-a-Service (PaaS) as continuous delivery options for CloudMunch customers.

“At CloudMunch, we know it’s about choice, so we focus on giving development and operations the freedom to choose the best tools and cloud IaaS for their applications.  We are excited to offer Window Azure for our customers who choose the Microsoft cloud ecosystem,” said Pradeep Prabhu, CEO CloudMunch. “CloudMunch unites various Dev and Ops workflows with an even wider array of Dev and Ops tools into a powerful DevOps management platform to facilitate cross-team and any-cloud continuous delivery.” said Prasanna Raghavendra, CTO CloudMunch.

CloudMunch enables customers to orchestrate the entire DevOps process with their preferred tool chain, allowing them to move application and infrastructure code from source repositories to testing and production environments. The CloudMunch platform provides a plug-and-play framework that ties together the various application delivery components with an ever-wider variety of developer and ops tools.  CloudMunch confers major application agility enhancements and productivity gains on IT teams of all sizes. Features include:

·       Customizable Software Delivery Progression Workflow ensures that application and infrastructure software builds go through all checks and balances in a transparent way from development, test to release.

·       DevOps App Builder makes possible rapid creation and deployment of new apps, integrations, tests or deployments. Apps are discoverable, context specific, and ready for self-service usage.

·       Hybrid Cloud Application Deployment, enables deployment across public/private/hybrid cloud with hybrid cloud application architecture

·       Project Level Self-Service Provisioning lets project teams control the usage and management of infrastructure at the project level rather than having operations do this at organizational level.

·       Integrated Open Dashboard gives code progression project visibility and alerts to project managers, testers, operations, and developers.

·       Cloud Scale DevOps Engine enables deployment and continuous integration with enterprise class scalability and performance, enabling master-master and master-slave clusters.

Tuesday, 26 November 2013

CloudMunch enables continuous deployment using Cloudfoundry

Really excited to announce our integration into Cloudfoundry. It indeed opens up various possibilities for our customers to leverage an industry leading PaaS and quickly configure their continuous delivery set-up.

Here is the blog authored by Rosmi, our expert developer on how to quickly get onto deploying into Cloudfoundry using CloudMunch pipeline.

As always, send in your feedback.

Thursday, 21 November 2013

DevOps + PaaS = Best of Both Worlds

Announcing CloudMunch <> Cloud Foundry Integration

Today, we are excited to release our CloudMunch integration with Cloud Foundry. This is an important milestone in delivering on our vision of an Open DevOps management platform that brings together the best tools for dev & ops depending on application/business needs.  If you are wondering why DevOps should integrate with PaaS or you are thinking “why do I need DevOps when all I need to do is a Git push to Cloud Foundry” then read on….

DevOps is essentially about Automation, Control & Flexibility while PaaS is about Automation, Convenience & Productivity.  But the end goal is the same: Application Agility & IT productivity.

At CloudMunch, our vision is to let you choose the Dev & Ops tools best suited for the application/business need by providing a plug & play cloud application lifecycle management platform.  Here is how:
  • Automation of all the dev & ops processes – Build, Test, Deployment, Monitoring
  • Collaboration – seamless flow of real time data & updates to enable Dev, Test & Ops to be on the same page, every time, all the time
  •  Orchestration & Release Management – automated, customizable workflows and environments between Dev-Test-Staging-Production
  •  Cloud Delivery – auto deployment and auto scaling of application

Continuous Delivery with CloudMunch & Cloud Foundry

  • Continuous Integration with Jenkins Power but without the complexity
    • Do Continuous Integrations to build and test in the Cloud or on-premise with Jenkins power but without the complexity
    • If you are already use Jenkins, connect to CloudMunch to create a continuous deployment pipeline of your Build
    • 1 click integration with Github, Git, Perforce, SVN, Maven
    • Automatic  deployment of successful builds to Cloud Foundry

  • Do Continous Delivery in the cloud or on-premise
    • Build & Test environments are ready in the cloud - no waiting for hardware purchase and configuration
    • Freedom from maintaining Build infrastructure
    • Unlimited capacity for CI builds & application deployment - scale resources up and down as needed
    • Simple subscription model for what you use in the cloud or on-premise

  • Polyglot & Plug & Play
    •  Improved productivity for developers - get coverage for the complete build-test-deploy cloud lifecycle for Java/PHP/Java Script/Ruby/.Net
    •  Support for testing Chef scripts and Bosh scripts in the same testing/deployment  pipeline & environments
    • Plug & Play with any Dev & Ops tools to create a continuous delivery pipeline of both application code and infrastructure code

  • Log-in with Cloud Foundry credentials with 1 click
    • Cloud Foundry developers can sign up using their existing Cloud Foundry account
    •   Using OAuth-based access, CloudMunch can deploy applications directly to Cloud Foundry in 1 click!
At CloudMunch, we have been executing on our vision for last 2+ years of providing a open devops management platform that brings  together convenience,  productivity, flexibility & control  to deliver application agility and IT productivity. The specific tools, paths and deployment models you use should be based on application requirements driven by business needs. So you may have an application where Flexibility and control is most important whereas another where convenience and ease of deployment is critical.  And we see Cloud Foundry PaaS as an industry leading platform for deploying and scaling applications and we are excited to announce our partnership to bring DevOps & PaaS together. Sign-up for a free trail to experience the best of both worlds.

Wednesday, 9 October 2013

Focus on Code? What do you mean?

I should say that our tag line "Focus on code, CloudMunch the rest" has definitely caught the eyes of quite a few. During one of these client sessions, I was grilled on this tag line which led me to write this article. The question is, "In a ideal world, what should the focus of an engineering team and what are the things that should be expected as a given to have this razor sharp focus? In other words, how does CloudMunch help to attain this razor sharp focus?"

I took a stab at this, and I found that the answer is in what phase of the development phase you are in. I see the companies growing from a start-up into an SMB and then into a Enterprise. The picture below depicts our view on the focus and the enablers needed for this focus. I should further clarify that the name of the phase is more a maturity view, rather than the revenue they generate.

For a start-up the focus should be on functional scalability. They need to ensure that they can run the fastest in implementing the features. This is very crucial to either catch-up a competitor or run so fast that others cannot catch-up. During this period, the enablers needed are really the distracting dev-ops support. At this stage, it does not matter what tools as long as a basic set of automation requirements are met - mainly because the team is small core team and can self service themselves as long as a platform has those features. Also at this stage a small service to support DevOps requirements on top of the platform may play an effective role. We, at CloudMunch, call this as "No-Ops service".

As and when they mature, they would have caught up on functionality or would have a feature-functionality that is meaty enough to come out of a severe rat race. At this stage, they need to focus on what we call as technology scaling. They now will have sufficiently large number of customers to ensure they can be scaled to the heights together or singly depending on the kind of service they provide. At this stage, we find that the distractions come in way of adding more project (aka modules for the products), adding more people (aka skills) into the system. At this stage, a good supporting system will be to provide a platform which can plug into an already running system, and provide a system through which on-the-job learning can be effected. These two are services are something that we do carry in our "CloudMunch pro model".

As the maturity up goes further, the focus now need to be on scaling better ideas to ensure there is a step value increment that the product can offer. We also find that the team now would have become large, skill crunching would be happening and that the product has hit prime time. Due to these, the distraction normally comes from the fact that each team is using a different way of development, hence needing a standardization exercise. Also, there is a need to understand who is best to work on what modules so a better optimization of skill allocation can be performed. These two distractions are addressed in our "enterprise version" to allow large customers to standardize their Dev-Ops process irrespective of the tools being used by various teams and also plug-in meta data for the changes that are happening to provide inputs for optimizing skills.

So, when we say "focus on code, CloudMunch the rest", we mean, focus on the areas you need to focus and we take care of all your distractions. Thoughts?

Courtesy pictures: