JAX DevOps Blog

JAX DEVOPS BLOG

JAX DevOps, 3-6 April 2017
The Conference for Continuous Delivery, Microservices, Docker & Clouds

14 Mar 2017

Succeeding in the Cloud

Succeeding in the Cloud. Illustration from: shutterstock

Steve Poole guides us through the cloud by defining the dos and don'ts, and sharing with us the tools that soothe the transition to the cloud. Plus, he explains what your team needs to apply for proper issue management.

JAX DevOps: What’s your experience with moving applications into the cloud?

Steve Poole: Pretty various. I’ve moved my own applications as well as department scale ones. I’ve consulted on or lead a range of customer engagements and IBM’s own internal efforts. So a wide range from 1 user application to 100K user applications.

JAX DevOps: What are the dos and don’ts?

Poole: The major ‘do’ is: Do have a clarity of purpose. Be clear on what the objective is in moving the application. There are significant benefits in moving to the cloud, but there are consequences and imperatives too. For instance – if your objective is to enable dynamic scaling then be prepared to go through significant application re-engineering. If you want to simply cloud burst using a hybrid cloud model then make sure you understand network capacity and traffic between on-prem and cloud based components. In the ‘dont’ category it’s simple – Don’t try to do it all at once. Moving an application into the cloud requires learning a wide range of new skills and technologies as well as having to deal with the inherent ‘everything fails all the time’ aspect of cloud computing. Do it all at once and you’ll fail. An analogy would be like emigrating to a new country. Out of choice you wouldn’t do this by simply buying a plane ticket. You would do research and make exploratory trips. You would talk to people who’ve done this before you. You know its going to be difficult and challenging in any case but you can make it less likely to be so if you have some information and experience before taking that big step.

Do it all at once and you’ll fail.

JAX DevOps: Do you have some tips and tricks you’d like to share with us?

Poole: The main tip is ‘start to play with Infrastructure as Code’. By that I mean try out Docker, Vagrant, Chef, Puppet, Ansible etc. Pick one and play. The important element is to understand the concepts, benefits and restrictions of ‘Infrastructure as Code’. Deploying to cloud requires you to have a grounding in the deployment and configuration tools that are used. Whether a developer or an IT person, you need this skillset.

The important element is to understand the concepts, benefits and restrictions of ‘Infrastructure as Code’.

JAX DevOps: How can one succeed in the cloud? What are the key elements? How about the pitfalls?

Poole: It all starts with Continuous Integration and Automated Testing. These should be combined in a Pipeline that automatically deploys the generated artefact to production. Add support for feature toggles to separate deployments from releases. Then, align the business and start implementing Hypothesis Driven Development to drive (business) goals based on concrete (market) data.

JAX DevOps: What are your favorite tools and services right now, that help you avoid a disaster in the cloud?

Poole: My all time favourite tool for helping make the transition of an application and its supporting development and IT team is <a href=”http://dashing.io/”> Dashing</a>. When I moved into a DevOps IT lead role in IBM I created a team that had one mission: “Be First to know”. I asked them to create a way to ensure that service owners would be the first to know about issues in their service. We needed a way to present clear, precise and actionable service health indicators. The luxury of time was fast disappearing and toleration of service outages was reducing rapidly. This team created simple and obvious dashboards for service owners using Dashing. It was so successful because it’s easy and fast to use. If you walk around the IBM Hursley Laboratory today you will see many large screens with dashboards that owe their existence to that team. In fact the idea went viral and you can find dashboards about all aspects of development process being displayed. Getting teams who to want to be ‘first to know’ and then being able to see and action issues is a fundamental aspect of avoiding disaster.

When I moved into a DevOps IT lead role in IBM I created a team that had one mission: “Be First to know”.

JAX DevOps: What should participants learn from your session?

Poole: Hopefully they’ll understand where some of the obvious (and less obvious) pitfalls are in migrating an application to the cloud. There are patterns and anti-patterns of deployment and execution that are becoming more obvious and I’ll share some of those with real usecases and experiences where feasible.

 

JAX DevOps talks by Steve Poole
Succeeding in the Cloud – the guidebook of Fail
Wed. 05 APR 2017,
15:10 – 16:00

Behind the Tracks

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics