DevOps Playground: Continuous Integration with Blue Ocean

DevOps Playground: Continuous Integration with Blue Ocean

No comments

The Speaker: Matthew Song – https://www.linkedin.com/in/matthew-song-a16b37142/ 

Cloudbees Jenkins is the most popular open source software orchestration tool on the market due to its wealth of plugins and easy set-up of infrastructure as code. Yet where does one begin using the Jenkinsfile for setting up new project and DevOps pipeline?

Let Blue Ocean take the hassle of setting up a jenkinsfile from scratch by providing an intuitive, modern coat of paint on Jenkins user interface. With its modern design and intuitive features, Blue Ocean is here to facilitate a quick and easy setup of new Jenkins pipeline with minimal hassle.

Following the video below you’ll begin to see how easy it is to set up a new Jenkins maven Job using the Blue Ocean plugin and the intuitive feedback it provides through its modern design.

I’ve also written a step by step guide to help you through it all: https://medium.com/ecs-digital/building-a-ci-pipeline-with-blue-ocean-6bb9b02788eb

If you’re interested in attending more hands on sessions, DevOps Playgrounds are held once a month in four locations:

You can also find all the information and resources you need about DevOps Playground sessions, upcoming events and past events on our website: https://devopsplayground.co.uk

Matthew SongDevOps Playground: Continuous Integration with Blue Ocean
read more
DevOps Playground: more than just another lecture

DevOps Playground: more than just another lecture

As the DevOps Playground enters its fourth year, we take the opportunity to look back at how the DPG was initially formed and its subsequent success.

Why ECS Digital started the DevOps Playground:

Meetups are a great way to meet like-minded people, learn something new and eat as much pizza as is humanly possible. Technology focused meetups however, often leave one excited and hopeful about a new product or technology with no easy way to explore them. Couple that with our busy lives and these new technologies will only ever be added to the long list of “Tools I will definitely try one day soon!”

As a result, we at ECS Digital decided that we could satisfy the tech industry insatiable desire for pizza as well as allowing people to really experience new tooling without impacting their ever-shrinking social calendars.

In addition to showcasing new technologies and allowing people to get hands-on experience with those tools, the DevOps Playground acts as a platform for ECS Digital’s own talent to build a name for themselves and demonstrate the breadth and depth of knowledge ECS Digital wield within a number of different technology areas.

Attendees can expect to follow along with a structured and comprehensive exercise, designed to jumpstart new users with unfamiliar technologies and to highlight the best ways to use the technology going forward.

 

What happens at a DevOps Playground?

Each month, you are welcome to join us as we explore new technology / tools in one of our four locations – London, Singapore, Pune and Edinburgh. Each Playground lasts for around 2.5 hours, with a chunk of that time set aside for you to run and use the chosen tech / tools on your own laptop.

Our engineers will be on hand throughout the Playground to help you navigate your way round the technology, with the hope that you leave feeling more confident than you did when you arrived. Open to all tech enthusiasts, this is the perfect environment to learn, network and play – and there’s usually free pizza. Pizza AND tech, what’s not to love!

How the Playground has evolved:

Our environments:

With the success of the Playground’s brand and the ever-increasing number of global members, we have had to innovate in order to keep up with demand. During the Playground infancy, the standard method for distributing slide decks, resources and the all-important technology environment was a chucky VDI. Due to its size, we would have to load them onto 8GB USB sticks and physically hand them to attendees on the door. This obviously meant that we would spend the first 15-20 minutes of every meetup waiting for people to copy massive files on to their personal computers and then load up VMs, and that was before we had even started the technical part of the evening.

Realising that this method of distribution was not going to scale, we had to look internally to our engineers for a solution that could be used by a wide variety of capabilities.

In true DevOps fashion, after a few iterations we settled on a dynamic cloud instance for every attendee with a web-based terminal (wetty). This allows us to spin up exactly the number of instances required for an individual event and bring them down once the event has concluded, reducing not only the cost but the potential risk associated with having 80 cloud instances running publicly.

As the success of our London based meetup continues to grow from strength to strength, back in 2018 we took the DevOps playground brand global, setting up three additional meetup events in Singapore, Pune and Edinburgh. This new global reach has help us spread the ECS Digital message and introduce new technologies and concepts to even more people.

A powerful recruiting tool:

