
CodeStar – Quickly Develop, Build, and Deploy Applications on AWS - jeffbarr
https://aws.amazon.com/blogs/aws/new-aws-codestar/
======
AlexB138
That sound you hear is thousands of Ops Engineers' future prospects falling
further and further into question.

It's becoming hard for me to justify staying in the 'DevOps' space with
amazing solutions like this coming out regularly from AWS. I can hitch myself
to the AWS wagon for a while, but eventually, it seems, dedicated operators
just won't be needed for most small to medium deployments. It's tough, because
I can see that this is genuinely moving the industry forward, but it's also
negating the need for skills I've worked for over a decade to build. I guess
this is what carriage builders felt like 100 years ago.

~~~
paulddraper
Eh. The further AWS moves up the stack, the less dominating their products
are. EC2? Awesome. S3? Great. ELB? Good. CodeCommit? Eh.

I'd be interested to hear about experiences using CodeCommit, CodeDeploy, etc.
but I doubt AWS found the One True Workflow.

~~~
Kocrachon
I use CodeCommit, CodeDeploy, CodePipeline.

I admit, it wasn't the easiest thing to setup. But its nice. When I commit my
changes to my mainline, it deploys the code to the host and configures
everything for me, and keeps all my hosts up to date.

Coworker uses it all to kick off lambda functions.

CodeCommit is just a basic Git setup, so nothing special. But working with
CodeDeploy and Pipelines is ok. I wouldn't say its much better or worst than
other products, and you can use them to deploy to non-aws environments also.

I don't know, I can't really sell it well. It does what it does, and it works
well enough for me.

~~~
fernandopj
I use them too, and it works well. However, I do miss the days we used Heroku
to handle those deploys _in seconds_ rather than 10-15 minutes AWS uses to
roll out an EBS update.

