<!DOCTYPE html>
<html lang="en">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());

    gtag('config', 'UA-112407000-2');
</script>

<!-- Google Tag Manager -->
<script>
    (function (w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KS8HHSF');
</script>
<!-- End Google Tag Manager -->

<head>
    	<base href="/codewind/" />
	<title>Want to get a microservice up and running super quickly? Try Codewind. | Codewind</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="description" content="Eclipse Codewind">
	<meta name="keywords" content="Eclipse, docker, container, devops, applications, development, iteration, microservices, cloud, services, rapid, integrated"/>
	<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
	<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
	<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,400,600&display=swap" rel="stylesheet">
	<!-- Bootstrap CSS CDN -->
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
	integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
	<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
	<link rel="stylesheet" href="css/styles.css">
	<link rel="stylesheet" href="css/docs.css">
	<link rel="stylesheet" href="css/blog.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">
	

</head>

<body data-spy="scroll" data-target="#toc">
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KS8HHSF"
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <!-- End Google Tag Manager (noscript) -->
    <div class="main">
    <!-- Bootstrap NavBar -->
	<nav class="navbar navbar-expand-lg navbar-light cw-banner fixed-top" aria-label="topnav">
    		        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
            data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
            aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <a class="navbar-brand" href="">
            <img alt="Codewind logo image"  title="Codewind logo image" src="images/header/header-logo.svg" class="cw-header-logo" alt="">
        </a>
        <div class="collapse navbar-collapse justify-content-end cw-navbar-padding" id="navbarNavDropdown">
            <ul class="navbar-nav cw-navbar-nav">
                
                <li class="nav-item cw-navbar-item cw-header-link-docs">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="gettingstarted.html">Docs</a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="news.html">News</a>
                </li>
                
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="blog.html">Blog</a>
                </li>
                
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  class="banner-image"  title="Codewind Github" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/header/github.svg"/></a>
                </li>
                
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  class="banner-image" title="Codewind Twitter" src="images/header/twitter.png"/></a>
                </li>
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  class="banner-image"  title="Codewind Mattermost" src="images/header/mattermost.png"/></a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  class="banner-image" title="Codewind YouTube" src="images/header/youtube.png"/></a>
                </li>
               
               
                <!-- li class="nav-item cw-navbar-item" id="download-li">
                    <button onClick="window.location.href='https://microclimate.dev/download/codewind';" type="button" class="btn cw-download-button">Download</button>
                    <a href="https://microclimate.dev/download/codewind" class="nav-link cw-nav-link cw-download-link" href="#">Download</a>
                </li>  -->


                
                <!-- Smaller devices menu END -->

            </ul>
        </div>

    	</nav>
    	<!-- End Bootstrap NavBar -->
<div class="row" id="post-row">
    <div class="col-xs-12 col-lg-1"></div>
    <div class="py-5 px-5 col-xs-12 col-lg-10">
        <div class="cw-docs-spacer"></div>
        <div id="post-content">
            <h1>Want to get a microservice up and running super quickly? Try Codewind.</h1>
            <p>10 Dec 2019 - Dr Melanie Hopper</p>
            <div role="main"><p>Whether you are new to the world of microservices, or are a seasoned containerised applications developer, you’ll know of the various ways that your time can be sapped from the nitty gritty work of writing good code.</p>

<p>There’s the task of <strong>creating your own application stack for a containerised microservice</strong> that also fits your preferred language and project type.</p>

<p>Then there’s the <strong>multiple commands you must run</strong> to build images, create containers, assess build status, open end points, debug, eyeball the different logs, assess performance metrics, re-build the containers with each code change…the list goes on.</p>

<p><img src="images/blog/microserviceupandrunningquickly_1.jpeg" alt="image of developer" width="800px" /></p>

<p><strong>Well, there’s an open source tool that’s been developed with you in mind. It’s called <a href="http://codewind.dev/">Codewind</a>.</strong></p>

<blockquote>Not only will you be able to choose your microservice from a list of pre-supplied project templates, you’ll have a fully integrated container development environment at your fingertips.</blockquote>

<p>Say what?</p>

<p>We’ll show you.</p>

<p>We’re going to get a microservice up and running in a container within 2 minutes just by using the Codewind plugin for VS Code. Then we’re going to run through some of the features that Codewind provides for your inner loop work.</p>

<p>Let’s get started.</p>

<p><strong>1. Choose your microservice from Codewind’s list of pre-configured, container-ready project templates
After getting our pre-requisites of Docker Desktop and Codewind for VS Code installed, let’s choose our microservice.</strong></p>

<p style="text-align: center;"><img src="images/blog/microserviceupandrunningquickly_2.jpeg" alt="image of VS Code" />
<em>Create a new project using Codewind’s project templates</em></p>

<p>A right-click on the Projects tree of the Codewind view in VS Code offers the option of creating a new project by selecting from a list of project templates. These templates cover several languages including Node.js, Java, Python and Swift, and several frameworks such as Express, Spring Boot and Open Liberty, with more on the way.</p>

<p style="text-align: center;"><img src="images/blog/microserviceupandrunningquickly_3.png" alt="image of VS Code" />
<em>Screenshot of Codewind for VS Code, showing a few of the many project templates available</em></p>

<p>As soon as you select the template, <strong>Codewind will automatically build the project and run it in a container</strong>, in this case hosted by your local Docker Desktop. And that’s it! You’ve got a running containerized application! Congratulations!</p>

<p>Ok, so what about the container itself?</p>

<p><strong>2. You can probe and take a look inside your container without having to leave VS Code</strong></p>

<p>By integrating with VS Code’s terminal window and output panels, Codewind enables you to view your container’s logs, run docker commands to get detailed information on the containers and run commands from within the container, all from the comfort of your IDE.
Taking a look inside your container couldn’t be easier — just right-click the project in the codewind project tree to open a shell into your container. Job done.</p>

<p><strong>3. Want information on your microservice?</strong></p>

<p>Use Codewind’s Project Overview feature to instantly view the location of the endpoint, the container ID, location on disk, build and run status, and ports.</p>

<p><img src="images/blog/microserviceupandrunningquickly_4.png" alt="image of VS Code" /></p>

<p>You also have the option to build, remove, or disable your project from this panel. Simply click the information icon located next to your project listing in the Codewind view project tree to open your project’s overview window.</p>

<p><strong>4. Viewing your microservice endpoint is also just a click away.</strong></p>

<p>Navigating back to the project’s listing in the Codewind view project tree, this time click the Open External Site icon, and the endpoint is opened in your default browser.</p>

<p><img src="images/blog/microserviceupandrunningquickly_5.png" alt="image of VS Code" /></p>

<p><img src="images/blog/microserviceupandrunningquickly_6.jpeg" alt="image of VS Code" /></p>

<p><strong>5. Make a change to your code and watch Codewind implement these changes intelligently.</strong></p>

<p>Codewind automatically rebuilds your code changes, redeploying as efficiently as possible. You can see the automatic restart in action by watching how the project’s build and run statuses change in the Codewind project listing view.</p>

<p><strong>6. Additional features</strong></p>

<p>Codewind has many other features that make for a smooth inner loop experience, which include:</p>
<ul>
  <li>application and performance dashboards that allow you to observe real-time changes and improve your code as you develop</li>
  <li>full compatibility with the Debug functionality of VS Code.</li>
  <li>ability to open your own containerised projects in Codewind and use Codewind’s development environment features</li>
</ul>

<p><strong>Fancy a go?</strong></p>

<p>Experience what the Codewind integrated container development experience can do for you by downloading Codewind from the VS Code or Eclipse marketplace.</p>

<p>Watch Codewind in action and subscribe on our Youtube Channel.</p>

<p>Have questions or feedback? We’re all ears. Let us know what you think.</p>
</div>
        </div>
    </div>
    <div class="col-xs-12 col-lg-1"></div>
</div>
<!-- footer row -->
<footer>

<div id="footer-div-mobile">
        
        <div class="row">
	        <div class="col-sm-12 text-center">
		        <span>Useful Links:</span>
		        <br/><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
		    </div>
        </div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        
        <div class="cw_footer_display_icons row">
    		<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    
                    <a href="http://www.eclipse.org"><img class="cw-logo-eclipse-mobile" alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/></a>
                </div>
            </div>
        </div>
        </div>
        
		</div>
		
    </div>
    
    
    <div class="row cw-footer-desktop" id="footer-div">
        <div class="cw-footer-left">
        		<div class="px-5 cw-font-12>
	        <span class="cw-font-14">Useful Links:</span>
	        <br/><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
	        </div>
	        
        </div>
        <div class="cw-footer-border-right"></div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        <div class="cw_footer_display_icons">
    		<div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center">
            <div class="cw-logo-mm" >
                <div class="cw-logo-mm" >
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"   title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        </div>
        
		</div>
		<div class="cw-footer-border-right"></div>
		<div class="cw-footer-right cw-footer-same-height cw-footer-vcenter">
		<div class="cw-footer-eclipse-img cw-footer-same-height px-5 ">
	        
		<a href="http://www.eclipse.org">
		<img alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/>
		</a>
	        </div>
		</div>
    </div>
</footer>
<!-- footer row END -->
 <!-- Jquery -->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>



<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>


<!-- Font Awesome JS -->
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"
    integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous">
</script>
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"
    integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous">
</script>

<script src="js/jquery.matchHeight-min.js"></script>
<script src="js/index.js"></script>
<script src="js/docs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-docker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-json.min.js"></script>

</div>
</body>

</html>