The DevOps Playground has been a strategic tool used during our recruitment process, with many candidates being identified and subsequently hired as a direct result of them attending our events. These new additions have been afforded the opportunity to meet the ECS Digital team in a relaxed setting and with no obligations and in fact, with most cases, individuals were not actively seeking new employment opportunities.

What the future looks like:

World domination! Maybe not… but we do want to continue building our reach and contributing to the wider DevOps community. Due to the popularity of our London events, our current location is hitting capacity on a regular basis. We’d love to work with other tech enthusiasts who have access to bigger spaces so we can open the Playgrounds up to more of our community. If you happen to have a large space and want to support the DevOps Playground by letting us borrow it for an evening, we’d love to hear from you!

We would also love the opportunity to collaborate with other meetup groups. If you have an idea of how we can better serve our communities, get in touch and let’s talk over how we can turn those ideas into value for our members.

And last but certainly not least, technology is genderless and we want to continue promoting its application to as diverse a group as possible – starting with hosting more Women In Tech DevOps Playgrounds following the success of our WIT event last year. Whilst men are welcome to attend, these events are super important for creating an environment where women feel comfortable learning about new technology in what is traditionally a male-dominated industry.

How to get involved:

As mentioned above, we host our DevOps Playgrounds once a month in four locations. These are all publicised on Meetup as soon as the team have the details available:

You can also find all the information you need about DevOps Playground, upcoming events, past events and the Playground Panda on our website: https://devopsplayground.co.uk

What next?

Hopefully the above has tempted you to come and say hello to the DevOps Playground team in person! Our next events are live on the website / meetup groups (links above) so pick the one most local to you, grab your laptop and follow the smell of pizza. Go on, you’ve got nothing to lose but maybe lots to gain!

Morgan AtkinsDevOps Playground: more than just another lecture
read more
DevOps Playground Singapore – Continuous Integration with Blue Ocean

DevOps Playground Singapore – Continuous Integration with Blue Ocean

We, at ECS Digital, decided to kick off our 1st DevOps Playground Singapore in 2019 with the building of a Continuous Integration pipeline using Cloudbees Blue Ocean. The event was hosted at the Sandcrawler Building with the help of GovTech.

After forking the open source Jpetstore repository, we proceeded to setup a CI pipeline running a maven build with SonarQube testing as well as a push to JFrog Artifactory, stopping just shy of a full deployment due to time constraints.

Beyond minor hiccoughs brought about by formatting and updates beyond our control, the playground proceeded smoothly and was well-received by attendees.

We were successful in building the CI pipeline, showcasing the strengths of Blue Ocean’s intuitive UI and low barrier to entry. Attendees were shown the steps needed to inject Jenkins’ environmental variables and provided explanations as to why each step and tool were defined as such. The Continuous Integration process was completed without a hitch, with users able to view their generated artefacts in JFrog as well as scan results in SonarQube.

We had such a large turnout and we hope to see everyone again for our next Playground.

Interested in attending our next DevOps Playground in Singapore? Follow us on Meetup to receive a notification about the next event. Coming from the UK? We have Meetups in London and Edinburgh too! 

Matthew SongDevOps Playground Singapore – Continuous Integration with Blue Ocean
read more
DevOps Playground: Hands-on Visual Regression with AyeSpy

DevOps Playground: Hands-on Visual Regression with AyeSpy

The Speaker: Matt Lowry – https://www.linkedin.com/in/matthewlowry92/

Do you get frustrated by tools like Selenium where you are testing webpages in ways where it’s not intended?

Are you struggling to reduce the manual overhead of asserting that your site looks visually correct and checking that it has not regressed after implementing new changes? Visual regression testing is one of the lesser known tools in the SDET toolbox, but when implemented properly can be incredibly powerful.

AyeSpy is a new tool that we helped one of our clients News UK create to address some of the issues that existing open source visual regression tools provide. In this video, we will learn what AyeSpy is about and as usual, as this is a hands-on session, we’ll show you how to use AyeSpy to visually test your application on different viewports.

Thank you to everyone who attended. If you want to learn more about the tool, check out my recent blog on how AyeSpy is already delivering an incredible amount of business value to our client The Times.

Interested in attending our next DevOps Playground events. Follow us on Meetup to receive a notification about the next event

