Tag: cloud

DevelopersInformation

Configuration & Change Management in Agile DevOps – Part 1

We have successfully adopted and transitioned into DevOps, Agile and continuous integration with weekly deployments of code, new features and functionality to the TfL website. This is the first in a series of posts looking at how we manage these processes behind the scenes. 

Change, release, configuration & service transition is moving from gatekeeping to devolved, trusted & collaborative safe continuous delivery

Change, release, configuration & service transition is moving from gatekeeping to devolved, trusted & collaborative safe continuous delivery

Read More

DevelopersNews

AWS User Group UK event – Wed May 25

The latest AWS User Group UK event takes place this week, on Wed 25th May from 6:30 PM to 10:30 PM. The first session will be presented by expert speakers from TfL, with a discussion of our open data journey.

You can see full details of the evening’s agenda, including the sessions following ours, and register to attend by following this link (if there are still places available).

Following last month's traffic data hack day hosted by AWS , we'll be presenting at their user group event this week

Following last month’s traffic data hack day hosted by AWS, we’ll be presenting our open data journey at the AWS user group event this week

Read More

DevelopersInformationNews

TfL Online 2015 Review – How “Every Journey Matters”

I get the honour of the final blog post of 2015, and it’s a pleasing one to be able to write as we look back on what the team in TfL Online have achieved during this year.

We started off the year accomplishing one deployment of new code to the website every two weeks, and that’s increased to the point where we’ve now managed our 57th release to the site in 2015. There are a lot of variables and moving parts that we monitor and co-ordinate simultaneously to deliver a safe, quality assured, zero defect, zero outage deployment to the website every single week.

For more detail, see my posts on Blue/Green deployments and Agile continuous delivery in the cloud (in 3 parts).

While we’ve successfully made these 57 separate releases of code, optimisations, reference data refresh, bug fixes, enhancements and new features to tfl.gov.uk, we’ve managed to do all this seamlessly without a single planned maintenance window, so our customers haven’t experienced any down-time at all while we’ve been making these improvements.

So, here’s how we believe we’ve fed into the ‘Every Journey Matters’ ethos:

It matters that you have access to new features and enhancements on the website quickly, so we do this, e.g. WebCat, Roads VMS/disruptions Unified API, Live Bus Arrivals, Integration of TfL Rail & West Anglia, …. to name but a few,

It matters that you have access to new features and enhancements on the website quickly – WebCAT, Roads VMS, Unified API, Live Bus Arrivals, Integration of TfL Rail & West Anglia, to name but a few

Read More

DevelopersInformation

TfL website in the cloud – why and how

This post is designed to build on the previous posts within this blog that discuss TfL’s choice of cloud hosting for the website. Below are videos of Phil Young, the head of TfL Online, and Solution Architect Dan Mewett speaking about the TfL website and the cloud at events hosted by Amazon Web Services.

These videos provide a good overview of TfL’s choice and implementation of solution, offering insights into why we decided to switch to the cloud and how we’ve made it work.

Speaking at the AWS Government, Education, and Nonprofits UK Symposium 2014, Phil offers a brief intro to TfL and its online services, why we chose the cloud for hosting our new website, how the site was built and what our experiences were in the first 6 months or so after launch.


 
 
Dan was speaking at the 2015 AWS Summit London, focusing on issues such as how the cloud powers our services, auto scaling, security and disaster recovery in the cloud as well as other key aspects of our platform implementation.

 

DevelopersInformation

Agile deployments to tfl.gov.uk – a visual summary

Building on the recent ‘Agile continuous delivery in the cloud’ 4-part series on this blog, this post summarises our approach to agile deployments to tfl.gov.uk.

I was recently in a meeting explaining our release and deployment process to some internal stake-holders and found that sometimes a picture really can say a thousand words, and a visual representation can describe the topic nicely. So this post will be short and sweet, and I’ll let the image below do the talking.

Let’s quickly consider getting products to market; in our context this means new features, enhancements, and updates to the website – doing the right thing, in the right way, over and over, continuously improving tfl.gov.uk.

Our ethos of 'doing the right thing, in the right way, over and over, continuously improving tfl.gov.uk' explained

Our ethos of ‘doing the right thing, in the right way, over and over, continuously improving tfl.gov.uk’ explained