------
morinted
We'll need a new entry added to AWS in Plain English:
[https://www.expeditedssl.com/aws-in-plain-
english](https://www.expeditedssl.com/aws-in-plain-english)

~~~
kmfrk
They should just hire someone to explain these things. A video goes a long
way.

~~~
reitanqild
_A video goes a long way._

As long as there is a text with pictures for weird video adverse engineers
like me.

I actively avoid videos.

~~~
iamatworknow
I don't think you're weird. Instructional or informational videos force their
pacing on you. Text and images allow you to learn at your own pace, be it
faster or slower than a video.

Few things are more frustrating than having to skip back 15 seconds multiple
times in a video because I didn't quite get something, or trying to hunt
around ahead in the timeline because the current stuff being presented is
trivial introductory fluff.

------
jorjordandan
Amazon's design language is very meh. Even if you aren't in a cubicle, as soon
as you are on their website, you feel like you are in a cubicle. With bad
lighting. Heroku is way ahead in this regard. (not saying that is the most
important consideration)

~~~
bogomipz
>"Even if you aren't in a cubicle, as soon as you are on their website, you
feel like you are in a cubicle. With bad lighting. "

This really made me laugh out loud, so thank you. I understand exactly what
you mean and I agree. Cheers.

------
nathan_f77
This looks amazing. When it matures, this is probably going to kill Heroku.

This may also mean that I will never have to touch devops again. I may never
have to use Terraform, Kubernetes, Docker, CoreOS, and all that other stuff.
At least, not for small to medium-sized deployments. It also means that I'll
never need to touch Dokku or Flynn. I was about to say that some company just
wasted a lot of money on Deis, but then I remembered that it was Microsoft. So
maybe that was a good move, although I feel like Azure is the Bing of cloud
providers.

I'm actually angry that this took so long. This should have been available 5
years ago.

~~~
andrewstuart2
> I may never have to use Terraform, Kubernetes, Docker, CoreOS, and all that
> other stuff.

True, you may never have to as long as you're okay putting 100% of your faith
in the benevolence of a single company. Remember, a good portion of AWS
services are completely proprietary and serve as a pretty fancy set of golden,
jewel-encrusted handcuffs.

Fully open source projects like those you mentioned, on the other hand, are
positioning developers who know them to treat the cloud providers of today as
just another source of CPU cycles, storage, and networking. For the services I
run on Kubernetes in AWS, I can lift and shift those in a day if/when the day
comes that Amazon is a little less benevolent with their pricing and service
levels. If we were asked to do the same with our services built expecting AWS
functionality, it would takes months to years. Guaranteed.

Yes, there's a trade-off that I don't get 100% managed services and I have to
know a little about the workings of the platform, but I would make that same
commitment to AWS the second it didn't do everything for me. In my experience,
that moment usually occurs somewhere around the 10-minute mark.

Amazon is great today, but Bezos won't live forever and who knows what happens
when his successor takes over. It could be great, or it could be a mass exodus
of people dumping years of investment. Personally, I'd rather hedge my bets
and use their low-cost VMs as my source of compute today, but leave myself
plenty of dead-simple exit options and sleep a little more easily at night.
That's what open source software is all about.

~~~
meddlepal
The problem is, most people won't work for a company long enough to see your
hypothetical doomsday scenario (if it even does). The people who will be
screwed are not likely the ones making the decisions today.

~~~
ademarre
It's not just the doomsday scenario. It's smart to avoid vendor lock-in
because eventually a competing cloud vendor could offer better pricing or more
reliable service. Or you could run redundant infrastructure on AWS and Google
Cloud Platform at the same time to insulate yourself from major vendor
outages.

Also, not all doomsday scenarios are terribly far fetched. AWS might one day
have to discontinue a service after losing an intellectual property lawsuit,
for example.

------
jrowley
I feel for the skyliner folks today, but their product still looks better/more
feature filled than aws's native offering.

[https://www.skyliner.io/](https://www.skyliner.io/)

~~~
precipice
Nice of you to say, thanks. (I work on Skyliner.)

~~~
pedalpete
I hadn't heard of skyliner before. You guys may be a bit scared but at the
same time, I haven't seen AWS create a nice api interface for their products.
For so many teams, it is still just to complicated to set-up and get going.

I had a similar scare yesterday when Google launched Google Earth in the
browser with a bunch of technology which, on the surface, competes with my
start-up, but digging deeper, there is often still an opportunity, and they've
justified your market.

~~~
Kocrachon
What do you mean? I am not AWS pro but the boto3 API seems to be pretty great
for me on almost all of their services.

------
Alir3z4
AWS has a lot of resource to build something "easy to work with" like heroku,
but it doesn't. Maybe CodeStar is an attempt ?

CodeStar is more like AWS Elastic Beanstalk, the one that I still don't know
how to take it into my toolchain and development flow.

Now AWS CodeStar, that requires bunch of clicks, wizards, permissions
configuration, choosing a template and then another changes...

To get started with they needed to show bunch of screenshots, while something
like Heroku would tell how to use the whole thing in 2-3 commands in terminal.
That's all.

However, I hope something like CodeStar get more polished and mature so I can
move have one place to bill and one thing to worry about and not docker,
kubernetes, mesos, ansible, ssh into machine, database backups, etc...

edit: Just found out for web applications they use Elastic Beanstalk as deploy
step.

------
angryasian
I don't care about lock in, and I just want something secure and easy to
deploy an application. Pricing is important, but heroku gets expensive fast,
and I'd eventually like something that I can manage myself once released and I
can dedicate more time to.

I think this looks great.

~~~
late2part
How long does it take AWS to get expensive compared to Heroku?

~~~
bpicolo
As a small point of comparison, redis on Heroku is $200/month for a gig of
memory. 1.55G (cache.t2.small) on elasticache is $24/month. For redis at
least, the difference is an order of magnitude.

~~~
falcolas
The t2.small will kick you in the pants in two spots, FWIW: compute and
bandwidth. The first probably won't matter for a redis cluster, but the second
could definitely hurt.

Amazon refuses to be pinned down on how small (it's "low to moderate"
bandwidth on their instance matrix), but you will feel the pinch with extended
usage.

[https://aws.amazon.com/ec2/instance-types/#instance-type-
mat...](https://aws.amazon.com/ec2/instance-types/#instance-type-matrix)

~~~
bpicolo
If you've only got a gig of RAM available seems unlikely you could make any
decent use of high bandwidth situations (or if you are, your cache is going to
pretty much constantly evicted).

But still, you can hop on an m4.xlarge for only 150 a month. Get 14GB of
available cache on 4 cores with high networking.

FWIW, redis is maybe an outlier here, but it's pretty stark. The prices are
just so far out of reasonable range it feels like. Their postgres pricing
seems more in line (assuming heroku's support is good, I have no experience
with such).

------
nikolay
Again and again, no CloudFormation support!

Edit: Looking into the CloudFormation templates created, there are CodeStar
resources, so, I assume, the new resource types are just not documented yet.
Not that it needs much documentation, but I will try creating a template with
those to test if it works.

Edit 2: Here are the new resource types:

    
    
      CodeStarProject:
        Description: Starting project creation
        Properties:
          ProjectDescription: AWS CodeStar created project
          ProjectId: !Ref 'ProjectId'
          ProjectName: !Ref 'AppName'
          ProjectTemplateId: arn:aws:codestar:us-east-1::project-template/webapp-nodeweb-lambda
          StackId: !Ref 'AWS::StackId'
        Type: AWS::CodeStar::Project
        Version: 1.0
    
      SeedRepo:
        DeletionPolicy: Retain
        DependsOn: [CodeCommitRepo]
        Description: Adding application source code to the AWS CodeCommit repository for the project
        Properties:
          CodeCommitRepositoryURL: !GetAtt [CodeCommitRepo, CloneUrlHttp]
          DefaultBranchName: master
          ProjectTemplateId: arn:aws:codestar:us-east-1::project-template/webapp-nodeweb-lambda
        Type: AWS::CodeStar::SeedRepository
    
      SyncInitialResources:
        DependsOn: [SeedRepo]
        Description: Adding the AWS CodeCommit repository to your AWS CodeStar project.
        Properties:
          ProjectId: !Ref 'ProjectId'
        Type: AWS::CodeStar::SyncResources
        Version: 1.0
    
      SyncResources:
        DependsOn: [SeedRepo, CodeBuildProject, ProjectPipeline, SyncInitialResources]
        Description: Adding all created resources to your AWS CodeStar project
        Properties:
          ProjectId: !Ref 'ProjectId'
        Type: AWS::CodeStar::SyncResources
        Version: 1.0

------
GordonS
At a glance, this seems very similar to functionality that has existed in
Azure for a very long time (templates in multiple languages, automated build
and deployment, monitoring). Not sure why Azure gets so little love here on
HN!

I don't mean to knock it, it's great to see this functionality make it to AWS,
I was just wondering if there were any significant differences to Azure's
offering?

~~~
kirse
Apparently Azure has been sneaking these features in over the past year or
so... I do .NET dev on a daily basis on self-hosted infrastructure and was
aware of VSTS and such, but after looking at it now I can safely say that back
in early 2016, Azure was nothing like what I'm seeing now.

Back then the Dashboard was a steaming pile of Javascript and the TFS / VSTS
split had just started. The new Portal appears to be much faster and it looks
like they have much better docs:

[https://www.visualstudio.com/en-
us/docs/build/apps/aspnet/as...](https://www.visualstudio.com/en-
us/docs/build/apps/aspnet/aspnetcore-to-azure)

(Thanks for the heads up)

------
quaunaut
From what I'm reading, this sounds quite a bit like Heroku-style functionality
for AWS. Git push is your entire process to deploying a new build, without
needing to set up a deployment pipeline, while having the usual escape hatches
for deployment that the AWS toolchain has.

Definitely a cool thing, a good way to have something that's easy to start
with, but as you need a more complex infrastructure would let you add it as
necessary without incurring the usual "learn everything at once" cost.

------
chuparkoff
Wow, this does look awesome. Btw, it doesn't look like they’re promoting this
in a huge way, but it just showed up in my feed that Atlassian is offering a
free new JIRA Software license if you sign up from within CodeStar. I've been
using Atlassian stuff since 2007 and I don't think I’ve ever seen them do this
before. I don’t think there’s a free version of JIRA? Has anyone ever seen
that before? Pretty sweet!
[https://twitter.com/JIRA/status/854805603738365953](https://twitter.com/JIRA/status/854805603738365953)

~~~
SanDimasFootbal
Alexa, can you fix these $&@#%* bugs for me now?

~~~
chuparkoff
hahaha. iseewhatyoudidthere

------
old-gregg
They keep climbing up the stack. The final step would be to provide ready-to-
go outsourced development teams. Maybe they should acquire Gigster to plug the
last gap. ;)

------
patrickg_zill
Basically more lockin to a single cloud provider.

~~~
nathan_f77
I would say it's the complete opposite of lock-in. If more cloud providers
follow suit, then one day you might be able to simply `git push` to a
different provider, then wipe away all your old infrastructure. I'm
overstating things, but 12 factor apps should be very easy to migrate,
excluding things like databases, DNS records, user roles, etc.

But I think this might already be true if you're comparing Heroku with AWS.

~~~
problems
Correct me if I'm wrong, but all the build and deployment steps are being
managed via Amazon-specific tools directly, which want you only to use Amazon-
specific services, no? That sounds like lock-in to me.

It's pretty trivial to do this kind of thing with Jenkins or Gitlab CI and
those don't have that issue. And then you can deploy however you want to any
provider.

~~~
nathan_f77
Sure, but Heroku also manages all your build and deployment steps. Migrating
away from Heroku is as easy as pushing your code somewhere else, then deleting
the app on Heroku. Ideally all of these build and deployment steps are
automated for you, because let's face it, most web applications and APIs have
very, very similar hosting requirements.

Maybe I don't really understand the concept of lock-in. I've never felt
"locked in" to anything on AWS, unless you're talking about contracts for
reserved instances.

~~~
noobiemcfoob
Lambda is a good example. You can't pick up and move a lambda solution to
another provider without significant overhead, the lock in. Architecturely,
migrating a lambda to another compute platform shouldn't be too difficult if
its structured well and functionally, but it's still work that would need to
be done.

------
kwahyaj
So this is pretty much AWS's answer to IBM Bluemix DevOps pipeline
[https://console.ng.bluemix.net/devops/getting-
started](https://console.ng.bluemix.net/devops/getting-started)

------
zifnab06
So...Spinnaker except with vendor lock in.

------
cdnsteve
Not using AWS CI, using Circle.

Not using their code hosting, use GitHub for code + Wiki.

My question is CodeStar only worth using when you need to deploy a basic
"template" app out the door? What happens when our requirements mean changing
web server config, firewall rules and all the actual things that happen that
are customizations? If you start on CodeStar are you "stuck" with it or can
you easily get off it but keep the underlying services? I know its just EC2
horsepower under the hood. The last thing I need is a service that isn't
customizable, if that's the case maybe I'd be better sticking with straight
Elastic Beanstalk?

------
morgante
I'm excited to see Amazon entering this space since I think far too much time
is spent on setting up and managing devops tools, especially for small and
medium-sized projects. [0] I've personally wasted lots of time on repetitively
setting up CI/CD, autoscaling, and other basic infrastructure for different
companies and projects. Anything Amazon can do to reclaim that time (and
encourage _more_ people to adopt best practices) is awesome.

That being said, after poking around I have a few criticisms:

1\. It doesn't seem like the example templates include Docker. At this point,
I think Docker should be considered a must-have for any new ops tool. It makes
your application much more portable and eases the learning curve for new
developers.

2\. Getting things set up and working is _still_ too complex. It took me 20
minutes to get my first project working fully (even just using their standard
tools).

3\. There doesn't seem to be any ability to bring in an existing project. It'd
be awesome if I could just provide a GitHub URL and Amazon would automatically
set up all the ops tools I need to have a production-ready deployment of that
project.

I welcome the competition though. Let humans focus on unique work while
computers automate things.

[0] In fact, I founded my startup on that premise:
[http://getgandalf.com/](http://getgandalf.com/)

------
pritambarhate
I haven't tried CodeStar yet (planning to do it on this weekend.), but from
the description it seems to have many moving parts already.

>>each project using AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS
CodeDeploy.<<

As a developer I don't need to know all of that. All I need to know is one
command to deploy my deployment package for the project. That way I am
productive quickly. Then give me the ability to configure the VM/container
size and autoscaling. Now that my app is up and running, give me something
like Azure WebJobs to run my worker tasks.

Amazon needs to have a better PaaS story than what BeanStalk is. BeanStalk is
very flexible but in return, it ends up being too complicated to set up.

Compared to Heroku and Azure App Service (which I am using in a .Net project
and was surprised to find very easy to get started with.), AWS Elastic
BeanStalk is very complicated. With Heroku and Azure App Service, the
developer friendly PaaS UX is more or less a cracked problem. AWS just needs
to copy it well.

------
SadWebDeveloper
Amazon is the leading hosting provider that continuously tries to hide the
infrastructure cost to his clients aka developers so they paid more. Be
careful of this "things" pricing should be taken seriously when considering
AWS.

------
smagch
Are there any differences between Cloud Deployment Manager which GCP offer?
[https://cloud.google.com/deployment-
manager/](https://cloud.google.com/deployment-manager/)

------
neoh
Why wouldn't Amazon use its recently acquired c9.io as the development tool
for this? Did they buy it just to drive it into the ground because activity
from the staff has dropped quite a lot.

------
siliconc0w
Nice - though a lot of these Code* products still seem fairly half baked
compared to their dedicated competitors. I kinda wish AWS would launch fewer
better products than so many mediocre ones.

------
rajathagasthya
Does this take away the need for customers to develop their own tooling to
interact with various AWS services? It's hard to understand what this is
doing.

~~~
nathan_f77
My understanding is that this is like Heroku, except there's no additional
charge, and you have full access to all of the services underneath in case you
need to customize something.

------
Walkman
I don't know how everybody feels about this but I really like to control my
whole environment from the OS to what servers I use, how I secure them, what
kernel features do I allow what packages do I install and how I protect my
services. If something goes wrong, I fix it. If something goes wrong with
CodeStart you wait for Amazon to fixit. I don't like giving up control.

~~~
ralmeida
There really needs to be a tradeoff here. Control is great, but it can't be so
black-on-white as to implying that nothing at all would convince you to give
up control all the way down to kernel features.

Plus, it's a template, not a closed solution - after it runs, you can observe
what was created and tweak to your liking. If you do so much configuration as
you're implying, you probably have some templates of your own.

------
kotojo
Would this make for a good way to get into aws/devops since it narrows the
perspective of their services?

I have no experience with devops and want to learn to manage my applications
directly (mostly use services like now or heroku currently), but looking at
learning aws always seemed intimidating with the 600 different services they
run.

~~~
AlexB138
>Would this make for a good way to get into aws/devops since it narrows the
perspective of their services?

It depends what you mean by that. In a big way, this negates the need for a
dedicated Ops engineer for small to medium deployments on AWS. If you're a
developer looks to operate your own small application, this is a great entry
point.

~~~
eropple
_> this negates the need for a dedicated Ops engineer for small to medium
deployments on AWS_

Ops people were already largely negated in small to medium deployments. This
doesn't change much about that.

 _Developers_ who can handle operations tasks are, as always, in huge demand.

------
skybrian
As someone who's happy with Google App Engine for simple apps, is this in any
way comparable?

------
neom
I'm very curious to see how abstract aws is going to end up getting, would
they build a browser (call an aws app directly-ish or something..?)? IMO There
is a paradigm shift a-brewing and it doesn't look good for most of the
clouds/vps providers.

------
jaypaulynice
I like how they make it look so simple, but then you go to do it, you'll keep
cursing at this thing...I think debugging problems might be difficult...I wish
in something like this they show a real video making this work and how long it
really takes...

------
bootload
_" AWS CodeStar is a cloud service designed to make it easier to develop,
build, and deploy applications on AWS by simplifying the setup of your entire
development project."_

So amazon moved from letting you develop from the cli to a gui-code editor.

------
hbcondo714
No .NET / C# template (yet) but the author selected to use Visual Studio as
the IDE.

~~~
bigtones
Hopefully .Net / C# is coming soon. I was really excited, but when they
announced supported languages/platforms was a little disappointed.

~~~
hbcondo714
> AWS Toolkit for Visual Studio 2015

Me too. Hopefully support for Visual Studio 2017 will come out soon as the
toolkit for it is still in preview[1]

[1] [https://aws.amazon.com/blogs/developer/preview-of-the-aws-
to...](https://aws.amazon.com/blogs/developer/preview-of-the-aws-toolkit-for-
visual-studio-2017/)

------
mcjiggerlog
Looks like they're trying to compete with Heroku. Will be interesting to see
how this develops.

Doesn't quite look like they've nailed the ease-of-use quite in the way Heroku
have yet, however.

------
randomsofr
I wish it supported Golang

------
spullara
It doesn't work for me. Their CloudFormation just fails every time I try to
deploy one of the template projects. Painful.

~~~
wiredone
Did you take a look at the CloudFormation errors? There's probably a reason
why its failing. This happened to me and it was due to me having a CodeCommit
repo the same as my project name.

~~~
spullara
Nothing obvious in the error.

------
sigden
Looks like they're still working out some kinks. Getting a nice 500 error from
the management console.

------
technologyvault
CodeStar is similar to what Nanobox does, except that Nanobox can be used to
deploy to any cloud host.

------
tommoor
Only AWS would have a screenshot of a permissions error in a new feature
launch post :D

------
triggerman722
I lost count after 40 steps...explain the "quickly develop" part again?

~~~
wiredone
It only asks you for a project name - where were the other 39 steps you speak
of?

------
startupdiscuss
Is this eventually going to compete with Cloud9, Koding, and other cloud IDEs?

~~~
kevindqc
I don't think it is a cloud IDE since it asks you to choose between Visual
Studio/Eclipse/Command-line to edit code?

It seems to just be something that makes it easier to get started with AWS. A
bit like how you can choose Azure when creating new projects in Visual Studio,
which will take care of Azure-related boilerplate

~~~
startupdiscuss
I think you're right.

------
jonahx
Could someone in the know explain how this differs from AWS Mobile Hub?

------
seanjregan
Hey Alexa- Can you fix these bugs for me now?

------
bushin
Where have all the devops gone?

~~~
lojack
DevOps is a set of practices we should all be using, not a job title.
Operations Engineer would be a better title, and they aren't ever going
anywhere. DevOps Engineer is a job title -- one that I'm not a big fan of.

------
obiefernandez
JIRA. Ugh.

------
draw_down
Would it be unkind to suggest that they could look into hiring a designer or
two?

~~~
sergiotapia
Amazon AWS has to have the worst UX out of all the devops UI's I've ever seen.

CPanel looks nicer than their UI.

~~~
newsat13
CPanel has a terrible UX. TBH, I don't understand the point of the product. I
see that it makes it easy to "edit" files without having to SSH but seriously
server administration goes away beyond editing files without understanding
syntax. I can only take comfort that most of CPanel deploys are in intranets
(or so I hope).

~~~
ohyeshedid
Don't forget that installing CPanel also basically hijacks your system. Want
to remove CPanel and manage everything properly? Just reimage and build from
scratch, otherwise you'll end up going bald from scratching your head, and
blind from hatred.

I understand the urge for some people to use a control panel, but CPanel and
it's like seem specifically designed for people that want to be webhosts
without knowing anything required to be an actual webhost. I think that's
reflected in the UI/UX.

------
cpt_snowcrash
I tried deploying a django app on EBS and node app through code star. The
whole experience was really simple. It adds a whole new level of abstraction
on deploying and maintaining apps on production level. Though similar
solutions exist in market such as pythonanywhere and heroku, but all of this
from AWS is just simply phenomenal. I 100% agree that code commit is just
amazon trying to push through one of its products. But i don't think that
really is the intent of codestar. They want to provide one opinionated
workflow for your entire development lifecycle, which works incredibly well
for teams of all size. And plus I wouldn't really worry about the lock in
situation, thats a good problem to have if you reach a stage where you need to
think about these issues and given aws's and overall amazon's stance on
pricing I personally don't worry about it at all. Had this service been
provided by microsoft I wouldnt have gone for it because of their history of
over pricing and creating artificial lock ins. I had tried configuring EBS
prior with one of my apps, but the quirks of setting it up had always left me
quite frustrated. But this is actually a game changer. I am sure aws will add
more templates for different stacks and add more options of extensions - right
now only extension is jira. Overall I see codestar evolving into the central
core of developing, maintaining and deploying web apps for companies of all
sizes.

------
brilliantcode
I think this coupled with their acquisition of c9.io is beginning to look like
a real "cloud killer app".

My vision for AWS is being able to login to AWS and see c9 with one click
deploy and configuration.

I'm patiently awaiting for this. It was one thing that really woke me up to
Azure with their wizard form directly from Visual Studio. After AWS reinvent
2016, the Azurphoria wore off and I was an AWS fanboy once more. Having the
ability to edit/deploy inside my browser would be a huge tide turning moment.