Matt LowryDevOps Playground: Hands-on Visual Regression with AyeSpy
read more
Digital Women in Tech – DevOps Playground: Hands on with Cypress

Digital Women in Tech – DevOps Playground: Hands on with Cypress

As part of ECS Digital’s initiative to attract more women in technology, we held our first ever Digital Women in Tech MeetUp in our London office at Bermondsey Street where we did a hands on session about a new automation testing tool called Cypress.

Cypress is a test automation tool created by Brian Mann to help developers write automation tests from a user’s perspective. With Cypress, any actions that users can do can be simulated such as clicking a button, typing values on forms, or selecting checkboxes. It’s a tool that is written purely in JavaScript and is often compared to Selenium but it’s actually different from Selenium. The tool was created to address the issues that developers faced when writing automated tests.

In this hands on session, we went over what Cypress can offer, it’s limitations and key differences with Selenium. We then guided everyone how to connect to their remote machines and how to launch the sample React application that we were going to test. The machines provided have been pre-installed with all the software that they needed to follow the session. Once everyone was familiarised with using Cypress and its test runner, we guided everyone on how to write the test scenarios that we planned for them.

Following this video you should be able to run through this playground from the comfort of your own home.

Thank you to everyone who attended the first Digital Women in Tech MeetUp and for making it successful!

Interested in attending our next DevOps Playground events. Follow us on Meetup to receive a notification about the next event

Marie CruzDigital Women in Tech – DevOps Playground: Hands on with Cypress
read more
DevOps Playground #23: Hands-on with AWS Serverless

DevOps Playground #23: Hands-on with AWS Serverless

In most IT departments you usually have an individual who’s responsibility it is to manage the servers. When your software or website has a particularly high load they can rearchitect the site to manage it.

“In essence, “serverless” is a computing model where the existence of servers is hidden. So you don’t need to worry about servers at all. All you have to worry about is  the function and programming.” – Sunil Tailor

Serverless computing is a cloud-computing execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.[1] It is a form of utility computing.In this DevOps playground, Sunil will be getting hands on with AWS’s serverless technology.

Interested in attending our next DevOps Playground events. Follow us on Meetup to receive a notification about the next event

Sunil TailorDevOps Playground #23: Hands-on with AWS Serverless
read more
DevOps Playground Singapore #2: Hashicorp Consul & Smashing

DevOps Playground Singapore #2: Hashicorp Consul & Smashing

Following the success our last DevOps Playground in Singapore, the team were at it again with another playground showing the power of service discovery and monitoring using Hashicorp Consul.

A typical DevOps Engineer could be responsible for the maintenance of many services in a DevOps pipeline such as a build server, binary storage solution, a a code repository service, wiki and a ticket tracking service.

High agility and a mature DevOps capability require these services to be running 100% of the time. An outage of any service will impact the route to live of any change. People will be walking up to your desk, wondering what is going on!

Using Hashicorp’s Consul, we can intelligently monitor the status of these services and react in real time to unpredicted behaviour. You can therefore identify the issue before the rest of your end users do.

However, there will be occasions when outages require time to fix. How do you keep your end users informed without having to update them on a continual basis? Display this information from Consul in an easy to view dashboard on TVs around your office using Smashing.

It looks smart, tidy, and provides everyone the information they need so you can be left to bring the services back on line in the quickest time possible.

At the event, we went through the steps to install and run Hashicorp Consul and registered both our Jenkins and Artifactory services by configuration a service definition file and loading that into Consul. We validated the health check feature of Consul by taking Jenkins offline and seeing this outage being reflected in the User Interface.

We then installed a Smashing Dashboard and saw how easy it was to post updates to Smashing by executing a simple curl command. With all the core pieces in place, we implemented a watch that pushed an update to Smashing whenever a service went offline.  This result in an eye pleasing dashboard that instantly highlighted the status of your pipeline in real time.

 Following this video you should be able to run through this playground from the comfort of your own home.

Thank you to everyone who attended. We look forward to seeing you again at our next DevOps Playground – keep an eye out for the next event!

ECS DigitalDevOps Playground Singapore #2: Hashicorp Consul & Smashing
read more
Open source. Are you part of the community?

Open source. Are you part of the community?

Open source is a type of licensing agreement – not very exciting. The exciting bit is that it allows users to create and publish work that can be freely used, modified, integrated into larger projects or derived into new work based on the original by other users.