If you have any questions, queries or feedback on this or any of our 4-part series on Agile continuous delivery in the cloud, please do leave a comment below. Thanks.

DevelopersInformationNews

Agile continuous delivery in the cloud – Part 4

In this, the final blog of the series, I’ll discuss some of the advantages of adopting agile continuous integration & delivery.

So far in this series of posts, I’ve talked about continuous integration, the practice in software engineering of merging all developer working copies with a shared trunk frequently. This enables fast feed-back loops and resolution of bugs at source, quickly and early, to prevent issues being introduced into the live system later down-stream.

We discussed that developing software involves teams of people working together and the synergies of adopting a DevOps model. Automating testing, integration and provisioning of environments saves a lot of time, so that “we work smarter, not harder”. Cloud hosted environments enable us to spin up, and automatically provision, pay-as-you-go, on-demand project development environments with a just a few mouse clicks.

The stages involved in agile continuous delivery, from planning through to monitoring live updates.

The stages involved in agile continuous delivery, from planning through to monitoring live updates.

Read More

DevelopersInformationNews

Agile continuous delivery in the cloud – Part 3

In the third part of this blog, I’ll talk about our route to market – the global release pipe-line.

Global release pipe-line
To ensure that projects do not encounter delays in getting code from development into production and for continuous delivery to work smoothly, a robust, repeatable, reliable, fault-tolerant deployment system is required.

Our global release pipe-line is a sequence of cloud based environments that we use to prove that all new products or code are fit for purpose, and quality assured ready to go live. The environments represent real world production environments. We currently have 4 cloud based environments (called Red, Mauve, Amber & Pre-prod) in the global release pipe-line.

The journey down the pipe-line begins when the team checks in code to the version control system. It ends when the change goes to production in between, a lot can happen!

To declare a build to be ready to enter the global release pipe-line, it must pass basic functional tests, so all development teams work from the same code repository, write a test case for the functionality they develop, build and test their functionality locally, refactor, and verify—only then committing their changes (frequently) to the source code repository. At key stages of the pipeline, we tag our code commits to ensure we have a full audit trail and then send the build down-stream towards production and operations.

The TfL Global release pipe-line flushes out any issues before changes reach the live website

The TfL Global release pipe-line flushes out any issues before changes reach the live website

Read More

DevelopersInformationNews

Agile continuous delivery in the cloud – Part 2

In this post, I’ll talk about keeping the lines of communication open, testing & DevOps.

Software is abstract until it is operational

In line with our ethos for all development teams to get code to a production-ready state as quickly as possible, operations, testers, project managers, scrum master and software developers are all part of the same agile process and team-working. DevOps came about from breaking down silos, so that people work together to improve collaboration, whilst at the same time building trust and relationships.

Everyone involved in software development works together on all aspects of delivery, enabling collaboration across functional boundaries. There are lots of moving targets in DevOps & continuous delivery, we have some automation in place (e.g. automatic tests, continuous integration) but we also use tools and engineering practices, e.g. Jira, BitBucket, Confluence, Teamcity, GIT, – the rest we manage by hand.

The way we deliver to the TfL website comes together through Continuous Integration & Delivery, DevOps and Agile

The way we deliver to the TfL website comes together through Continuous Integration & Delivery, DevOps and Agile

Read More

DevelopersInformation

Agile continuous delivery in the cloud – Part 1

This blog builds on the previous blue/green article and is part 1 of 4 posts explaining how we use the latest techniques to continuously deliver new functionality and upgrades to the TfL website. Our highest priority is to keep the website updated, continuously improving, and reducing the cycle time between an idea and useable software. Customers expect real-time updates from us, so we need to deliver new features to the website constantly. Therefore we use a variety of the latest development practices, including; agile, continuous integration and continuous delivery.

This helps us accelerate the release of software and digital services, e.g. improved web page, User experience (UX), a bug fix, or an update, quickly and with reduced manual interventions. We have found that frequent small changes to the website, are not only less risky, but we also get faster and more focused feedback about what works and what doesn’t. Coupling this with an agile development strategy, using cloud hosted, “pay-on-demand” environments, we have significantly accelerated the rate at which we can bring new services and features to the website.

bitbucket

We use BitBucket as a management interface for GIT (our source code repository) used for governance, code reviews & pull requests

Read More