In an age of trade secrets and profit-driven professions, this is a unique platform that actively promotes a global exchange of innovation. It has been specifically designed to encourage contributions so that the software doesn’t stand still. The collective goal of this barrier-free community is the advancement of creative, scientific and technological tools and applications – which for many is more important than a price tag.

Who uses open source?

Although, it is most commonly used in the software industry, professionals adopt open source licenses in many industries including biotech, fashion, robotics and teaching. This article will focus solely on software applications.

What’s interesting is that more and more businesses are contributing their own source code to the community – Facebook, Airbnb, Cyprus are leading examples. According to a 2018 Tidelift Professional Open Source Survey, 92% of projects amongst European respondents contain open source libraries. Whilst on the surface this contradicts conventional commercial instinct, businesses gain a lot by giving away a little. Whilst the benefits are vast, we are going to focus on five:

  1. Competition:

Since the late 90’s and the advancement of the digital age, competition no longer resides simply between two rival companies. Businesses today also find themselves competing with open source software projects that are free, open to the public and constantly evolving.

Due to the current scale of open source contribution, even the giants in the tech industry are struggling to devote the resources or teams large enough to compete with their community counterparts.

Turning to the open source community enables businesses to outsource resource rich projects to a bottomless sea of innovative capabilities. This potentially reduces cost, pressure and speeds up the feedback loop considerably.

  1. Reputation:

In the same way the Big Bang Theory made traditional science nerds cool, the open source community can boost a business’ profile on the cool/not-cool spectrum.

Not only do businesses become more attractive to potential employees, by initiating an open source software project, or contributing to an existing one, they make their mark on an additional and power channel popular within IT circles. If done well, this has the potential to establish, maintain or improve a brand’s image, as well as attract new business.

  1. Advancement:

Helping to advance something as big as the technology industry isn’t something to turn your nose up at. In fact, businesses revel with the idea of having their name against a leading piece of software that has the potential to make history.

But history moves fast. And building software inhouse can be stifled by other business priorities, resource restrictions and other competitors beating you to the finish line.

Rather than building behind closed doors and waiting until your software it is perfect, opening your source code to the community in its earlier stages has two benefits:

  1. You can plant your flag earlier
  2. You invite an endless list of innovative capability to help advance your idea at a rate unlikely attainable behind closed doors

It also acts as an incentive for individuals to feel part of a project than extends far beyond the business they work for.

  1. Trust:

Fake news, data breaches, shady deals – all of these have encouraged people to lose trust in businesses. Including open source projects in company policy encourages business to be more transparent with its consumers. Whilst it is naive to believe a company will lay down all their cards, companies such as Facebook made 15,682 contributions in 2016. Automattic created WordPress as an open source project and currently powers 31% of the internet, and Netflix frequently open sources the tools they develop in-house.

Not only are they strengthening their brand, sharing is showing the world they have nothing to hide – which is a proven way to start winning back trust.

A great example of building this trust through transparency is the cryptocurrency space where many projects including Bitcoin allow you to browse through the project’s source. A very different approach to their corporate counterparts.

  1. Speed:

Many companies face the same problems. Sometimes companies are kind enough to share the solution. If a problem has been solved before and will provide business value in a fraction of the time and half the man power everybody wins.

Contributing to the community also gives you the capability to ask the projects contributors directly questions, ask for features or raise issues enabling you fast feedback which keeps your project moving

How does open source work? 

Contributors create a project and solve a problem. They realise that other people might benefit from this project to solve their problems. The project is shared on an open platform such as GitHub which can be downloaded and used by other users interested in the project.

If users wish to contribute, they can do this by downloading the project, creating a fork (which is an exact replica of a certain part of the pipeline) and editing the code until they are happy with the changes. Users can then request a pull request which notifies the authors that a suggested change is requested.

It is up to the author to approve the change, before deciding whether they want to include the changes. If they do, this usually becomes part of the next version, which is released at the author’s discretion.

The problem is, this could take some time. The author is under no obligation to release new versions or accept proposed changes. In fact, this is one of the limitations of the open source community. People will only give up as much information as they want to / their projects need. Authors are not there to solve specific problems, and often release software that focuses on their needs rather than trying to create something too generic.

This can be frustrating if an open source project only solves half your problem, however, the community can help bridge knowledge gaps. Users also have the option to download, build and run the project locally in the interim whilst waiting for the official new version – meaning they don’t need to wait for the software to be released with the changes they need.

How it is viable?

Whilst it doesn’t make economic sense on the surface, the community have found a way to make open source viable from a business and individual perspective. Some have capitalised on their projects, making basic versions available at no cost to the user, but adding a price tag to different versions or ‘add-ons’.

Other businesses or individuals actively contributing to the platform have benefited from angel investments, as well as new business after demonstrating successful projects.

It is also often a side project for businesses and individuals. Due to the legal freedom attributed to an open source platform, you’re able to modify the code of the product you’re using endlessly, for free, at no risk of breaching privacy policies or user agreements. This makes it the opportune ‘playground’ for those looking to get into the industry or develop new skills. According to LinkedIn:

“We believe that open sourcing projects makes our engineers better at what they do best. Engineers grow in their craft by having their work shared with the entire community.”

Risks:

With all open platforms, there is a risk of abuse. Open source communities are no different and have certainly experienced their fair share of malicious activity. However, it is the open source approach that significantly increases the reliability of the projects available to the public.

By establishing a community who believe in the future potential of the projects produced, you immediately have a security indicator in place. Many of them in fact. And with so many eyes looking at projects, malicious activity is quick to be spotted and remedied. This is because open source platforms embody an agile mentality, applied in a community wide approach. Rather than make one big change and focus on ensuring it is okay for the next six-months, contributors and authors are interested in making changes quickly, so things get fixed and evolved just as quick.

******

ECS Digital love to find value for our clients and give it back to the wider community, which is why we make tools available on open source platforms such as GitHub and NPM.

We will also be hosting a hands-on session and demonstration of AyeSpy– a visual regression testing tool – at an upcoming DevOps Playground on the 29th of November. Come along to learn more about what the AyeSpy has to offer!

Matt LowryOpen source. Are you part of the community?
read more
Our first DevOps Playground in Singapore

Our first DevOps Playground in Singapore

Our very first DevOps Playground took place in September in Singapore, at the Lifelong Learning Institute. We had fun with Amazon Connect!

At the event, we created a working solution utilising Amazon Connect, Amazon Lex, AWS Lambda, S3 and SNS. Cloudformation was used to help configure these services with the minimum of effort. Unionising these Amazon services allowed us to create an environment that enabled us to have an interactive telephone conversation through Amazon Connect, powered by Amazon Lex. Once the call was complete, the conversation was transcribed using AWS Lambda and sent via SNS to a subscribed email.

Watching the video below, you can run through the Playground from the comfort of your home!

Thank you to everyone who attended and made our very first DevOps Playground in Singapore a huge success.

Cy NichollsOur first DevOps Playground in Singapore
read more
DevOps Playground #21 – Google Kubernetes Engine on Google Cloud Platform

DevOps Playground #21 – Google Kubernetes Engine on Google Cloud Platform

Our 21st DevOps Playground took place last evening in Edinburgh, in our ECS office. We explored Google Kubernetes Engine on Google Cloud Platform.

We created a GKE cluster, using preemptible instances, then created an application and built a Docker image from it, which we pushed to the Google Container Registry. We then ran this image on our GKE cluster.

We did run into some issues with the limits on Google Cloud, be warned, you need to upgrade your account or you will be limited to 1 Kubernetes Cluster. Lesson learned! 😊

The remaining of the meet-up was to run some load testing with Locust, playing around with the performance of the application, allowing everyone to see how GKE auto-scaled the cluster and the deployment. Lowering the performance of the app lead to pods being created by the deployment, and as the number of pods became too large for the cluster, the cluster itself scaled, growing from 3 to 7 instances. Improving the performance of the app then lead to the cluster being able to scale back to only 3 instances.

All the changes to the application were made using rolling updates, minimising the negative effects of changing an application version while serving live traffic.

 

 

 

 

 

 

This was our busiest meetup so far in Edinburgh, and we are looking forward to meet with everyone again next month, in our ECS office near Haymarket.

Register for our next DevOps Playground in Edinburgh here, and in London here if you are around.

Interested in attending one of our DevOps Playground events? Follow up on Meetup to receive a notification about the next event – Join us!

 

Michel LebeauDevOps Playground #21 – Google Kubernetes Engine on Google Cloud Platform
read more